LLVM
17.0.0git
|
Function and variable summary information to aid decisions and implementation of importing. More...
#include "llvm/IR/ModuleSummaryIndex.h"
Classes | |
struct | GVFlags |
Group flags (Linkage, NotEligibleToImport, etc.) as a bitfield. More... | |
Public Types | |
enum | SummaryKind : unsigned { AliasKind, FunctionKind, GlobalVarKind } |
Sububclass discriminator (for dyn_cast<> et al.) More... | |
Public Member Functions | |
virtual | ~GlobalValueSummary ()=default |
GlobalValue::GUID | getOriginalName () const |
Returns the hash of the original name, it is identical to the GUID for externally visible symbols, but not for local ones. More... | |
void | setOriginalName (GlobalValue::GUID Name) |
Initialize the original name hash in this summary. More... | |
SummaryKind | getSummaryKind () const |
Which kind of summary subclass this is. More... | |
void | setModulePath (StringRef ModPath) |
Set the path to the module containing this function, for use in the combined index. More... | |
StringRef | modulePath () const |
Get the path to the module containing this function. More... | |
GVFlags | flags () const |
Get the flags for this GlobalValue (see struct GVFlags). More... | |
GlobalValue::LinkageTypes | linkage () const |
Return linkage type recorded for this global value. More... | |
void | setLinkage (GlobalValue::LinkageTypes Linkage) |
Sets the linkage to the value determined by global summary-based optimization. More... | |
bool | notEligibleToImport () const |
Return true if this global value can't be imported. More... | |
bool | isLive () const |
void | setLive (bool Live) |
void | setDSOLocal (bool Local) |
bool | isDSOLocal () const |
void | setCanAutoHide (bool CanAutoHide) |
bool | canAutoHide () const |
GlobalValue::VisibilityTypes | getVisibility () const |
void | setVisibility (GlobalValue::VisibilityTypes Vis) |
void | setNotEligibleToImport () |
Flag that this global value cannot be imported. More... | |
ArrayRef< ValueInfo > | refs () const |
Return the list of values referenced by this global value definition. More... | |
GlobalValueSummary * | getBaseObject () |
If this is an alias summary, returns the summary of the aliased object (a global variable or function), otherwise returns itself. More... | |
const GlobalValueSummary * | getBaseObject () const |
Protected Member Functions | |
GlobalValueSummary (SummaryKind K, GVFlags Flags, std::vector< ValueInfo > Refs) | |
Friends | |
class | ModuleSummaryIndex |
Function and variable summary information to aid decisions and implementation of importing.
Definition at line 364 of file ModuleSummaryIndex.h.
enum llvm::GlobalValueSummary::SummaryKind : unsigned |
Sububclass discriminator (for dyn_cast<> et al.)
Enumerator | |
---|---|
AliasKind | |
FunctionKind | |
GlobalVarKind |
Definition at line 367 of file ModuleSummaryIndex.h.
|
inlineprotected |
Definition at line 446 of file ModuleSummaryIndex.h.
|
virtualdefault |
|
inline |
Definition at line 499 of file ModuleSummaryIndex.h.
|
inline |
Get the flags for this GlobalValue (see struct
GVFlags).
Definition at line 473 of file ModuleSummaryIndex.h.
|
inline |
If this is an alias summary, returns the summary of the aliased object (a global variable or function), otherwise returns itself.
Definition at line 573 of file ModuleSummaryIndex.h.
Referenced by isWeakObjectWithRWAccess().
const GlobalValueSummary* llvm::GlobalValueSummary::getBaseObject | ( | ) | const |
|
inline |
Returns the hash of the original name, it is identical to the GUID for externally visible symbols, but not for local ones.
Definition at line 457 of file ModuleSummaryIndex.h.
|
inline |
Which kind of summary subclass this is.
Definition at line 463 of file ModuleSummaryIndex.h.
Referenced by llvm::AliasSummary::classof(), llvm::FunctionSummary::classof(), and llvm::GlobalVarSummary::classof().
|
inline |
Definition at line 501 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 495 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 489 of file ModuleSummaryIndex.h.
Referenced by llvm::ModuleSummaryIndex::isGlobalValueLive().
|
inline |
Return linkage type recorded for this global value.
Definition at line 476 of file ModuleSummaryIndex.h.
Referenced by getNodeLabel().
|
inline |
Get the path to the module containing this function.
Definition at line 470 of file ModuleSummaryIndex.h.
Referenced by computeImportForFunction().
|
inline |
Return true if this global value can't be imported.
Definition at line 487 of file ModuleSummaryIndex.h.
Return the list of values referenced by this global value definition.
Definition at line 512 of file ModuleSummaryIndex.h.
Referenced by llvm::FunctionSummary::specialRefCounts().
|
inline |
Definition at line 497 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 493 of file ModuleSummaryIndex.h.
|
inline |
Sets the linkage to the value determined by global summary-based optimization.
Will be applied in the ThinLTO backends.
Definition at line 482 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 491 of file ModuleSummaryIndex.h.
|
inline |
Set the path to the module containing this function, for use in the combined index.
Definition at line 467 of file ModuleSummaryIndex.h.
|
inline |
Flag that this global value cannot be imported.
Definition at line 509 of file ModuleSummaryIndex.h.
|
inline |
Initialize the original name hash in this summary.
Definition at line 460 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 504 of file ModuleSummaryIndex.h.
|
friend |
Definition at line 519 of file ModuleSummaryIndex.h.