class DIType

Declaration

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

Description

Base class for types. TODO: Remove the hardcoded name and context, since many types don't use them. TODO: Split up flags.

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

Inherits from: DIScope

Member Variables

Inherited from Metadata:

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

Method Overview

Inherited from DIScope:

Inherited from DINode:

Inherited from MDNode:

Inherited from Metadata:

Methods

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

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

Parameters

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

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

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

Parameters

const llvm::Metadata* MD

llvm::TempDIType clone() const

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

llvm::TempDIType cloneWithFlags(
    llvm::DINode::DIFlags NewFlags) const

Description

Returns a new temporary DIType with updated Flags

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

Parameters

llvm::DINode::DIFlags NewFlags

uint32_t getAlignInBits() const

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

uint32_t getAlignInBytes() const

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

bool getExportSymbols() const

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

llvm::DINode::DIFlags getFlags() const

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

unsigned int getLine() const

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

llvm::StringRef getName() const

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

uint64_t getOffsetInBits() const

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

llvm::MDString* getRawName() const

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

llvm::Metadata* getRawScope() const

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

llvm::DIScope* getScope() const

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

uint64_t getSizeInBits() const

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

void init(unsigned int Line,
          uint64_t SizeInBits,
          uint32_t AlignInBits,
          uint64_t OffsetInBits,
          llvm::DINode::DIFlags Flags)

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

Parameters

unsigned int Line
uint64_t SizeInBits
uint32_t AlignInBits
uint64_t OffsetInBits
llvm::DINode::DIFlags Flags

bool isAppleBlockExtension() const

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

bool isArtificial() const

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

bool isBigEndian() const

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

bool isBitField() const

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

bool isForwardDecl() const

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

bool isLValueReference() const

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

bool isLittleEndian() const

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

bool isObjcClassComplete() const

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

bool isObjectPointer() const

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

bool isPrivate() const

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

bool isProtected() const

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

bool isPublic() const

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

bool isRValueReference() const

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

bool isStaticMember() const

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

bool isTypePassByReference() const

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

bool isTypePassByValue() const

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

bool isVector() const

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

bool isVirtual() const

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

void mutate(unsigned int Tag,
            unsigned int Line,
            uint64_t SizeInBits,
            uint32_t AlignInBits,
            uint64_t OffsetInBits,
            llvm::DINode::DIFlags Flags)

Description

Change fields in place.

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

Parameters

unsigned int Tag
unsigned int Line
uint64_t SizeInBits
uint32_t AlignInBits
uint64_t OffsetInBits
llvm::DINode::DIFlags Flags

~DIType()

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