LLVM
15.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 289 of file ModuleSummaryIndex.h.
enum llvm::GlobalValueSummary::SummaryKind : unsigned |
Sububclass discriminator (for dyn_cast<> et al.)
Enumerator | |
---|---|
AliasKind | |
FunctionKind | |
GlobalVarKind |
Definition at line 292 of file ModuleSummaryIndex.h.
|
inlineprotected |
Definition at line 371 of file ModuleSummaryIndex.h.
|
virtualdefault |
|
inline |
Definition at line 424 of file ModuleSummaryIndex.h.
|
inline |
Get the flags for this GlobalValue (see struct
GVFlags).
Definition at line 398 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 498 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 382 of file ModuleSummaryIndex.h.
|
inline |
Which kind of summary subclass this is.
Definition at line 388 of file ModuleSummaryIndex.h.
Referenced by llvm::AliasSummary::classof(), llvm::FunctionSummary::classof(), and llvm::GlobalVarSummary::classof().
|
inline |
Definition at line 426 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 420 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 414 of file ModuleSummaryIndex.h.
Referenced by llvm::ModuleSummaryIndex::isGlobalValueLive().
|
inline |
Return linkage type recorded for this global value.
Definition at line 401 of file ModuleSummaryIndex.h.
Referenced by getNodeLabel().
|
inline |
Get the path to the module containing this function.
Definition at line 395 of file ModuleSummaryIndex.h.
Referenced by computeImportForFunction(), and computeImportForReferencedGlobals().
|
inline |
Return true if this global value can't be imported.
Definition at line 412 of file ModuleSummaryIndex.h.
Return the list of values referenced by this global value definition.
Definition at line 437 of file ModuleSummaryIndex.h.
Referenced by computeImportForReferencedGlobals(), and llvm::FunctionSummary::specialRefCounts().
|
inline |
Definition at line 422 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 418 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 407 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 416 of file ModuleSummaryIndex.h.
|
inline |
Set the path to the module containing this function, for use in the combined index.
Definition at line 392 of file ModuleSummaryIndex.h.
|
inline |
Flag that this global value cannot be imported.
Definition at line 434 of file ModuleSummaryIndex.h.
|
inline |
Initialize the original name hash in this summary.
Definition at line 385 of file ModuleSummaryIndex.h.
|
inline |
Definition at line 429 of file ModuleSummaryIndex.h.
|
friend |
Definition at line 444 of file ModuleSummaryIndex.h.