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.