15 using namespace llvm::pdb;
17 #define CASE_OUTPUT_ENUM_CLASS_STR(Class, Value, Str, Stream) \
22 #define CASE_OUTPUT_ENUM_CLASS_NAME(Class, Value, Stream) \
23 CASE_OUTPUT_ENUM_CLASS_STR(Class, Value, #Value, Stream)
144 OS << static_cast<int>(
Reg);
273 static const char *
Lookup =
"0123456789ABCDEF";
275 static_assert(
sizeof(
PDB_UniqueId) == 16,
"Expected 16-byte GUID");
278 for (
int i=0;
i < 16;) {
279 uint8_t Byte = GuidBytes[
i];
280 uint8_t HighNibble = (Byte >> 4) & 0xF;
281 uint8_t LowNibble = Byte & 0xF;
282 OS << Lookup[HighNibble] << Lookup[LowNibble];
284 if (
i>=4 &&
i<=10 &&
i%2==0)
321 switch (Value.
Type) {
323 OS << (Value.
Value.
Bool ?
"true" :
"false");
338 OS << static_cast<int>(Value.
Value.
Int8);
353 OS << static_cast<unsigned>(Value.
Value.
UInt8);
371 for (
auto Tag : Stats) {
372 OS <<
Tag.first <<
":" <<
Tag.second <<
" ";
PDB_UdtType
These values correspond to the UdtKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/wcstk66t.aspx.
A class that wrap the SHA1 algorithm.
PDB_Checksum
Specifies the hash algorithm that a source file from a PDB was hashed with.
raw_ostream & operator<<(raw_ostream &OS, const PDB_VariantType &Value)
static int Lookup(ArrayRef< TableEntry > Table, unsigned Opcode)
Reg
All possible values of the reg field in the ModR/M byte.
block placement Basic Block Placement Stats
Class to represent array types.
COFF::MachineTypes Machine
Class to represent pointers.
PDB_SymType
These values correspond to the SymTagEnum enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bkedss5f.aspx.
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important base class in LLVM.
Defines a 128-bit unique identifier.
PDB_DataKind
These values correspond to the DataKind enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/b2x2t313.aspx.
PDB_LocType
These values correspond to the LocationType enumeration, and are documented here: https://msdn...
SourceLanguage
These values correspond to the CV_CFL_LANG enumeration, and are documented here: https://msdn.microsoft.com/en-us/library/bw3aekw6.aspx.
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
ThunkOrdinal
These values correspond to the THUNK_ORDINAL enumeration.
LLVM Value Representation.
CallingConvention
These values correspond to the CV_call_e enumeration, and are documented at the following locations: ...
This class implements an extremely fast bulk output stream that can only output to a stream...
std::unordered_map< PDB_SymType, int > TagStats
union llvm::pdb::Variant::@75 Value