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

1

2

3

4

5

6

7

8

10

14

15using namespace llvm;

17

23 }

24 return Record.getOptions();

25}

26

29 switch (CVT.kind()) {

30 case LF_STRUCTURE:

31 case LF_CLASS:

32 case LF_INTERFACE:

34 break;

35 case LF_ENUM:

37 break;

38 case LF_UNION:

40 break;

41 default:

42 return false;

43 }

45}

46

51 return Refs.front();

52}

53

56 return 0;

58

63 return 2;

66 return 4;

68 return 8;

70 return 16;

71 default:

72 assert(false && "invalid simple type mode!");

73 }

74 }

78 return 0;

80 return 4;

83 return 1;

84

85

90 return 2;

95 return 4;

100 return 8;

105 return 16;

106

107

112 return 1;

115 return 2;

117 return 4;

118

119

121 return 2;

123 return 4;

125 return 6;

127 return 8;

129 return 10;

131 return 16;

132

133

135 return 1;

137 return 2;

139 return 4;

141 return 8;

143 return 16;

144

145

147 return 4;

149 return 8;

151 return 16;

153 return 20;

155 return 32;

156

157 default:

158 return 0;

159 }

160}

161

166 return 0;

167 }

168 return Record.getSize();

169}

170

172 switch (CVT.kind()) {

173 case LF_STRUCTURE:

174 case LF_CLASS:

175 case LF_INTERFACE:

177 case LF_UNION:

179 default:

181 }

182}

assert(UImm &&(UImm !=~static_cast< T >(0)) &&"Invalid immediate!")

This file defines the SmallVector class.

static ClassOptions getUdtOptions(CVType CVT)

Definition TypeRecordHelpers.cpp:18

static uint64_t getUdtSize(CVType CVT)

Definition TypeRecordHelpers.cpp:162

This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.

static Error deserializeAs(CVType &CVT, T &Record)

SimpleTypeKind getSimpleKind() const

SimpleTypeMode getSimpleMode() const

LLVM_ABI bool isUdtForwardRef(CVType CVT)

Given an arbitrary codeview type, determine if it is an LF_STRUCTURE, LF_CLASS, LF_INTERFACE,...

Definition TypeRecordHelpers.cpp:27

CVRecord< TypeLeafKind > CVType

LLVM_ABI void discoverTypeIndices(ArrayRef< uint8_t > RecordData, SmallVectorImpl< TiReference > &Refs)

LLVM_ABI uint64_t getSizeInBytesForTypeRecord(CVType CVT)

Given an arbitrary codeview type, return the type's size in the case of aggregate (LF_STRUCTURE,...

Definition TypeRecordHelpers.cpp:171

LLVM_ABI uint64_t getSizeInBytesForTypeIndex(TypeIndex TI)

Given an arbitrary codeview type index, determine its size.

Definition TypeRecordHelpers.cpp:54

LLVM_ABI TypeIndex getModifiedType(const CVType &CVT)

Given a CVType which is assumed to be an LF_MODIFIER, return the TypeIndex of the type that the LF_MO...

Definition TypeRecordHelpers.cpp:47

This is an optimization pass for GlobalISel generic memory operations.

void consumeError(Error Err)

Consume a Error without doing anything.