LLVM: llvm::BTFTypeBase Class Reference (original) (raw)

The base class for BTF type generation. More...

#include "[Target/BPF/BTFDebug.h](BTFDebug%5F8h%5Fsource.html)"

Inheritance diagram for llvm::BTFTypeBase:

Public Member Functions
BTFTypeBase ()
virtual ~BTFTypeBase ()=default
void setId (uint32_t Id)
uint32_t getId ()
uint32_t roundupToBytes (uint32_t NumBits)
virtual uint32_t getSize ()
Get the size of this BTF type entry.
virtual void completeType (BTFDebug &BDebug)
Complete BTF type generation after all related DebugInfo types have been visited so their BTF type id's are available for cross referece.
virtual void emitType (MCStreamer &OS)
Emit types for this BTF type entry.

Detailed Description

The base class for BTF type generation.

Definition at line 39 of file BTFDebug.h.

Constructor & Destructor Documentation

llvm::BTFTypeBase::BTFTypeBase ( ) inline

~BTFTypeBase()

virtual llvm::BTFTypeBase::~BTFTypeBase ( ) virtualdefault

Member Function Documentation

completeType()

virtual void llvm::BTFTypeBase::completeType ( BTFDebug & BDebug) inlinevirtual

Complete BTF type generation after all related DebugInfo types have been visited so their BTF type id's are available for cross referece.

Reimplemented in llvm::BTFKindDataSec, llvm::BTFKindVar, llvm::BTFTypeArray, llvm::BTFTypeDeclTag, llvm::BTFTypeDerived, llvm::BTFTypeEnum64, llvm::BTFTypeEnum, llvm::BTFTypeFloat, llvm::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeFwd, llvm::BTFTypeInt, llvm::BTFTypeStruct, and llvm::BTFTypeTypeTag.

Definition at line 57 of file BTFDebug.h.

emitType()

void BTFTypeBase::emitType ( MCStreamer & OS) virtual

Emit types for this BTF type entry.

Emit a BTF common type.

Reimplemented in llvm::BTFKindDataSec, llvm::BTFKindVar, llvm::BTFTypeArray, llvm::BTFTypeDeclTag, llvm::BTFTypeDerived, llvm::BTFTypeEnum64, llvm::BTFTypeEnum, llvm::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeFwd, llvm::BTFTypeInt, and llvm::BTFTypeStruct.

Definition at line 50 of file BTFDebug.cpp.

References llvm::MCStreamer::AddComment(), BTFKindStr, BTFType, llvm::MCStreamer::emitInt32(), Id, Kind, and llvm::Twine::utohexstr().

Referenced by llvm::BTFKindDataSec::emitType(), llvm::BTFKindVar::emitType(), llvm::BTFTypeArray::emitType(), llvm::BTFTypeDeclTag::emitType(), llvm::BTFTypeDerived::emitType(), llvm::BTFTypeEnum64::emitType(), llvm::BTFTypeEnum::emitType(), llvm::BTFTypeFunc::emitType(), llvm::BTFTypeFuncProto::emitType(), llvm::BTFTypeFwd::emitType(), llvm::BTFTypeInt::emitType(), and llvm::BTFTypeStruct::emitType().

getId()

uint32_t llvm::BTFTypeBase::getId ( ) inline

getSize()

virtual uint32_t llvm::BTFTypeBase::getSize ( ) inlinevirtual

Get the size of this BTF type entry.

Reimplemented in llvm::BTFKindDataSec, llvm::BTFKindVar, llvm::BTFTypeArray, llvm::BTFTypeDeclTag, llvm::BTFTypeEnum64, llvm::BTFTypeEnum, llvm::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeInt, and llvm::BTFTypeStruct.

Definition at line 53 of file BTFDebug.h.

References llvm::BTF::CommonTypeSize.

