class DINode
Declaration
class DINode : public MDNode { /* full declaration omitted */ };
Description
Tagged DWARF-like metadata node. A metadata node with a DWARF tag (i.e., a constant named \c DW_TAG_*, defined in llvm/BinaryFormat/Dwarf.h). Called \a DINode because it's potentially used for non-DWARF output.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:118
Inherits from: MDNode
Member Variables
Inherited from Metadata:
Method Overview
- protected DINode(llvm::LLVMContext & C, unsigned int ID, llvm::Metadata::StorageType Storage, unsigned int Tag, ArrayRef<llvm::Metadata *> Ops1, ArrayRef<llvm::Metadata *> Ops2 = None)
- public static bool classof(const llvm::Metadata * MD)
- protected static llvm::MDString * getCanonicalMDString(llvm::LLVMContext & Context, llvm::StringRef S)
- public static llvm::DINode::DIFlags getFlag(llvm::StringRef Flag)
- public static llvm::StringRef getFlagString(llvm::DINode::DIFlags Flag)
- protected template <class Ty>Ty * getOperandAs(unsigned int I) const
- protected llvm::StringRef getStringOperand(unsigned int I) const
- public unsigned int getTag() const
- protected void setTag(unsigned int Tag)
- public static llvm::DINode::DIFlags splitFlags(llvm::DINode::DIFlags Flags, SmallVectorImpl<llvm::DINode::DIFlags> & SplitFlags)
- protected ~DINode()
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
¶DINode(llvm::LLVMContext& C,
unsigned int ID,
llvm::Metadata::StorageType Storage,
unsigned int Tag,
ArrayRef<llvm::Metadata*> Ops1,
ArrayRef<llvm::Metadata*> Ops2 = None)
DINode(llvm::LLVMContext& C,
unsigned int ID,
llvm::Metadata::StorageType Storage,
unsigned int Tag,
ArrayRef<llvm::Metadata*> Ops1,
ArrayRef<llvm::Metadata*> Ops2 = None)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:123
Parameters
- llvm::LLVMContext& C
- unsigned int ID
- llvm::Metadata::StorageType Storage
- unsigned int Tag
- ArrayRef<llvm::Metadata*> Ops1
- ArrayRef<llvm::Metadata*> Ops2 = None
¶static bool classof(const llvm::Metadata* MD)
static bool classof(const llvm::Metadata* MD)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:177
Parameters
- const llvm::Metadata* MD
¶static llvm::MDString* getCanonicalMDString(
llvm::LLVMContext& Context,
llvm::StringRef S)
static llvm::MDString* getCanonicalMDString(
llvm::LLVMContext& Context,
llvm::StringRef S)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:141
Parameters
- llvm::LLVMContext& Context
- llvm::StringRef S
¶static llvm::DINode::DIFlags getFlag(
llvm::StringRef Flag)
static llvm::DINode::DIFlags getFlag(
llvm::StringRef Flag)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:167
Parameters
- llvm::StringRef Flag
¶static llvm::StringRef getFlagString(
llvm::DINode::DIFlags Flag)
static llvm::StringRef getFlagString(
llvm::DINode::DIFlags Flag)
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:168
Parameters
- llvm::DINode::DIFlags Flag
¶template <class Ty>
Ty* getOperandAs(unsigned int I) const
template <class Ty>
Ty* getOperandAs(unsigned int I) const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:131
Templates
- Ty
Parameters
- unsigned int I
¶llvm::StringRef getStringOperand(
unsigned int I) const
llvm::StringRef getStringOperand(
unsigned int I) const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:135
Parameters
- unsigned int I
¶unsigned int getTag() const
unsigned int getTag() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:151
¶void setTag(unsigned int Tag)
void setTag(unsigned int Tag)
Description
Allow subclasses to mutate the tag.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:148
Parameters
- unsigned int Tag
¶static llvm::DINode::DIFlags splitFlags(
llvm::DINode::DIFlags Flags,
SmallVectorImpl<llvm::DINode::DIFlags>&
SplitFlags)
static llvm::DINode::DIFlags splitFlags(
llvm::DINode::DIFlags Flags,
SmallVectorImpl<llvm::DINode::DIFlags>&
SplitFlags)
Description
Split up a flags bitfield. Split \c Flags into \c SplitFlags, a vector of its components. Returns any remaining (unrecognized) bits.
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:174
Parameters
- llvm::DINode::DIFlags Flags
- SmallVectorImpl<llvm::DINode::DIFlags>& SplitFlags
¶~DINode()
~DINode()
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:129