LLVM
8.0.1
|
The base class for BTF type generation. More...
#include "Target/BPF/BTFDebug.h"
Public Member Functions | |
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. More... | |
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. More... | |
virtual void | emitType (MCStreamer &OS) |
Emit types for this BTF type entry. More... | |
Protected Attributes | |
uint8_t | Kind |
uint32_t | Id |
struct BTF::CommonType | BTFType |
The base class for BTF type generation.
Definition at line 33 of file BTFDebug.h.
|
virtualdefault |
|
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::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeStruct, llvm::BTFTypeArray, llvm::BTFTypeEnum, llvm::BTFTypeInt, llvm::BTFTypeFwd, and llvm::BTFTypeDerived.
Definition at line 49 of file BTFDebug.h.
References emitType().
Referenced by llvm::BTFTypeInt::getSize(), llvm::BTFTypeEnum::getSize(), llvm::BTFTypeArray::getSize(), llvm::BTFTypeStruct::getSize(), llvm::BTFTypeFuncProto::getSize(), and llvm::BTFTypeFunc::getSize().
|
virtual |
Emit types for this BTF type entry.
Emit a BTF common type.
Reimplemented in llvm::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeStruct, llvm::BTFTypeArray, llvm::BTFTypeEnum, llvm::BTFTypeInt, llvm::BTFTypeFwd, and llvm::BTFTypeDerived.
Definition at line 33 of file BTFDebug.cpp.
References llvm::MCStreamer::AddComment(), BTFType, llvm::MCStreamer::EmitIntValue(), Id, llvm::BTF::CommonType::Info, Kind, llvm::BTF::CommonType::NameOff, llvm::BTF::CommonType::Size, llvm::to_string(), and llvm::Twine::utohexstr().
Referenced by completeType(), llvm::BTFTypeDerived::emitType(), llvm::BTFTypeFwd::emitType(), llvm::BTFTypeInt::emitType(), llvm::BTFTypeEnum::emitType(), llvm::BTFTypeArray::emitType(), llvm::BTFTypeStruct::emitType(), llvm::BTFTypeFuncProto::emitType(), llvm::BTFTypeFunc::emitType(), llvm::BTFTypeInt::getSize(), llvm::BTFTypeEnum::getSize(), llvm::BTFTypeArray::getSize(), llvm::BTFTypeStruct::getSize(), llvm::BTFTypeFuncProto::getSize(), and llvm::BTFTypeFunc::getSize().
|
inline |
Definition at line 42 of file BTFDebug.h.
References Id.
|
inlinevirtual |
Get the size of this BTF type entry.
Reimplemented in llvm::BTFTypeFunc, llvm::BTFTypeFuncProto, llvm::BTFTypeStruct, llvm::BTFTypeArray, llvm::BTFTypeEnum, and llvm::BTFTypeInt.
Definition at line 45 of file BTFDebug.h.
References llvm::BTF::CommonTypeSize.
Referenced by llvm::BTFTypeInt::getSize(), llvm::BTFTypeEnum::getSize(), llvm::BTFTypeArray::getSize(), llvm::BTFTypeStruct::getSize(), llvm::BTFTypeFuncProto::getSize(), and llvm::BTFTypeFunc::getSize().
Definition at line 43 of file BTFDebug.h.
Referenced by llvm::BTFTypeEnum::BTFTypeEnum(), llvm::BTFTypeInt::BTFTypeInt(), and llvm::BTFTypeStruct::BTFTypeStruct().
|
inline |
Definition at line 41 of file BTFDebug.h.
References Id.
|
protected |
Definition at line 37 of file BTFDebug.h.
Referenced by llvm::BTFTypeArray::BTFTypeArray(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeEnum::BTFTypeEnum(), llvm::BTFTypeFunc::BTFTypeFunc(), llvm::BTFTypeFuncProto::BTFTypeFuncProto(), llvm::BTFTypeFwd::BTFTypeFwd(), llvm::BTFTypeInt::BTFTypeInt(), llvm::BTFTypeStruct::BTFTypeStruct(), llvm::BTFTypeDerived::completeType(), llvm::BTFTypeFwd::completeType(), llvm::BTFTypeInt::completeType(), llvm::BTFTypeEnum::completeType(), llvm::BTFTypeArray::completeType(), llvm::BTFTypeStruct::completeType(), llvm::BTFTypeFuncProto::completeType(), llvm::BTFTypeFunc::completeType(), and emitType().
|
protected |
Definition at line 36 of file BTFDebug.h.
Referenced by emitType(), getId(), and setId().
|
protected |
Definition at line 35 of file BTFDebug.h.
Referenced by llvm::BTFTypeArray::BTFTypeArray(), llvm::BTFTypeDerived::BTFTypeDerived(), llvm::BTFTypeEnum::BTFTypeEnum(), llvm::BTFTypeFunc::BTFTypeFunc(), llvm::BTFTypeFuncProto::BTFTypeFuncProto(), llvm::BTFTypeFwd::BTFTypeFwd(), llvm::BTFTypeInt::BTFTypeInt(), llvm::BTFTypeStruct::BTFTypeStruct(), llvm::BTFTypeDerived::completeType(), and emitType().