Referenced by llvm::BTFKindDataSec::getSize(), llvm::BTFKindVar::getSize(), llvm::BTFTypeArray::getSize(), llvm::BTFTypeDeclTag::getSize(), llvm::BTFTypeEnum64::getSize(), llvm::BTFTypeEnum::getSize(), llvm::BTFTypeFunc::getSize(), llvm::BTFTypeFuncProto::getSize(), llvm::BTFTypeInt::getSize(), and llvm::BTFTypeStruct::getSize().

roundupToBytes()

setId()

void llvm::BTFTypeBase::setId ( uint32_t Id) inline

Member Data Documentation

BTFType

Definition at line 44 of file BTFDebug.h.

Referenced by llvm::BTFKindDataSec::BTFKindDataSec(), llvm::BTFKindVar::BTFKindVar(), llvm::BTFTypeArray::BTFTypeArray(), llvm::BTFTypeDeclTag::BTFTypeDeclTag(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeEnum::BTFTypeEnum(), llvm::BTFTypeEnum64::BTFTypeEnum64(), llvm::BTFTypeFloat::BTFTypeFloat(), llvm::BTFTypeFunc::BTFTypeFunc(), llvm::BTFTypeFuncProto::BTFTypeFuncProto(), llvm::BTFTypeFwd::BTFTypeFwd(), llvm::BTFTypeInt::BTFTypeInt(), llvm::BTFTypeStruct::BTFTypeStruct(), llvm::BTFTypeTypeTag::BTFTypeTypeTag(), llvm::BTFTypeTypeTag::BTFTypeTypeTag(), llvm::BTFKindDataSec::completeType(), llvm::BTFKindVar::completeType(), llvm::BTFTypeDeclTag::completeType(), llvm::BTFTypeDerived::completeType(), llvm::BTFTypeEnum64::completeType(), llvm::BTFTypeEnum::completeType(), llvm::BTFTypeFloat::completeType(), llvm::BTFTypeFunc::completeType(), llvm::BTFTypeFuncProto::completeType(), llvm::BTFTypeFwd::completeType(), llvm::BTFTypeInt::completeType(), llvm::BTFTypeStruct::completeType(), llvm::BTFTypeTypeTag::completeType(), emitType(), and llvm::BTFTypeDerived::setPointeeType().

Id

IsCompleted

bool llvm::BTFTypeBase::IsCompleted protected

Definition at line 42 of file BTFDebug.h.

Referenced by BTFTypeBase(), llvm::BTFTypeArray::completeType(), llvm::BTFTypeDeclTag::completeType(), llvm::BTFTypeDerived::completeType(), llvm::BTFTypeEnum64::completeType(), llvm::BTFTypeEnum::completeType(), llvm::BTFTypeFloat::completeType(), llvm::BTFTypeFunc::completeType(), llvm::BTFTypeFuncProto::completeType(), llvm::BTFTypeFwd::completeType(), llvm::BTFTypeInt::completeType(), llvm::BTFTypeStruct::completeType(), and llvm::BTFTypeTypeTag::completeType().

Kind

Definition at line 41 of file BTFDebug.h.

Referenced by llvm::BTFKindDataSec::BTFKindDataSec(), llvm::BTFKindVar::BTFKindVar(), llvm::BTFTypeArray::BTFTypeArray(), llvm::BTFTypeDeclTag::BTFTypeDeclTag(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeEnum::BTFTypeEnum(), llvm::BTFTypeEnum64::BTFTypeEnum64(), llvm::BTFTypeFloat::BTFTypeFloat(), llvm::BTFTypeFunc::BTFTypeFunc(), llvm::BTFTypeFuncProto::BTFTypeFuncProto(), llvm::BTFTypeFwd::BTFTypeFwd(), llvm::BTFTypeInt::BTFTypeInt(), llvm::BTFTypeStruct::BTFTypeStruct(), llvm::BTFTypeTypeTag::BTFTypeTypeTag(), llvm::BTFTypeTypeTag::BTFTypeTypeTag(), llvm::BTFTypeDerived::completeType(), and emitType().


The documentation for this class was generated from the following files: