LLVM
8.0.1
|
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 | 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 252 of file ModuleSummaryIndex.h.
Sububclass discriminator (for dyn_cast<> et al.)
Enumerator | |
---|---|
AliasKind | |
FunctionKind | |
GlobalVarKind |
Definition at line 255 of file ModuleSummaryIndex.h.
|
inlineprotected |
Definition at line 317 of file ModuleSummaryIndex.h.
References assert().
|
virtualdefault |
|
inline |
Get the flags for this GlobalValue (see struct
GVFlags).
Definition at line 344 of file ModuleSummaryIndex.h.
Referenced by getLinkageNameWithSpace(), and writeTypeIdSummaryRecord().
|
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 426 of file ModuleSummaryIndex.h.
Referenced by llvm::canImportGlobalVar().
|
inline |
Definition at line 420 of file ModuleSummaryIndex.h.
|
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 328 of file ModuleSummaryIndex.h.
|
inline |
Which kind of summary subclass this is.
Definition at line 334 of file ModuleSummaryIndex.h.
References Kind.
Referenced by llvm::AliasSummary::classof(), llvm::FunctionSummary::classof(), llvm::GlobalVarSummary::classof(), and getLinkageNameWithSpace().
|
inline |
Definition at line 366 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::DSOLocal.
|
inline |
Definition at line 360 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::Live.
Referenced by llvm::ModuleSummaryIndex::isGlobalValueLive().
|
inline |
Return linkage type recorded for this global value.
Definition at line 347 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::Linkage.
Referenced by llvm::canImportGlobalVar(), and getNodeLabel().
|
inline |
Get the path to the module containing this function.
Definition at line 341 of file ModuleSummaryIndex.h.
Referenced by computeImportForFunction(), computeImportForReferencedGlobals(), llvm::FunctionImportGlobalProcessing::doImportAsDefinition(), and getLinkageNameWithSpace().
|
inline |
Return true if this global value can't be imported.
Definition at line 358 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::NotEligibleToImport.
Referenced by llvm::canImportGlobalVar().
Return the list of values referenced by this global value definition.
Definition at line 372 of file ModuleSummaryIndex.h.
Referenced by llvm::canImportGlobalVar(), llvm::computeDeadSymbols(), computeImportForFunction(), computeImportForReferencedGlobals(), getLinkageNameWithSpace(), propagateConstantsToRefs(), and writeTypeIdSummaryRecord().
|
inline |
Definition at line 364 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::DSOLocal.
|
inline |
Sets the linkage to the value determined by global summary-based optimization.
Will be applied in the ThinLTO backends.
Definition at line 353 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::Linkage.
|
inline |
Definition at line 362 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::Live.
Referenced by llvm::computeDeadSymbols().
|
inline |
Set the path to the module containing this function, for use in the combined index.
Definition at line 338 of file ModuleSummaryIndex.h.
Referenced by setImmutableRefs().
|
inline |
Flag that this global value cannot be imported.
Definition at line 369 of file ModuleSummaryIndex.h.
References llvm::GlobalValueSummary::GVFlags::NotEligibleToImport.
|
inline |
Initialize the original name hash in this summary.
Definition at line 331 of file ModuleSummaryIndex.h.
References Name.
Referenced by setImmutableRefs().
|
friend |
Definition at line 379 of file ModuleSummaryIndex.h.