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:

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

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:

Inherited from Metadata:

Methods

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)

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

Parameters

const llvm::Metadata* MD

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)

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

Parameters

llvm::StringRef 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

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

Templates

Ty

Parameters

unsigned int I

llvm::StringRef getStringOperand(
    unsigned int I) const

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

Parameters

unsigned int I

unsigned int getTag() const

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

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)

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()

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