class DIDerivedType

Declaration

class DIDerivedType : public DIType { /* full declaration omitted */ };

Description

Derived types. This includes qualified types, pointers, references, friends, typedefs, and class members. TODO: Split out members (inheritance, fields, methods, etc.).

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

Inherits from: DIType

Member Variables

private Optional<unsigned int> DWARFAddressSpace
The DWARF address space of the memory pointed to or referenced by a pointer or reference type respectively.

Inherited from Metadata:

protected Storage
protected SubclassData1
protected SubclassData16 = 0
protected SubclassData32 = 0

Method Overview

  • private DIDerivedType(llvm::LLVMContext & C, llvm::Metadata::StorageType Storage, unsigned int Tag, unsigned int Line, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Optional<unsigned int> DWARFAddressSpace, llvm::DINode::DIFlags Flags, ArrayRef<llvm::Metadata *> Ops)
  • public static bool classof(const llvm::Metadata * MD)
  • public llvm::TempDIDerivedType clone() const
  • private llvm::TempDIDerivedType cloneImpl() const
  • public llvm::DINodeArray getAnnotations() const
  • public llvm::DIType * getBaseType() const
  • public llvm::DIType * getClassType() const
  • public llvm::Constant * getConstant() const
  • public Optional<unsigned int> getDWARFAddressSpace() const
  • public llvm::Constant * getDiscriminantValue() const
  • public llvm::Metadata * getExtraData() const
  • private static llvm::DIDerivedType * getImpl(llvm::LLVMContext & Context, unsigned int Tag, llvm::MDString * Name, llvm::Metadata * File, unsigned int Line, llvm::Metadata * Scope, llvm::Metadata * BaseType, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Optional<unsigned int> DWARFAddressSpace, llvm::DINode::DIFlags Flags, llvm::Metadata * ExtraData, llvm::Metadata * Annotations, llvm::Metadata::StorageType Storage, bool ShouldCreate = true)
  • private static llvm::DIDerivedType * getImpl(llvm::LLVMContext & Context, unsigned int Tag, llvm::StringRef Name, llvm::DIFile * File, unsigned int Line, llvm::DIScope * Scope, llvm::DIType * BaseType, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Optional<unsigned int> DWARFAddressSpace, llvm::DINode::DIFlags Flags, llvm::Metadata * ExtraData, llvm::DINodeArray Annotations, llvm::Metadata::StorageType Storage, bool ShouldCreate = true)
  • public llvm::DIObjCProperty * getObjCProperty() const
  • public llvm::Metadata * getRawAnnotations() const
  • public llvm::Metadata * getRawBaseType() const
  • public llvm::Metadata * getRawExtraData() const
  • public llvm::Constant * getStorageOffsetInBits() const
  • public uint32_t getVBPtrOffset() const
  • private ~DIDerivedType()

Inherited from DIType:

Inherited from DIScope:

Inherited from DINode:

Inherited from MDNode:

Inherited from Metadata:

Methods

DIDerivedType(
    llvm::LLVMContext& C,
    llvm::Metadata::StorageType Storage,
    unsigned int Tag,
    unsigned int Line,
    uint64_t SizeInBits,
    uint32_t AlignInBits,
    uint64_t OffsetInBits,
    Optional<unsigned int> DWARFAddressSpace,
    llvm::DINode::DIFlags Flags,
    ArrayRef<llvm::Metadata*> Ops)

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

Parameters

llvm::LLVMContext& C
llvm::Metadata::StorageType Storage
unsigned int Tag
unsigned int Line
uint64_t SizeInBits
uint32_t AlignInBits
uint64_t OffsetInBits
Optional<unsigned int> DWARFAddressSpace
llvm::DINode::DIFlags Flags
ArrayRef<llvm::Metadata*> Ops

static bool classof(const llvm::Metadata* MD)

Description

@ }

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

Parameters

const llvm::Metadata* MD

llvm::TempDIDerivedType clone() const

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

llvm::TempDIDerivedType cloneImpl() const

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

llvm::DINodeArray getAnnotations() const

Description

Get annotations associated with this derived type.

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

llvm::DIType* getBaseType() const

Description

Get the base type this is derived from.

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

llvm::DIType* getClassType() const

Description

Get casted version of extra data. @ {

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

llvm::Constant* getConstant() const

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

Optional<unsigned int> getDWARFAddressSpace()
    const

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

Returns

The DWARF address space of the memory pointed to or referenced by a pointer or reference type respectively.

llvm::Constant* getDiscriminantValue() const

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

llvm::Metadata* getExtraData() const

Description

Get extra data associated with this derived type. Class type for pointer-to-members, objective-c property node for ivars, global constant wrapper for static members, or virtual base pointer offset for inheritance. TODO: Separate out types that need this extra operand: pointer-to-member types and member fields (static members and ivars).

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

static llvm::DIDerivedType* getImpl(
    llvm::LLVMContext& Context,
    unsigned int Tag,
    llvm::MDString* Name,
    llvm::Metadata* File,
    unsigned int Line,
    llvm::Metadata* Scope,
    llvm::Metadata* BaseType,
    uint64_t SizeInBits,
    uint32_t AlignInBits,
    uint64_t OffsetInBits,
    Optional<unsigned int> DWARFAddressSpace,
    llvm::DINode::DIFlags Flags,
    llvm::Metadata* ExtraData,
    llvm::Metadata* Annotations,
    llvm::Metadata::StorageType Storage,
    bool ShouldCreate = true)

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

Parameters

llvm::LLVMContext& Context
unsigned int Tag
llvm::MDString* Name
llvm::Metadata* File
unsigned int Line
llvm::Metadata* Scope
llvm::Metadata* BaseType
uint64_t SizeInBits
uint32_t AlignInBits
uint64_t OffsetInBits
Optional<unsigned int> DWARFAddressSpace
llvm::DINode::DIFlags Flags
llvm::Metadata* ExtraData
llvm::Metadata* Annotations
llvm::Metadata::StorageType Storage
bool ShouldCreate = true

static llvm::DIDerivedType* getImpl(
    llvm::LLVMContext& Context,
    unsigned int Tag,
    llvm::StringRef Name,
    llvm::DIFile* File,
    unsigned int Line,
    llvm::DIScope* Scope,
    llvm::DIType* BaseType,
    uint64_t SizeInBits,
    uint32_t AlignInBits,
    uint64_t OffsetInBits,
    Optional<unsigned int> DWARFAddressSpace,
    llvm::DINode::DIFlags Flags,
    llvm::Metadata* ExtraData,
    llvm::DINodeArray Annotations,
    llvm::Metadata::StorageType Storage,
    bool ShouldCreate = true)

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

Parameters

llvm::LLVMContext& Context
unsigned int Tag
llvm::StringRef Name
llvm::DIFile* File
unsigned int Line
llvm::DIScope* Scope
llvm::DIType* BaseType
uint64_t SizeInBits
uint32_t AlignInBits
uint64_t OffsetInBits
Optional<unsigned int> DWARFAddressSpace
llvm::DINode::DIFlags Flags
llvm::Metadata* ExtraData
llvm::DINodeArray Annotations
llvm::Metadata::StorageType Storage
bool ShouldCreate = true

llvm::DIObjCProperty* getObjCProperty() const

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

llvm::Metadata* getRawAnnotations() const

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

llvm::Metadata* getRawBaseType() const

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

llvm::Metadata* getRawExtraData() const

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

llvm::Constant* getStorageOffsetInBits() const

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

uint32_t getVBPtrOffset() const

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

~DIDerivedType()

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