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:

protected Storage
protected ImplicitCode
protected SubclassData16 = 0
protected SubclassData32 = 0

Method Overview

Inherited from DILocalScope:

Inherited from DIScope:

Inherited from DINode:

Inherited from MDNode:

Inherited from Metadata:

Methods

bool areAllCallsDescribed() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1755

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1721

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

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1799

llvm::DISubprogram* getDeclaration() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1810

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)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1618

Parameters

llvm::DISubprogram::DISPFlags Flag

llvm::DINode::DIFlags getFlags() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1736

unsigned int getLine() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1731

llvm::StringRef getLinkageName() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1794

llvm::StringRef getName() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1793

llvm::Metadata* getRawContainingType() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1827

llvm::Metadata* getRawDeclaration() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1825

llvm::MDString* getRawLinkageName() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1822

llvm::MDString* getRawName() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1821

llvm::Metadata* getRawRetainedNodes() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1826

llvm::Metadata* getRawScope() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1820

llvm::Metadata* getRawTemplateParams() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1830

llvm::Metadata* getRawThrownTypes() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1833

llvm::Metadata* getRawType() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1823

llvm::Metadata* getRawUnit() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1824

llvm::DINodeArray getRetainedNodes() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1813

llvm::DISubprogram::DISPFlags getSPFlags() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1737

llvm::DIScope* getScope() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1791

unsigned int getScopeLine() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1735

llvm::DITemplateParameterArray getTemplateParams()
    const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1807

int getThisAdjustment() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1734

llvm::DITypeArray getThrownTypes() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1816

llvm::DISubroutineType* getType() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1796

llvm::DICompileUnit* getUnit() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1803

unsigned int getVirtualIndex() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1733

unsigned int getVirtuality() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1732

bool isArtificial() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1743

bool isDefinition() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1739

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1759

bool isExplicit() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1753

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1738

bool isMainSubprogram() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1741

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1761

bool isOptimized() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1740

bool isPrivate() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1744

bool isProtected() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1747

bool isPrototyped() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1754

bool isPublic() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1750

bool isPure() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1758

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

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1760

bool isThunk() const

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1789

void replaceUnit(llvm::DICompileUnit* CU)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1806

Parameters

llvm::DICompileUnit* CU

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)

Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1628

Parameters

bool IsLocalToUnit
bool IsDefinition
bool IsOptimized
unsigned int Virtuality = SPFlagNonvirtual
bool IsMainSubprogram = false