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:
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:
- public classof
- public clone
- public cloneWithFlags
- public getAlignInBits
- public getAlignInBytes
- public getExportSymbols
- public getFlags
- public getLine
- public getName
- public getOffsetInBits
- public getRawName
- public getRawScope
- public getScope
- public getSizeInBits
- protected init
- public isAppleBlockExtension
- public isArtificial
- public isBigEndian
- public isBitField
- public isForwardDecl
- public isLValueReference
- public isLittleEndian
- public isObjcClassComplete
- public isObjectPointer
- public isPrivate
- public isProtected
- public isPublic
- public isRValueReference
- public isStaticMember
- public isTypePassByReference
- public isTypePassByValue
- public isVector
- public isVirtual
- protected mutate
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 dumpTree
- public dumpTree
- public get
- public getContext
- public getDistinct
- public getIfExists
- public getMostGenericAliasScope
- public getMostGenericAlignmentOrDereferenceable
- public getMostGenericFPMath
- public getMostGenericRange
- public getMostGenericTBAA
- public getNumOperands
- protected getNumUnresolved
- public getOperand
- public getTemporary
- public intersect
- public isDistinct
- public isResolved
- public isTBAAVtableAccess
- public isTemporary
- public isUniqued
- protected mutable_begin
- protected mutable_end
- protected mutable_operands
- public op_begin
- public op_end
- public operands
- public printTree
- public printTree
- public replaceAllUsesWith
- public replaceOperandWith
- public replaceWithDistinct
- public replaceWithPermanent
- public replaceWithUniqued
- protected resize
- public resolve
- public resolveCycles
- protected setNumUnresolved
- 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
¶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)
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)
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
llvm::TempDIDerivedType clone() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:989
¶llvm::TempDIDerivedType cloneImpl() const
llvm::TempDIDerivedType cloneImpl() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:961
¶llvm::DINodeArray getAnnotations() const
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
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
llvm::DIType* getClassType() const
Description
Get casted version of extra data. @ {
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1018
¶llvm::Constant* getConstant() const
llvm::Constant* getConstant() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1028
¶Optional<unsigned int> getDWARFAddressSpace()
const
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
llvm::Constant* getDiscriminantValue() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1030
¶llvm::Metadata* getExtraData() const
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)
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)
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
llvm::DIObjCProperty* getObjCProperty() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1020
¶llvm::Metadata* getRawAnnotations() const
llvm::Metadata* getRawAnnotations() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1014
¶llvm::Metadata* getRawBaseType() const
llvm::Metadata* getRawBaseType() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:993
¶llvm::Metadata* getRawExtraData() const
llvm::Metadata* getRawExtraData() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1008
¶llvm::Constant* getStorageOffsetInBits() const
llvm::Constant* getStorageOffsetInBits() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1026
¶uint32_t getVBPtrOffset() const
uint32_t getVBPtrOffset() const
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:1024
¶~DIDerivedType()
~DIDerivedType()
Declared at: llvm/include/llvm/IR/DebugInfoMetadata.h:939