Skip to content

Commit 55858aa

Browse files
Introduce AbbrevContent and AbbrevEntry
(cherry picked from commit 90eb045)
1 parent c3a1207 commit 55858aa

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

llvm/lib/MCCAS/MCCASObjectV1.cpp

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3086,11 +3086,26 @@ mccasformats::v1::loadDIETopLevel(DIETopLevelRef TopLevelRef) {
30863086
}
30873087

30883088
struct DIEVisitor {
3089+
3090+
struct AbbrevContent {
3091+
dwarf::Attribute Attr;
3092+
dwarf::Form Form;
3093+
bool FormInDistinctData;
3094+
std::optional<uint8_t> FormSize;
3095+
};
3096+
3097+
struct AbbrevEntry {
3098+
dwarf::Tag Tag;
3099+
bool HasChildren;
3100+
SmallVector<AbbrevContent> AbbrevContents;
3101+
};
3102+
30893103
Error visitDIERef(DIEDedupeTopLevelRef Ref);
30903104
Error visitDIERef(ArrayRef<DIEDataRef> &DIEChildrenStack);
30913105
Error visitDIEAttrs(AbbrevEntryReader &AbbrevReader,
30923106
BinaryStreamReader &Reader, StringRef DIEData);
30933107

3108+
SmallVector<AbbrevEntry> AbbrevEntryCache;
30943109
ArrayRef<StringRef> AbbrevEntries;
30953110
BinaryStreamReader DistinctReader;
30963111
StringRef DistinctData;
@@ -3295,8 +3310,8 @@ Error mccasformats::v1::visitDebugInfo(
32953310
HeaderCallback(toStringRef(HeaderData));
32963311

32973312
append_range(TotAbbrevEntries, LoadedTopRef->AbbrevEntries);
3298-
DIEVisitor Visitor{TotAbbrevEntries, DistinctReader, DistinctData,
3299-
HeaderCallback, StartTagCallback, AttrCallback,
3300-
EndTagCallback, NewBlockCallback};
3313+
DIEVisitor Visitor{{}, TotAbbrevEntries, DistinctReader,
3314+
DistinctData, HeaderCallback, StartTagCallback,
3315+
AttrCallback, EndTagCallback, NewBlockCallback};
33013316
return Visitor.visitDIERef(LoadedTopRef->RootDIE);
33023317
}

0 commit comments

Comments
 (0)