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:658

Inherits from: DIScope

Member Variables

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

Inherited from Metadata:

protected Storage
protected SubclassData1
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:666

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:746

Parameters

const llvm::Metadata* MD

llvm::TempDIType clone() const

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

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:710

Parameters

llvm::DINode::DIFlags NewFlags

uint32_t getAlignInBits() const

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

uint32_t getAlignInBytes() const

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

bool getExportSymbols() const

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

llvm::DINode::DIFlags getFlags() const

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

unsigned int getLine() const

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

llvm::StringRef getName() const

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

uint64_t getOffsetInBits() const

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

llvm::MDString* getRawName() const

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

llvm::Metadata* getRawScope() const

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

llvm::DIScope* getScope() const

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

uint64_t getSizeInBits() const

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

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:674

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:726

bool isArtificial() const

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

bool isBigEndian() const

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

bool isBitField() const

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

bool isForwardDecl() const

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

bool isLValueReference() const

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

bool isLittleEndian() const

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

bool isObjcClassComplete() const

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

bool isObjectPointer() const

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

bool isPrivate() const

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

bool isProtected() const

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

bool isPublic() const

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

bool isRValueReference() const

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

bool isStaticMember() const

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

bool isTypePassByReference() const

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

bool isTypePassByValue() const

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

bool isVector() const

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

bool isVirtual() const

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

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:684

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:672