class DISubprogram
Declaration
class DISubprogram : public DILocalScope { /* full declaration omitted */ };
Description
Subprogram description.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1593
Inherits from: DILocalScope
Member Variables
Inherited from Metadata:
Method Overview
- public bool areAllCallsDescribed() const
- public static bool classof(const llvm::Metadata * MD)
- public llvm::TempDISubprogram clone() const
- public llvm::TempDISubprogram cloneWithFlags(llvm::DINode::DIFlags NewFlags) const
- public bool describes(const llvm::Function * F) const
- public llvm::DIType * getContainingType() const
- public llvm::DISubprogram * getDeclaration() const
- public static llvm::DISubprogram::DISPFlags getFlag(llvm::StringRef Flag)
- public static llvm::StringRef getFlagString(llvm::DISubprogram::DISPFlags Flag)
- public llvm::DINode::DIFlags getFlags() const
- public unsigned int getLine() const
- public llvm::StringRef getLinkageName() const
- public llvm::StringRef getName() const
- public llvm::Metadata * getRawContainingType() const
- public llvm::Metadata * getRawDeclaration() const
- public llvm::MDString * getRawLinkageName() const
- public llvm::MDString * getRawName() const
- public llvm::Metadata * getRawRetainedNodes() const
- public llvm::Metadata * getRawScope() const
- public llvm::Metadata * getRawTemplateParams() const
- public llvm::Metadata * getRawThrownTypes() const
- public llvm::Metadata * getRawType() const
- public llvm::Metadata * getRawUnit() const
- public llvm::DINodeArray getRetainedNodes() const
- public llvm::DISubprogram::DISPFlags getSPFlags() const
- public llvm::DIScope * getScope() const
- public unsigned int getScopeLine() const
- public llvm::DITemplateParameterArray getTemplateParams() const
- public int getThisAdjustment() const
- public llvm::DITypeArray getThrownTypes() const
- public llvm::DISubroutineType * getType() const
- public llvm::DICompileUnit * getUnit() const
- public unsigned int getVirtualIndex() const
- public unsigned int getVirtuality() const
- public bool isArtificial() const
- public bool isDefinition() const
- public bool isDeleted() const
- public bool isElemental() const
- public bool isExplicit() const
- public bool isLValueReference() const
- public bool isLocalToUnit() const
- public bool isMainSubprogram() const
- public bool isNoReturn() const
- public bool isObjCDirect() const
- public bool isOptimized() const
- public bool isPrivate() const
- public bool isProtected() const
- public bool isPrototyped() const
- public bool isPublic() const
- public bool isPure() const
- public bool isRValueReference() const
- public bool isRecursive() const
- public bool isThunk() const
- public void replaceUnit(llvm::DICompileUnit * CU)
- public static llvm::DISubprogram::DISPFlags splitFlags(llvm::DISubprogram::DISPFlags Flags, SmallVectorImpl<llvm::DISubprogram::DISPFlags> & SplitFlags)
- public static llvm::DISubprogram::DISPFlags toSPFlags(bool IsLocalToUnit, bool IsDefinition, bool IsOptimized, unsigned int Virtuality = SPFlagNonvirtual, bool IsMainSubprogram = false)
Inherited from DILocalScope:
Inherited from DIScope:
- public classof
- public getDirectory
- public getFile
- public getFilename
- public getName
- public getRawFile
- public getScope
- public getSource
Inherited from DINode:
- public classof
- protected getCanonicalMDString
- public getFlag
- public getFlagString
- protected getOperandAs
- protected getStringOperand
- public getTag
- protected setTag
- public splitFlags
Inherited from MDNode:
- public classof
- public clone
- public concatenate
- public deleteTemporary
- protected dropAllReferences
- public get
- public getContext
- public getDistinct
- public getIfExists
- public getMostGenericAliasScope
- public getMostGenericAlignmentOrDereferenceable
- public getMostGenericFPMath
- public getMostGenericRange
- public getMostGenericTBAA
- public getNumOperands
- public getOperand
- public getTemporary
- public intersect
- public isDistinct
- public isResolved
- public isTBAAVtableAccess
- public isTemporary
- public isUniqued
- protected mutable_begin
- protected mutable_end
- public mutable_operands
- public op_begin
- public op_end
- public operands
- public replaceAllUsesWith
- public replaceOperandWith
- public replaceWithDistinct
- public replaceWithPermanent
- public replaceWithUniqued
- public resolve
- public resolveCycles
- protected setOperand
- protected storeDistinctInContext
- protected storeImpl
- protected storeImpl
Inherited from Metadata:
- public dump
- public dump
- public getMetadataID
- protected handleChangedOperand
- public print
- public print
- public printAsOperand
- public printAsOperand
Methods
¶bool areAllCallsDescribed() const
bool areAllCallsDescribed() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1755
¶static bool classof(const llvm::Metadata* MD)
static bool classof(const llvm::Metadata* MD)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1842
Parameters
- const llvm::Metadata* MD
¶llvm::TempDISubprogram clone() const
llvm::TempDISubprogram clone() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1721
¶llvm::TempDISubprogram cloneWithFlags(
llvm::DINode::DIFlags NewFlags) const
llvm::TempDISubprogram cloneWithFlags(
llvm::DINode::DIFlags NewFlags) const
Description
Returns a new temporary DISubprogram with updated Flags
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1724
Parameters
- llvm::DINode::DIFlags NewFlags
¶bool describes(const llvm::Function* F) const
bool describes(const llvm::Function* F) const
Description
Check if this subprogram describes the given function. FIXME: Should this be looking through bitcasts?
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1840
Parameters
- const llvm::Function* F
¶llvm::DIType* getContainingType() const
llvm::DIType* getContainingType() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1799
¶llvm::DISubprogram* getDeclaration() const
llvm::DISubprogram* getDeclaration() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1810
¶static llvm::DISubprogram::DISPFlags getFlag(
llvm::StringRef Flag)
static llvm::DISubprogram::DISPFlags getFlag(
llvm::StringRef Flag)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1617
Parameters
- llvm::StringRef Flag
¶static llvm::StringRef getFlagString(
llvm::DISubprogram::DISPFlags Flag)
static llvm::StringRef getFlagString(
llvm::DISubprogram::DISPFlags Flag)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1618
Parameters
- llvm::DISubprogram::DISPFlags Flag
¶llvm::DINode::DIFlags getFlags() const
llvm::DINode::DIFlags getFlags() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1736
¶unsigned int getLine() const
unsigned int getLine() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1731
¶llvm::StringRef getLinkageName() const
llvm::StringRef getLinkageName() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1794
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1793
¶llvm::Metadata* getRawContainingType() const
llvm::Metadata* getRawContainingType() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1827
¶llvm::Metadata* getRawDeclaration() const
llvm::Metadata* getRawDeclaration() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1825
¶llvm::MDString* getRawLinkageName() const
llvm::MDString* getRawLinkageName() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1822
¶llvm::MDString* getRawName() const
llvm::MDString* getRawName() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1821
¶llvm::Metadata* getRawRetainedNodes() const
llvm::Metadata* getRawRetainedNodes() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1826
¶llvm::Metadata* getRawScope() const
llvm::Metadata* getRawScope() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1820
¶llvm::Metadata* getRawTemplateParams() const
llvm::Metadata* getRawTemplateParams() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1830
¶llvm::Metadata* getRawThrownTypes() const
llvm::Metadata* getRawThrownTypes() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1833
¶llvm::Metadata* getRawType() const
llvm::Metadata* getRawType() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1823
¶llvm::Metadata* getRawUnit() const
llvm::Metadata* getRawUnit() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1824
¶llvm::DINodeArray getRetainedNodes() const
llvm::DINodeArray getRetainedNodes() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1813
¶llvm::DISubprogram::DISPFlags getSPFlags() const
llvm::DISubprogram::DISPFlags getSPFlags() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1737
¶llvm::DIScope* getScope() const
llvm::DIScope* getScope() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1791
¶unsigned int getScopeLine() const
unsigned int getScopeLine() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1735
¶llvm::DITemplateParameterArray getTemplateParams()
const
llvm::DITemplateParameterArray getTemplateParams()
const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1807
¶int getThisAdjustment() const
int getThisAdjustment() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1734
¶llvm::DITypeArray getThrownTypes() const
llvm::DITypeArray getThrownTypes() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1816
¶llvm::DISubroutineType* getType() const
llvm::DISubroutineType* getType() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1796
¶llvm::DICompileUnit* getUnit() const
llvm::DICompileUnit* getUnit() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1803
¶unsigned int getVirtualIndex() const
unsigned int getVirtualIndex() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1733
¶unsigned int getVirtuality() const
unsigned int getVirtuality() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1732
¶bool isArtificial() const
bool isArtificial() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1743
¶bool isDefinition() const
bool isDefinition() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1739
¶bool isDeleted() const
bool isDeleted() const
Description
Check if this is deleted member function. Return true if this subprogram is a C++11 special member function declared deleted.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1767
¶bool isElemental() const
bool isElemental() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1759
¶bool isExplicit() const
bool isExplicit() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1753
¶bool isLValueReference() const
bool isLValueReference() const
Description
Check if this is reference-qualified. Return true if this subprogram is a C++11 reference-qualified non-static member function (void foo() & ).
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1773
¶bool isLocalToUnit() const
bool isLocalToUnit() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1738
¶bool isMainSubprogram() const
bool isMainSubprogram() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1741
¶bool isNoReturn() const
bool isNoReturn() const
Description
Check if this is marked as noreturn. Return true if this subprogram is C++11 noreturn or C11 _Noreturn
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1784
¶bool isObjCDirect() const
bool isObjCDirect() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1761
¶bool isOptimized() const
bool isOptimized() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1740
¶bool isPrivate() const
bool isPrivate() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1744
¶bool isProtected() const
bool isProtected() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1747
¶bool isPrototyped() const
bool isPrototyped() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1754
¶bool isPublic() const
bool isPublic() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1750
¶bool isPure() const
bool isPure() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1758
¶bool isRValueReference() const
bool isRValueReference() const
Description
Check if this is rvalue-reference-qualified. Return true if this subprogram is a C++11 rvalue-reference-qualified non-static member function (void foo() & & ).
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1779
¶bool isRecursive() const
bool isRecursive() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1760
¶bool isThunk() const
bool isThunk() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1789
¶void replaceUnit(llvm::DICompileUnit* CU)
void replaceUnit(llvm::DICompileUnit* CU)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1806
Parameters
¶static llvm::DISubprogram::DISPFlags splitFlags(
llvm::DISubprogram::DISPFlags Flags,
SmallVectorImpl<
llvm::DISubprogram::DISPFlags>&
SplitFlags)
static llvm::DISubprogram::DISPFlags splitFlags(
llvm::DISubprogram::DISPFlags Flags,
SmallVectorImpl<
llvm::DISubprogram::DISPFlags>&
SplitFlags)
Description
Split up a flags bitfield for easier printing. Split \c Flags into \c SplitFlags, a vector of its components. Returns any remaining (unrecognized) bits.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1624
Parameters
- llvm::DISubprogram::DISPFlags Flags
- SmallVectorImpl<llvm::DISubprogram::DISPFlags>& SplitFlags
¶static llvm::DISubprogram::DISPFlags toSPFlags(
bool IsLocalToUnit,
bool IsDefinition,
bool IsOptimized,
unsigned int Virtuality = SPFlagNonvirtual,
bool IsMainSubprogram = false)
static llvm::DISubprogram::DISPFlags toSPFlags(
bool IsLocalToUnit,
bool IsDefinition,
bool IsOptimized,
unsigned int Virtuality = SPFlagNonvirtual,
bool IsMainSubprogram = false)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1628
Parameters
- bool IsLocalToUnit
- bool IsDefinition
- bool IsOptimized
- unsigned int Virtuality = SPFlagNonvirtual
- bool IsMainSubprogram = false