9#ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEUDT_H
10#define LLVM_DEBUGINFO_PDB_NATIVE_NATIVETYPEUDT_H
41 std::string
getName()
const override;
66 std::optional<codeview::ClassRecord>
Class;
67 std::optional<codeview::UnionRecord>
Union;
static StringRef getName(Value *V)
static bool isIntrinsic(const CallBase &Call, Intrinsic::ID ID)
NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag, SymIndexId SymbolId)
PDB_UdtType getUdtKind() const override
SymIndexId getVirtualTableShapeId() const override
bool hasNestedTypes() const override
bool isPacked() const override
bool isRefUdt() const override
bool isUnalignedType() const override
uint64_t getLength() const override
bool isVolatileType() const override
bool isValueUdt() const override
void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields, PdbSymbolIdField RecurseIdFields) const override
bool isScoped() const override
NativeTypeUDT * UnmodifiedType
~NativeTypeUDT() override
SymIndexId getUnmodifiedTypeId() const override
NativeTypeUDT(NativeSession &Session, SymIndexId Id, codeview::TypeIndex TI, codeview::ClassRecord Class)
SymIndexId getLexicalParentId() const override
std::optional< codeview::UnionRecord > Union
std::optional< codeview::ClassRecord > Class
bool hasAssignmentOperator() const override
bool hasCastOperator() const override
std::optional< codeview::ModifierRecord > Modifiers
codeview::TagRecord * Tag
bool hasConstructor() const override
codeview::TypeIndex Index
bool isConstType() const override
bool hasOverloadedOperator() const override
bool isInterfaceUdt() const override
This class implements an extremely fast bulk output stream that can only output to a stream.
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn....
This is an optimization pass for GlobalISel generic memory operations.