Home
last modified time | relevance | path

Searched refs:TypeIndex (Results 1 – 25 of 130) sorted by relevance

123456

/llvm-project-15.0.7/llvm/include/llvm/DebugInfo/CodeView/
H A DTypeIndex.h96 class TypeIndex {
146 TypeIndex makeDirect() const { return TypeIndex{getSimpleKind()}; } in makeDirect()
148 static TypeIndex None() { return TypeIndex(SimpleTypeKind::None); } in None()
149 static TypeIndex Void() { return TypeIndex(SimpleTypeKind::Void); } in Void()
182 static TypeIndex Int32() { return TypeIndex(SimpleTypeKind::Int32); } in Int32()
188 static TypeIndex Int64() { return TypeIndex(SimpleTypeKind::Int64); } in Int64()
239 friend inline bool operator<(const TypeIndex &A, const TypeIndex &B) {
247 friend inline bool operator>(const TypeIndex &A, const TypeIndex &B) {
255 friend inline TypeIndex operator+(const TypeIndex &A, uint32_t N) {
261 friend inline TypeIndex operator-(const TypeIndex &A, uint32_t N) {
[all …]
H A DTypeRecord.h176 MemberFunctionRecord(TypeIndex ReturnType, TypeIndex ClassType, in MemberFunctionRecord()
221 MemberFuncIdRecord(TypeIndex ClassType, TypeIndex FunctionType, in MemberFuncIdRecord()
380 TypeIndex Type;
470 TypeIndex FieldList, TypeIndex DerivationList, in ClassRecord()
547 TypeIndex Type;
605 TypeIndex Id;
640 TypeIndex UDT;
650 UdtModSourceLineRecord(TypeIndex UDT, TypeIndex SourceFile, in UdtModSourceLineRecord()
660 TypeIndex UDT;
745 TypeIndex Type;
[all …]
H A DLazyRandomTypeCollection.h70 uint32_t getOffsetOfType(TypeIndex Index);
74 CVType getType(TypeIndex Index) override;
76 bool contains(TypeIndex Index) override;
79 Optional<TypeIndex> getFirst() override;
80 Optional<TypeIndex> getNext(TypeIndex Prev) override;
84 Error ensureTypeExists(TypeIndex Index);
85 void ensureCapacityFor(TypeIndex Index);
87 Error visitRangeForType(TypeIndex TI);
88 Error fullScanForType(TypeIndex TI);
89 void visitRange(TypeIndex Begin, uint32_t BeginOffset, TypeIndex End);
[all …]
H A DMergingTypeTableBuilder.h38 DenseMap<LocallyHashedType, TypeIndex> HashedRecords;
48 Optional<TypeIndex> getFirst() override;
49 Optional<TypeIndex> getNext(TypeIndex Prev) override;
50 CVType getType(TypeIndex Index) override;
51 StringRef getTypeName(TypeIndex Index) override;
52 bool contains(TypeIndex Index) override;
59 TypeIndex nextTypeIndex() const;
65 TypeIndex insertRecordAs(hash_code Hash, ArrayRef<uint8_t> &Record);
66 TypeIndex insertRecordBytes(ArrayRef<uint8_t> &Record);
67 TypeIndex insertRecord(ContinuationRecordBuilder &Builder);
[all …]
H A DGlobalTypeTableBuilder.h39 DenseMap<GloballyHashedType, TypeIndex> HashedRecords;
52 Optional<TypeIndex> getFirst() override;
53 Optional<TypeIndex> getNext(TypeIndex Prev) override;
54 CVType getType(TypeIndex Index) override;
55 StringRef getTypeName(TypeIndex Index) override;
56 bool contains(TypeIndex Index) override;
63 TypeIndex nextTypeIndex() const;
89 return TypeIndex(SimpleTypeKind::NotTranslated); in insertRecordAs()
107 TypeIndex insertRecordBytes(ArrayRef<uint8_t> Data);
108 TypeIndex insertRecord(ContinuationRecordBuilder &Builder);
[all …]
H A DAppendingTypeTableBuilder.h39 Optional<TypeIndex> getFirst() override;
40 Optional<TypeIndex> getNext(TypeIndex Prev) override;
41 CVType getType(TypeIndex Index) override;
42 StringRef getTypeName(TypeIndex Index) override;
43 bool contains(TypeIndex Index) override;
46 bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override;
50 TypeIndex nextTypeIndex() const;
55 TypeIndex insertRecordBytes(ArrayRef<uint8_t> &Record);
56 TypeIndex insertRecord(ContinuationRecordBuilder &Builder);
58 template <typename T> TypeIndex writeLeafType(T &Record) { in writeLeafType()
H A DTypeCollection.h24 virtual Optional<TypeIndex> getFirst() = 0;
25 virtual Optional<TypeIndex> getNext(TypeIndex Prev) = 0;
27 virtual CVType getType(TypeIndex Index) = 0;
28 virtual StringRef getTypeName(TypeIndex Index) = 0;
29 virtual bool contains(TypeIndex Index) = 0;
32 virtual bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) = 0;
35 Optional<TypeIndex> Next = getFirst(); in ForEachRecord()
38 TypeIndex N = *Next; in ForEachRecord()
H A DTypeStreamMerger.h21 class TypeIndex; variable
40 SmallVectorImpl<TypeIndex> &SourceToDest,
64 Error mergeIdRecords(MergingTypeTableBuilder &Dest, ArrayRef<TypeIndex> Types,
65 SmallVectorImpl<TypeIndex> &SourceToDest,
85 SmallVectorImpl<TypeIndex> &SourceToDest,
91 SmallVectorImpl<TypeIndex> &SourceToDest,
97 SmallVectorImpl<TypeIndex> &SourceToDest,
102 Error mergeIdRecords(GlobalTypeTableBuilder &Dest, ArrayRef<TypeIndex> Types,
103 SmallVectorImpl<TypeIndex> &SourceToDest,
H A DTypeTableCollection.h24 Optional<TypeIndex> getFirst() override;
25 Optional<TypeIndex> getNext(TypeIndex Prev) override;
27 CVType getType(TypeIndex Index) override;
28 StringRef getTypeName(TypeIndex Index) override;
29 bool contains(TypeIndex Index) override;
32 bool replaceType(TypeIndex &Index, CVType Data, bool Stabilize) override;
/llvm-project-15.0.7/llvm/unittests/DebugInfo/CodeView/
H A DTypeIndexDiscoveryTest.cpp173 static FuncIdRecord FuncId(TypeIndex(1), TypeIndex(2), "FuncId");
177 std::vector<TypeIndex> Ids = {TypeIndex(6), TypeIndex(7), TypeIndex(8)};
181 std::vector<TypeIndex> Ids = {TypeIndex(9), TypeIndex(10), TypeIndex(11)};
196 std::vector<TypeIndex> Ids = {TypeIndex(23), TypeIndex(24), TypeIndex(25)};
199 static ArrayRecord Array(TypeIndex(26), TypeIndex(27), 10, "MyArray");
201 TypeIndex(28), TypeIndex(29), TypeIndex(30), 10,
204 TypeIndex(31), TypeIndex(32), TypeIndex(33), 10,
577 checkTypeReferences(0, TypeIndex(1), TypeIndex(2), TypeIndex(3)); in TEST_F()
578 checkTypeReferences(1, TypeIndex(4), TypeIndex(5), TypeIndex(6)); in TEST_F()
579 checkTypeReferences(2, TypeIndex(7), TypeIndex(8), TypeIndex(9)); in TEST_F()
[all …]
H A DTypeHashingTest.cpp19 TypeIndex TI) { in createPointerRecord()
28 TypeIndex Q, TypeIndex R) { in createArgListRecord()
37 TypeIndex ArgList) { in createProcedureRecord()
48 TypeIndex TI) { in hash_of()
65 TypeIndex CharStar(SimpleTypeKind::SignedCharacter, in TEST()
79 TypeIndex CharPP[2]; in TEST()
80 TypeIndex IntPP[2]; in TEST()
81 TypeIndex IntPPP[2]; in TEST()
82 TypeIndex DoublePP[2]; in TEST()
83 TypeIndex Args[2]; in TEST()
[all …]
H A DRandomAccessVisitorTest.cpp82 std::vector<TypeIndex> Indices;
99 AR.ElementType = TypeIndex::Int32(); in SetUpTestCase()
100 AR.IndexType = TypeIndex::UInt32(); in SetUpTestCase()
131 TypeIndex TI = TypeIndex::fromArrayIndex(Index); in ValidateDatabaseRecord()
141 TypeIndex TI = TypeIndex::fromArrayIndex(GlobalArrayIndex); in ValidateVisitedRecord()
163 std::vector<TypeIndex> Indices;
214 TypeIndex TI = TypeIndex::fromArrayIndex(I); in TEST_F()
243 TypeIndex TI = TypeIndex::fromArrayIndex(I); in TEST_F()
272 TypeIndex TI = TypeIndex::fromArrayIndex(I); in TEST_F()
303 TypeIndex TI = TypeIndex::fromArrayIndex(I); in TEST_F()
[all …]
/llvm-project-15.0.7/llvm/lib/DebugInfo/CodeView/
H A DTypeStreamMerger.cpp75 static const TypeIndex Untranslated;
108 void addMapping(TypeIndex Idx);
138 inline bool remapIndex(TypeIndex &Idx, ArrayRef<TypeIndex> Map) { in remapIndex()
145 inline bool remapIndexSimple(TypeIndex &Idx, ArrayRef<TypeIndex> Map) const { in remapIndexSimple()
161 bool remapIndexFallback(TypeIndex &Idx, ArrayRef<TypeIndex> Map);
177 TypeIndex CurIndex{TypeIndex::FirstNonSimpleIndex};
189 ArrayRef<TypeIndex> TypeLookup;
325 CurIndex = TypeIndex(TypeIndex::FirstNonSimpleIndex); in doit()
357 TypeIndex DestIdx = Untranslated; in remapType()
407 TypeIndex *DestTIs = in remapIndices()
[all …]
H A DAppendingTypeTableBuilder.cpp23 TypeIndex AppendingTypeTableBuilder::nextTypeIndex() const { in nextTypeIndex()
24 return TypeIndex::fromArrayIndex(SeenRecords.size()); in nextTypeIndex()
32 Optional<TypeIndex> AppendingTypeTableBuilder::getFirst() { in getFirst()
36 return TypeIndex(TypeIndex::FirstNonSimpleIndex); in getFirst()
39 Optional<TypeIndex> AppendingTypeTableBuilder::getNext(TypeIndex Prev) { in getNext()
45 CVType AppendingTypeTableBuilder::getType(TypeIndex Index){ in getType()
53 bool AppendingTypeTableBuilder::contains(TypeIndex Index) { in contains()
77 TypeIndex
79 TypeIndex NewTI = nextTypeIndex(); in insertRecordBytes()
85 TypeIndex
[all …]
H A DLazyRandomTypeCollection.cpp91 CVType LazyRandomTypeCollection::getType(TypeIndex Index) { in getType()
116 return TypeIndex::simpleTypeName(Index); in getTypeName()
136 bool LazyRandomTypeCollection::contains(TypeIndex Index) { in contains()
184 TypeIndex TIB = Prev->Type; in visitRangeForType()
194 TypeIndex TIE; in visitRangeForType()
196 TIE = TypeIndex::fromArrayIndex(capacity()); in visitRangeForType()
205 Optional<TypeIndex> LazyRandomTypeCollection::getFirst() { in getFirst()
206 TypeIndex TI = TypeIndex::fromArrayIndex(0); in getFirst()
214 Optional<TypeIndex> LazyRandomTypeCollection::getNext(TypeIndex Prev) { in getNext()
230 TypeIndex CurrentTI = TypeIndex::fromArrayIndex(0); in fullScanForType()
[all …]
H A DMergingTypeTableBuilder.cpp25 TypeIndex MergingTypeTableBuilder::nextTypeIndex() const { in nextTypeIndex()
26 return TypeIndex::fromArrayIndex(SeenRecords.size()); in nextTypeIndex()
36 Optional<TypeIndex> MergingTypeTableBuilder::getFirst() { in getFirst()
40 return TypeIndex(TypeIndex::FirstNonSimpleIndex); in getFirst()
43 Optional<TypeIndex> MergingTypeTableBuilder::getNext(TypeIndex Prev) { in getNext()
49 CVType MergingTypeTableBuilder::getType(TypeIndex Index) { in getType()
58 bool MergingTypeTableBuilder::contains(TypeIndex Index) { in contains()
102 TypeIndex ActualTI = Result.first->second; in insertRecordAs()
107 TypeIndex
112 TypeIndex
[all …]
H A DGlobalTypeTableBuilder.cpp24 TypeIndex GlobalTypeTableBuilder::nextTypeIndex() const { in nextTypeIndex()
25 return TypeIndex::fromArrayIndex(SeenRecords.size()); in nextTypeIndex()
35 Optional<TypeIndex> GlobalTypeTableBuilder::getFirst() { in getFirst()
39 return TypeIndex(TypeIndex::FirstNonSimpleIndex); in getFirst()
42 Optional<TypeIndex> GlobalTypeTableBuilder::getNext(TypeIndex Prev) { in getNext()
48 CVType GlobalTypeTableBuilder::getType(TypeIndex Index) { in getType()
53 StringRef GlobalTypeTableBuilder::getTypeName(TypeIndex Index) { in getTypeName()
57 bool GlobalTypeTableBuilder::contains(TypeIndex Index) { in contains()
99 TypeIndex
101 TypeIndex TI; in insertRecord()
[all …]
H A DTypeTableCollection.cpp24 Optional<TypeIndex> TypeTableCollection::getFirst() { in getFirst()
27 return TypeIndex::fromArrayIndex(0); in getFirst()
30 Optional<TypeIndex> TypeTableCollection::getNext(TypeIndex Prev) { in getNext()
38 CVType TypeTableCollection::getType(TypeIndex Index) { in getType()
43 StringRef TypeTableCollection::getTypeName(TypeIndex Index) { in getTypeName()
45 return TypeIndex::simpleTypeName(Index); in getTypeName()
55 bool TypeTableCollection::contains(TypeIndex Index) { in contains()
63 bool TypeTableCollection::replaceType(TypeIndex &Index, CVType Data, in replaceType()
/llvm-project-15.0.7/llvm/lib/CodeGen/AsmPrinter/
H A DCodeViewDebug.h278 codeview::TypeIndex VBPType;
396 codeview::TypeIndex getTypeIndex(const DIType *Ty,
399 codeview::TypeIndex
408 codeview::TypeIndex getScopeIndex(const DIScope *Scope);
410 codeview::TypeIndex getVBPTypeIndex();
420 codeview::TypeIndex lowerTypeBasic(const DIBasicType *Ty);
421 codeview::TypeIndex lowerTypePointer(
424 codeview::TypeIndex lowerTypeMemberPointer(
430 codeview::TypeIndex lowerTypeMemberFunction(
443 codeview::TypeIndex getCompleteTypeIndex(const DIType *Ty);
[all …]
H A DCodeViewDebug.cpp398 TypeIndex TI; in getFuncIdForSubprogram()
765 TypeIndex TI(TypeIndex::FirstNonSimpleIndex); in emitTypeGlobalHashes()
1740 TypeIndex CharType = TypeIndex(SimpleTypeKind::NarrowCharacter); in lowerTypeString()
1755 TypeIndex Index; in lowerTypeBasic()
2025 TypeIndex ReturnTypeIndex = TypeIndex::Void(); in lowerTypeFunction()
2056 TypeIndex ReturnTypeIndex = TypeIndex::Void(); in lowerTypeMemberFunction()
2214 TypeIndex FTI; in lowerTypeEnum()
2399 ClassRecord CR(Kind, 0, CO, TypeIndex(), TypeIndex(), TypeIndex(), 0, in lowerTypeClass()
2484 std::tuple<TypeIndex, TypeIndex, unsigned, bool>
2647 codeview::TypeIndex
[all …]
/llvm-project-15.0.7/lld/COFF/
H A DDebugTypes.h34 using llvm::codeview::TypeIndex;
70 bool remapTypeIndex(TypeIndex &ti, llvm::codeview::TiRefKind refKind) const;
76 void mergeTypeRecord(TypeIndex curIndex, llvm::codeview::CVType ty);
83 TypeIndex beginIndex = TypeIndex(TypeIndex::FirstNonSimpleIndex));
132 llvm::SmallVector<TypeIndex, 0> indexMapStorage;
137 llvm::ArrayRef<TypeIndex> tpiMap;
138 llvm::ArrayRef<TypeIndex> ipiMap;
146 std::vector<std::pair<TypeIndex, TypeIndex>> funcIdToType;
/llvm-project-15.0.7/llvm/test/DebugInfo/PDB/Inputs/
H A Dmerge-ids-1.yaml3 # 'One' [TypeIndex: 0x1000 (4096)]
8 # 'Two' [TypeIndex: 0x1001 (4097)]
13 # 'OnlyInFirst' [TypeIndex: 0x1002 (4098)]
18 # 'SubOne' [TypeIndex: 0x1003 (4099)]
23 # 'SubTwo' [TypeIndex: 0x1004 (4100)]
28 # 'SubOne', 'SubTwo' [TypeIndex: 0x1005 (4101)]
32 # 'Main' {'SubOne', 'SubTwo'} [TypeIndex: 0x1006 (4102)]
H A Dmerge-ids-and-types-2.yaml30 # TypeIndex: 4096 (0x1000)
35 # TypeIndex: 4097 (0x1001)
45 # TypeIndex: 4098 (0x1002)
51 # TypeIndex: 4099 (0x1003)
56 # TypeIndex: 4100 (0x1004)
71 # TypeIndex: 4101 (0x1005)
80 # TypeIndex: 4102 (0x1006)
86 # TypeIndex: 4103 (0x1007)
95 # TypeIndex: 4104 (0x1008)
108 # TypeIndex: 4096 (0x1000)
[all …]
H A Dmerge-ids-2.yaml3 # 'SubTwo' [TypeIndex: 0x1000 (4096)]
8 # 'OnlyInSecond' [TypeIndex: 0x1001 (4097)]
13 # 'SubOne' [TypeIndex: 0x1002 (4098)]
18 # 'SubOne', 'SubTwo' [TypeIndex: 0x1003 (4099)]
22 # 'One' [TypeIndex: 0x1004 (4100)]
27 # 'Main' {'SubOne', 'SubTwo'} [TypeIndex: 0x1005 (4101)]
H A Dmerge-ids-and-types-1.yaml23 # TypeIndex: 4096 (0x1000)
29 # TypeIndex: 4097 (0x1001)
39 # TypeIndex: 4098 (0x1002)
44 # TypeIndex: 4099 (0x1003)
59 # TypeIndex: 4100 (0x1004)
65 # TypeIndex: 4101 (0x1005)
70 # TypeIndex: 4102 (0x1006)
81 # TypeIndex: 4103 (0x1007)
92 # TypeIndex: 4096 (0x1000)
99 # TypeIndex: 4097 (0x1001)
[all …]

123456