LLVM: lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp Source File (original) (raw)

1

2

3

4

5

6

7

8

15

16using namespace llvm;

18

22 return;

23

24 int PaddingBytes = 4 - Align;

25 while (PaddingBytes > 0) {

26 uint8_t Pad = static_cast<uint8_t>(LF_PAD0 + PaddingBytes);

28 --PaddingBytes;

29 }

30}

31

33

35

36template

40

41

44

47

51

53

54

55 Prefix->RecordKind = CVT.kind();

57

58 return {ScratchBuffer.data(), static_cast<size_t>(Writer.getOffset())};

59}

60

61

62

63#define TYPE_RECORD(EnumName, EnumVal, Name) \

64 template LLVM_ABI ArrayRef<uint8_t> \

65 llvm::codeview::SimpleTypeSerializer::serialize(Name##Record &Record);

66#define TYPE_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)

67#define MEMBER_RECORD(EnumName, EnumVal, Name)

68#define MEMBER_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName)

69#include "llvm/DebugInfo/CodeView/CodeViewTypes.def"

static void addPadding(BinaryStreamWriter &Writer)

static void addPadding(BinaryStreamWriter &Writer)

Definition SimpleTypeSerializer.cpp:19

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

Provides write only access to a subclass of WritableBinaryStream.

uint64_t getOffset() const

Error writeInteger(T Value)

Write the integer Value to the underlying stream in the specified endianness.

Error writeObject(const T &Obj)

Writes the object Obj to the underlying stream, as if by using memcpy.

LLVM_ABI SimpleTypeSerializer()

Definition SimpleTypeSerializer.cpp:32

LLVM_ABI ~SimpleTypeSerializer()

ArrayRef< uint8_t > serialize(T &Record)

Definition SimpleTypeSerializer.cpp:37

Error visitTypeBegin(CVType &Record) override

Paired begin/end actions for all types.

Error visitTypeEnd(CVType &Record) override

CVRecord< TypeLeafKind > CVType

This is an optimization pass for GlobalISel generic memory operations.

void cantFail(Error Err, const char *Msg=nullptr)

Report a fatal error if Err is a failure value.

This struct is a compact representation of a valid (non-zero power of two) alignment.