LLVM: llvm::FunctionSummary Class Reference (original) (raw)
Function summary information to aid decisions and implementation of importing. More...
#include "[llvm/IR/ModuleSummaryIndex.h](ModuleSummaryIndex%5F8h%5Fsource.html)"
| Public Member Functions |
|
|
FunctionSummary (GVFlags Flags, unsigned NumInsts, FFlags FunFlags, SmallVectorImpl< ValueInfo > &&Refs, SmallVectorImpl< EdgeTy > &&CGEdges, std::vector< GlobalValue::GUID > TypeTests, std::vector< VFuncId > TypeTestAssumeVCalls, std::vector< VFuncId > TypeCheckedLoadVCalls, std::vector< ConstVCall > TypeTestAssumeConstVCalls, std::vector< ConstVCall > TypeCheckedLoadConstVCalls, std::vector< ParamAccess > Params, CallsitesTy CallsiteList, AllocsTy AllocList) |
| LLVM_ABI std::pair< unsigned, unsigned > |
specialRefCounts () const |
| FFlags |
fflags () const |
|
Get function summary flags. |
| void |
setNoRecurse () |
| void |
setNoUnwind () |
| unsigned |
instCount () const |
|
Get the instruction count recorded for this function. |
| ArrayRef< EdgeTy > |
calls () const |
|
Return the list of <CalleeValueInfo, CalleeInfo> pairs. |
| SmallVector< EdgeTy, 0 > & |
mutableCalls () |
| void |
addCall (EdgeTy E) |
| ArrayRef< GlobalValue::GUID > |
type_tests () const |
|
Returns the list of type identifiers used by this function in llvm.type.test intrinsics other than by an llvm.assume intrinsic, represented as GUIDs. |
| ArrayRef< VFuncId > |
type_test_assume_vcalls () const |
|
Returns the list of virtual calls made by this function using llvm.assume(llvm.type.test) intrinsics that do not have all constant integer arguments. |
| ArrayRef< VFuncId > |
type_checked_load_vcalls () const |
|
Returns the list of virtual calls made by this function using llvm.type.checked.load intrinsics that do not have all constant integer arguments. |
| ArrayRef< ConstVCall > |
type_test_assume_const_vcalls () const |
|
Returns the list of virtual calls made by this function using llvm.assume(llvm.type.test) intrinsics with all constant integer arguments. |
| ArrayRef< ConstVCall > |
type_checked_load_const_vcalls () const |
|
Returns the list of virtual calls made by this function using llvm.type.checked.load intrinsics with all constant integer arguments. |
| ArrayRef< ParamAccess > |
paramAccesses () const |
|
Returns the list of known uses of pointer parameters. |
| void |
setParamAccesses (std::vector< ParamAccess > NewParams) |
|
Sets the list of known uses of pointer parameters. |
| void |
addTypeTest (GlobalValue::GUID Guid) |
|
Add a type test to the summary. |
| const TypeIdInfo * |
getTypeIdInfo () const |
| ArrayRef< CallsiteInfo > |
callsites () const |
| CallsitesTy & |
mutableCallsites () |
| void |
addCallsite (CallsiteInfo &Callsite) |
| ArrayRef< AllocInfo > |
allocs () const |
| AllocsTy & |
mutableAllocs () |
| Public Member Functions inherited from llvm::GlobalValueSummary |
|
| 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. |
| void |
setOriginalName (GlobalValue::GUID Name) |
|
Initialize the original name hash in this summary. |
| SummaryKind |
getSummaryKind () const |
|
Which kind of summary subclass this is. |
| void |
setModulePath (StringRef ModPath) |
|
Set the path to the module containing this function, for use in the combined index. |
| StringRef |
modulePath () const |
|
Get the path to the module containing this function. |
| GVFlags |
flags () const |
|
Get the flags for this GlobalValue (see struct GVFlags). |
| GlobalValue::LinkageTypes |
linkage () const |
|
Return linkage type recorded for this global value. |
| void |
setLinkage (GlobalValue::LinkageTypes Linkage) |
|
Sets the linkage to the value determined by global summary-based optimization. |
| bool |
notEligibleToImport () const |
|
Return true if this global value can't be imported. |
| bool |
isLive () const |
| void |
setLive (bool Live) |
| void |
setDSOLocal (bool Local) |
| bool |
isDSOLocal () const |
| void |
setCanAutoHide (bool CanAutoHide) |
| bool |
canAutoHide () const |
| bool |
shouldImportAsDecl () const |
| void |
setImportKind (ImportKind IK) |
| GlobalValueSummary::ImportKind |
importType () const |
| GlobalValue::VisibilityTypes |
getVisibility () const |
| void |
setVisibility (GlobalValue::VisibilityTypes Vis) |
| void |
setNotEligibleToImport () |
|
Flag that this global value cannot be imported. |
| ArrayRef< ValueInfo > |
refs () const |
|
Return the list of values referenced by this global value definition. |
| GlobalValueSummary * |
getBaseObject () |
|
If this is an alias summary, returns the summary of the aliased object (a global variable or function), otherwise returns itself. |
| const GlobalValueSummary * |
getBaseObject () const |
Function summary information to aid decisions and implementation of importing.
Definition at line 758 of file ModuleSummaryIndex.h.
◆ EdgeTy
◆ ForceSummaryHotnessType
Types for -force-summary-edges-cold debugging option.
| Enumerator |
| FSHT_None |
| FSHT_AllNonCritical |
| FSHT_All |
Definition at line 764 of file ModuleSummaryIndex.h.
| llvm::FunctionSummary::FunctionSummary ( GVFlags Flags, unsigned NumInsts, FFlags FunFlags, SmallVectorImpl< ValueInfo > && Refs, SmallVectorImpl< EdgeTy > && CGEdges, std::vector< GlobalValue::GUID > TypeTests, std::vector< VFuncId > TypeTestAssumeVCalls, std::vector< VFuncId > TypeCheckedLoadVCalls, std::vector< ConstVCall > TypeTestAssumeConstVCalls, std::vector< ConstVCall > TypeCheckedLoadConstVCalls, std::vector< ParamAccess > Params, CallsitesTy CallsiteList, AllocsTy AllocList ) |
inline |
◆ addCall()
| void llvm::FunctionSummary::addCall ( EdgeTy E) |
inline |
◆ addCallsite()
| void llvm::FunctionSummary::addCallsite ( CallsiteInfo & Callsite) |
inline |
◆ addTypeTest()
Add a type test to the summary.
This is used by WholeProgramDevirt if we were unable to devirtualize a checked call.
Definition at line 1088 of file ModuleSummaryIndex.h.
References llvm::Guid.
◆ allocs()
◆ calls()
◆ callsites()
◆ classof()
◆ fflags()
| FFlags llvm::FunctionSummary::fflags ( ) const |
inline |
◆ getTypeIdInfo()
◆ instCount()
| unsigned llvm::FunctionSummary::instCount ( ) const |
inline |
◆ makeDummyFunctionSummary()
◆ mutableAllocs()
| AllocsTy & llvm::FunctionSummary::mutableAllocs ( ) |
inline |
◆ mutableCalls()
◆ mutableCallsites()
| CallsitesTy & llvm::FunctionSummary::mutableCallsites ( ) |
inline |
◆ paramAccesses()
◆ setNoRecurse()
| void llvm::FunctionSummary::setNoRecurse ( ) |
inline |
◆ setNoUnwind()
| void llvm::FunctionSummary::setNoUnwind ( ) |
inline |
◆ setParamAccesses()
| void llvm::FunctionSummary::setParamAccesses ( std::vector< ParamAccess > NewParams) |
inline |
◆ specialRefCounts()
◆ type_checked_load_const_vcalls()
| ArrayRef< ConstVCall > llvm::FunctionSummary::type_checked_load_const_vcalls ( ) const |
inline |
Returns the list of virtual calls made by this function using llvm.type.checked.load intrinsics with all constant integer arguments.
Definition at line 1063 of file ModuleSummaryIndex.h.
◆ type_checked_load_vcalls()
| ArrayRef< VFuncId > llvm::FunctionSummary::type_checked_load_vcalls ( ) const |
inline |
Returns the list of virtual calls made by this function using llvm.type.checked.load intrinsics that do not have all constant integer arguments.
Definition at line 1046 of file ModuleSummaryIndex.h.
◆ type_test_assume_const_vcalls()
| ArrayRef< ConstVCall > llvm::FunctionSummary::type_test_assume_const_vcalls ( ) const |
inline |
Returns the list of virtual calls made by this function using llvm.assume(llvm.type.test) intrinsics with all constant integer arguments.
Definition at line 1055 of file ModuleSummaryIndex.h.
◆ type_test_assume_vcalls()
| ArrayRef< VFuncId > llvm::FunctionSummary::type_test_assume_vcalls ( ) const |
inline |
Returns the list of virtual calls made by this function using llvm.assume(llvm.type.test) intrinsics that do not have all constant integer arguments.
Definition at line 1037 of file ModuleSummaryIndex.h.
◆ type_tests()
Returns the list of type identifiers used by this function in llvm.type.test intrinsics other than by an llvm.assume intrinsic, represented as GUIDs.
Definition at line 1028 of file ModuleSummaryIndex.h.
◆ GraphTraits< ValueInfo >
◆ ExternalNode
The documentation for this class was generated from the following files: