diff --git a/lib/DebugInfo/CodeView/SymbolDumper.cpp b/lib/DebugInfo/CodeView/SymbolDumper.cpp index b9fa9b6a6ad..c2c02f8de03 100644 --- a/lib/DebugInfo/CodeView/SymbolDumper.cpp +++ b/lib/DebugInfo/CodeView/SymbolDumper.cpp @@ -62,6 +62,18 @@ private: }; } +static StringRef getSymbolKindName(SymbolKind Kind) { + switch (Kind) { +#define SYMBOL_RECORD(EnumName, EnumVal, Name) \ + case EnumName: \ + return #Name; +#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def" + default: + break; + } + return "UnknownSym"; +} + void CVSymbolDumperImpl::printLocalVariableAddrRange( const LocalVariableAddrRange &Range, uint32_t RelocationOffset) { DictScope S(W, "LocalVariableAddrRange"); @@ -86,18 +98,23 @@ void CVSymbolDumperImpl::printTypeIndex(StringRef FieldName, TypeIndex TI) { } Error CVSymbolDumperImpl::visitSymbolBegin(CVSymbol &CVR) { + W.startLine() << getSymbolKindName(CVR.Type); + W.getOStream() << " {\n"; + W.indent(); + W.printEnum("Kind", unsigned(CVR.Type), getSymbolTypeNames()); return Error::success(); } Error CVSymbolDumperImpl::visitSymbolEnd(CVSymbol &CVR) { if (PrintRecordBytes && ObjDelegate) ObjDelegate->printBinaryBlockWithRelocs("SymData", CVR.content()); + + W.unindent(); + W.startLine() << "}\n"; return Error::success(); } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, BlockSym &Block) { - DictScope S(W, "BlockStart"); - StringRef LinkageName; W.printHex("PtrParent", Block.Parent); W.printHex("PtrEnd", Block.End); @@ -113,7 +130,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, BlockSym &Block) { } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Thunk32Sym &Thunk) { - DictScope S(W, "Thunk32"); W.printNumber("Parent", Thunk.Parent); W.printNumber("End", Thunk.End); W.printNumber("Next", Thunk.Next); @@ -126,7 +142,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Thunk32Sym &Thunk) { Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, TrampolineSym &Tramp) { - DictScope S(W, "Trampoline"); W.printEnum("Type", uint16_t(Tramp.Type), getTrampolineNames()); W.printNumber("Size", Tramp.Size); W.printNumber("ThunkOff", Tramp.ThunkOffset); @@ -137,7 +152,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, SectionSym &Section) { - DictScope S(W, "Section"); W.printNumber("SectionNumber", Section.SectionNumber); W.printNumber("Alignment", Section.Alignment); W.printNumber("Rva", Section.Rva); @@ -152,7 +166,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, SectionSym &Section) { Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, CoffGroupSym &CoffGroup) { - DictScope S(W, "COFF Group"); W.printNumber("Size", CoffGroup.Size); W.printFlags("Characteristics", CoffGroup.Characteristics, getImageSectionCharacteristicNames(), @@ -165,8 +178,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, BPRelativeSym &BPRel) { - DictScope S(W, "BPRelativeSym"); - W.printNumber("Offset", BPRel.Offset); printTypeIndex("Type", BPRel.Type); W.printString("VarName", BPRel.Name); @@ -175,16 +186,12 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, BuildInfoSym &BuildInfo) { - DictScope S(W, "BuildInfo"); - W.printNumber("BuildId", BuildInfo.BuildId); return Error::success(); } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, CallSiteInfoSym &CallSiteInfo) { - DictScope S(W, "CallSiteInfo"); - StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("CodeOffset", @@ -200,8 +207,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, EnvBlockSym &EnvBlock) { - DictScope S(W, "EnvBlock"); - ListScope L(W, "Entries"); for (auto Entry : EnvBlock.Fields) { W.printString(Entry); @@ -211,7 +216,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, FileStaticSym &FileStatic) { - DictScope S(W, "FileStatic"); printTypeIndex("Index", FileStatic.Index); W.printNumber("ModFilenameOffset", FileStatic.ModFilenameOffset); W.printFlags("Flags", uint16_t(FileStatic.Flags), getLocalFlagNames()); @@ -220,7 +224,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ExportSym &Export) { - DictScope S(W, "Export"); W.printNumber("Ordinal", Export.Ordinal); W.printFlags("Flags", uint16_t(Export.Flags), getExportSymFlagNames()); W.printString("Name", Export.Name); @@ -229,8 +232,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ExportSym &Export) { Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Compile2Sym &Compile2) { - DictScope S(W, "CompilerFlags2"); - W.printEnum("Language", Compile2.getLanguage(), getSourceLanguageNames()); W.printFlags("Flags", Compile2.getFlags(), getCompileSym2FlagNames()); W.printEnum("Machine", unsigned(Compile2.Machine), getCPUTypeNames()); @@ -254,8 +255,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Compile3Sym &Compile3) { - DictScope S(W, "CompilerFlags3"); - W.printEnum("Language", Compile3.getLanguage(), getSourceLanguageNames()); W.printFlags("Flags", Compile3.getFlags(), getCompileSym3FlagNames()); W.printEnum("Machine", unsigned(Compile3.Machine), getCPUTypeNames()); @@ -281,8 +280,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ConstantSym &Constant) { - DictScope S(W, "Constant"); - printTypeIndex("Type", Constant.Type); W.printNumber("Value", Constant.Value); W.printString("Name", Constant.Name); @@ -290,9 +287,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, DataSym &Data) { - DictScope S(W, "DataSym"); - - W.printEnum("Kind", uint16_t(CVR.kind()), getSymbolTypeNames()); StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("DataOffset", Data.getRelocationOffset(), @@ -308,15 +302,12 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, DataSym &Data) { Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeFramePointerRelFullScopeSym &DefRangeFramePointerRelFullScope) { - DictScope S(W, "DefRangeFramePointerRelFullScope"); W.printNumber("Offset", DefRangeFramePointerRelFullScope.Offset); return Error::success(); } Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeFramePointerRelSym &DefRangeFramePointerRel) { - DictScope S(W, "DefRangeFramePointerRel"); - W.printNumber("Offset", DefRangeFramePointerRel.Offset); printLocalVariableAddrRange(DefRangeFramePointerRel.Range, DefRangeFramePointerRel.getRelocationOffset()); @@ -326,8 +317,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeRegisterRelSym &DefRangeRegisterRel) { - DictScope S(W, "DefRangeRegisterRel"); - W.printNumber("BaseRegister", DefRangeRegisterRel.Hdr.Register); W.printBoolean("HasSpilledUDTMember", DefRangeRegisterRel.hasSpilledUDTMember()); @@ -341,8 +330,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeRegisterSym &DefRangeRegister) { - DictScope S(W, "DefRangeRegister"); - W.printNumber("Register", DefRangeRegister.Hdr.Register); W.printNumber("MayHaveNoName", DefRangeRegister.Hdr.MayHaveNoName); printLocalVariableAddrRange(DefRangeRegister.Range, @@ -353,8 +340,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeSubfieldRegisterSym &DefRangeSubfieldRegister) { - DictScope S(W, "DefRangeSubfieldRegister"); - W.printNumber("Register", DefRangeSubfieldRegister.Hdr.Register); W.printNumber("MayHaveNoName", DefRangeSubfieldRegister.Hdr.MayHaveNoName); W.printNumber("OffsetInParent", DefRangeSubfieldRegister.Hdr.OffsetInParent); @@ -366,8 +351,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeSubfieldSym &DefRangeSubfield) { - DictScope S(W, "DefRangeSubfield"); - if (ObjDelegate) { DebugStringTableSubsectionRef Strings = ObjDelegate->getStringTable(); auto ExpectedProgram = Strings.getString(DefRangeSubfield.Program); @@ -387,8 +370,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, DefRangeSym &DefRange) { - DictScope S(W, "DefRange"); - if (ObjDelegate) { DebugStringTableSubsectionRef Strings = ObjDelegate->getStringTable(); auto ExpectedProgram = Strings.getString(DefRange.Program); @@ -406,8 +387,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, FrameCookieSym &FrameCookie) { - DictScope S(W, "FrameCookie"); - StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("CodeOffset", @@ -423,8 +402,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, FrameProcSym &FrameProc) { - DictScope S(W, "FrameProc"); - W.printHex("TotalFrameBytes", FrameProc.TotalFrameBytes); W.printHex("PaddingFrameBytes", FrameProc.PaddingFrameBytes); W.printHex("OffsetToPadding", FrameProc.OffsetToPadding); @@ -440,8 +417,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, HeapAllocationSiteSym &HeapAllocSite) { - DictScope S(W, "HeapAllocationSite"); - StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("CodeOffset", @@ -458,8 +433,6 @@ Error CVSymbolDumperImpl::visitKnownRecord( Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, InlineSiteSym &InlineSite) { - DictScope S(W, "InlineSite"); - W.printHex("PtrParent", InlineSite.Parent); W.printHex("PtrEnd", InlineSite.End); printTypeIndex("Inlinee", InlineSite.Inlinee); @@ -515,7 +488,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, RegisterSym &Register) { - DictScope S(W, "RegisterSym"); printTypeIndex("Type", Register.Index); W.printEnum("Seg", uint16_t(Register.Register), getRegisterNames()); W.printString("Name", Register.Name); @@ -523,7 +495,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, PublicSym32 &Public) { - DictScope S(W, "PublicSym"); W.printFlags("Flags", uint32_t(Public.Flags), getPublicSymFlagNames()); W.printNumber("Seg", Public.Segment); W.printNumber("Off", Public.Offset); @@ -532,7 +503,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, PublicSym32 &Public) { } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ProcRefSym &ProcRef) { - DictScope S(W, "ProcRef"); W.printNumber("SumName", ProcRef.SumName); W.printNumber("SymOffset", ProcRef.SymOffset); W.printNumber("Mod", ProcRef.Module); @@ -541,8 +511,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ProcRefSym &ProcRef) { } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, LabelSym &Label) { - DictScope S(W, "Label"); - StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("CodeOffset", Label.getRelocationOffset(), @@ -558,8 +526,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, LabelSym &Label) { } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, LocalSym &Local) { - DictScope S(W, "Local"); - printTypeIndex("Type", Local.Type); W.printFlags("Flags", uint16_t(Local.Flags), getLocalFlagNames()); W.printString("VarName", Local.Name); @@ -567,16 +533,12 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, LocalSym &Local) { } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ObjNameSym &ObjName) { - DictScope S(W, "ObjectName"); - W.printHex("Signature", ObjName.Signature); W.printString("ObjectName", ObjName.Name); return Error::success(); } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ProcSym &Proc) { - DictScope S(W, "ProcStart"); - if (InFunctionScope) return llvm::make_error( "Visiting a ProcSym while inside function scope!"); @@ -584,7 +546,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ProcSym &Proc) { InFunctionScope = true; StringRef LinkageName; - W.printEnum("Kind", uint16_t(CVR.kind()), getSymbolTypeNames()); W.printHex("PtrParent", Proc.Parent); W.printHex("PtrEnd", Proc.End); W.printHex("PtrNext", Proc.Next); @@ -607,13 +568,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ProcSym &Proc) { Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ScopeEndSym &ScopeEnd) { - if (CVR.kind() == SymbolKind::S_END) - DictScope S(W, "BlockEnd"); - else if (CVR.kind() == SymbolKind::S_PROC_ID_END) - DictScope S(W, "ProcEnd"); - else if (CVR.kind() == SymbolKind::S_INLINESITE_END) - DictScope S(W, "InlineSiteEnd"); - InFunctionScope = false; return Error::success(); } @@ -627,8 +581,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, CallerSym &Caller) { Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, RegRelativeSym &RegRel) { - DictScope S(W, "RegRelativeSym"); - W.printHex("Offset", RegRel.Offset); printTypeIndex("Type", RegRel.Type); W.printEnum("Register", uint16_t(RegRel.Register), getRegisterNames()); @@ -638,8 +590,6 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, ThreadLocalDataSym &Data) { - DictScope S(W, "ThreadLocalDataSym"); - StringRef LinkageName; if (ObjDelegate) { ObjDelegate->printRelocatedField("DataOffset", Data.getRelocationOffset(), @@ -653,15 +603,12 @@ Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, } Error CVSymbolDumperImpl::visitKnownRecord(CVSymbol &CVR, UDTSym &UDT) { - DictScope S(W, "UDT"); printTypeIndex("Type", UDT.Type); W.printString("UDTName", UDT.Name); return Error::success(); } Error CVSymbolDumperImpl::visitUnknownSymbol(CVSymbol &CVR) { - DictScope S(W, "UnknownSym"); - W.printEnum("Kind", uint16_t(CVR.kind()), getSymbolTypeNames()); W.printNumber("Length", CVR.length()); return Error::success(); } diff --git a/test/DebugInfo/COFF/asm.ll b/test/DebugInfo/COFF/asm.ll index 3d245e9d396..a55eec2782a 100644 --- a/test/DebugInfo/COFF/asm.ll +++ b/test/DebugInfo/COFF/asm.ll @@ -35,7 +35,7 @@ ; OBJ32: CodeViewDebugInfo [ ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: CodeSize: 0x6 ; OBJ32: DisplayName: f ; OBJ32: LinkageName: _f @@ -94,13 +94,13 @@ ; OBJ64: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: CodeSize: 0xE ; OBJ64: DisplayName: f ; OBJ64: LinkageName: f ; OBJ64: } ; OBJ64-NEXT: ProcEnd { -; OBJ64-NEXT: } +; OBJ64: } ; OBJ64-NEXT: ] ; OBJ64: FunctionLineTable [ ; OBJ64-NEXT: Name: f diff --git a/test/DebugInfo/COFF/cpp-mangling.ll b/test/DebugInfo/COFF/cpp-mangling.ll index 8d1a136ec5f..6f8b5a21ffb 100644 --- a/test/DebugInfo/COFF/cpp-mangling.ll +++ b/test/DebugInfo/COFF/cpp-mangling.ll @@ -12,12 +12,12 @@ ; fn_tmpl(); ; } -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: FunctionType: bar ({{.*}}) ; CHECK: DisplayName: foo::bar{{$}} ; CHECK-NEXT: LinkageName: ?bar@foo@@YAHH@Z -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: FunctionType: fn_tmpl ({{.*}}) ; CHECK: DisplayName: foo::fn_tmpl ; CHECK-NEXT: LinkageName: ??$fn_tmpl@H$1?bar@foo@@YAHH@Z@foo@@YAXXZ diff --git a/test/DebugInfo/COFF/fp-stack.ll b/test/DebugInfo/COFF/fp-stack.ll index 4a30a49a376..8061e2ee23d 100644 --- a/test/DebugInfo/COFF/fp-stack.ll +++ b/test/DebugInfo/COFF/fp-stack.ll @@ -11,7 +11,7 @@ entry: } ; ASM: .cv_def_range Lfunc_begin0 Lfunc_end0, "A\021\200\000\000\000" -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 128 ; OBJ: MayHaveNoName: 0 ; OBJ: LocalVariableAddrRange { diff --git a/test/DebugInfo/COFF/globals.ll b/test/DebugInfo/COFF/globals.ll index 0d1b9413e3d..f5d6906e181 100644 --- a/test/DebugInfo/COFF/globals.ll +++ b/test/DebugInfo/COFF/globals.ll @@ -81,13 +81,13 @@ ; OBJ: DisplayName: first ; OBJ: LinkageName: ?first@@3HA ; OBJ: } -; OBJ: ThreadLocalDataSym { +; OBJ: GlobalTLS { ; OBJ: DataOffset: ?middle@@3PEBHEB+0x0 ; OBJ: Type: const int* (0x1001) ; OBJ: DisplayName: middle ; OBJ: LinkageName: ?middle@@3PEBHEB ; OBJ: } -; OBJ: DataSym { +; OBJ: GlobalData { ; OBJ: Kind: S_GDATA32 (0x110D) ; OBJ: DataOffset: ?last@@3HA+0x0 ; OBJ: Type: int (0x74) @@ -101,7 +101,7 @@ ; OBJ: Magic: 0x4 ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: DataSym { +; OBJ: GlobalData { ; OBJ: DataOffset: ?comdat@?$A@X@@2HB+0x0 ; OBJ: Type: const int (0x1000) ; OBJ: DisplayName: comdat diff --git a/test/DebugInfo/COFF/inlining-files.ll b/test/DebugInfo/COFF/inlining-files.ll index a6f5d281eb0..e3e616b618d 100644 --- a/test/DebugInfo/COFF/inlining-files.ll +++ b/test/DebugInfo/COFF/inlining-files.ll @@ -18,10 +18,10 @@ ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: DisplayName: f ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: file_change (0x1002) diff --git a/test/DebugInfo/COFF/inlining-header.ll b/test/DebugInfo/COFF/inlining-header.ll index 0981825e0d3..7e19f14716f 100644 --- a/test/DebugInfo/COFF/inlining-header.ll +++ b/test/DebugInfo/COFF/inlining-header.ll @@ -63,7 +63,7 @@ ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: FunctionType: main (0x1005) ; OBJ: CodeOffset: _main+0x0 @@ -74,8 +74,8 @@ ; OBJ: LinkageName: _main ; OBJ: } -; Previously, g's InlineSite referenced t.h, which was wasteful. -; OBJ: InlineSite { +; Previously, g's InlineSiteSym referenced t.h, which was wasteful. +; OBJ: InlineSiteSym { ; OBJ: Inlinee: g (0x1002) ; OBJ: BinaryAnnotations [ ; OBJ-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1} @@ -85,7 +85,7 @@ ; OBJ-NEXT: ] ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: Inlinee: f (0x1003) ; OBJ: BinaryAnnotations [ ; OBJ-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xD, LineOffset: 1} diff --git a/test/DebugInfo/COFF/inlining-levels.ll b/test/DebugInfo/COFF/inlining-levels.ll index 0c5c73c8fdb..7f93dbb850a 100644 --- a/test/DebugInfo/COFF/inlining-levels.ll +++ b/test/DebugInfo/COFF/inlining-levels.ll @@ -18,14 +18,14 @@ ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { -; OBJ: InlineSite { +; OBJ: {{.*}}Proc{{.*}}Sym { +; OBJ: InlineSiteSym { ; OBJ: Inlinee: h (0x1002) ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: Inlinee: g (0x1003) ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: Inlinee: f (0x1004) ; OBJ: } ; OBJ: InlineSiteEnd { diff --git a/test/DebugInfo/COFF/inlining-same-name.ll b/test/DebugInfo/COFF/inlining-same-name.ll index 4a9c9924135..3700b7060a7 100644 --- a/test/DebugInfo/COFF/inlining-same-name.ll +++ b/test/DebugInfo/COFF/inlining-same-name.ll @@ -14,15 +14,15 @@ ; CHECK: CodeViewDebugInfo [ ; CHECK: Section: .debug$S ; CHECK: Subsection [ -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: DisplayName: main ; CHECK: } -; CHECK: InlineSite { +; CHECK: InlineSiteSym { ; CHECK: Inlinee: same_name (0x1002) ; CHECK: } ; CHECK: InlineSiteEnd { ; CHECK: } -; CHECK: InlineSite { +; CHECK: InlineSiteSym { ; CHECK: Inlinee: same_name (0x1002) ; CHECK: } ; CHECK: InlineSiteEnd { diff --git a/test/DebugInfo/COFF/inlining.ll b/test/DebugInfo/COFF/inlining.ll index 76b8f8c88ee..ddfd5e056a1 100644 --- a/test/DebugInfo/COFF/inlining.ll +++ b/test/DebugInfo/COFF/inlining.ll @@ -166,7 +166,7 @@ ; OBJ: ] ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: PtrNext: 0x0 @@ -181,7 +181,7 @@ ; OBJ: DisplayName: baz ; OBJ: LinkageName: ?baz@@YAXXZ ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: bar (0x1002) @@ -193,7 +193,7 @@ ; OBJ-NEXT: ChangeCodeLength: 0x7 ; OBJ: ] ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: foo (0x1003) diff --git a/test/DebugInfo/COFF/int8-char-type.ll b/test/DebugInfo/COFF/int8-char-type.ll index 82972a45281..2e4395b4a59 100644 --- a/test/DebugInfo/COFF/int8-char-type.ll +++ b/test/DebugInfo/COFF/int8-char-type.ll @@ -5,7 +5,7 @@ ; DW_ATE_[un]signed encoding for all integer types if they don't have distinct ; integer types for characters types. This was PR30552. -; CHECK-LABEL: DataSym { +; CHECK-LABEL: GlobalData { ; CHECK-NEXT: Kind: S_GDATA32 (0x110D) ; CHECK-NEXT: DataOffset: ; CHECK-NEXT: Type: signed char (0x10) @@ -13,7 +13,7 @@ ; CHECK-NEXT: LinkageName: x ; CHECK-NEXT: } -; CHECK-LABEL: DataSym { +; CHECK-LABEL: GlobalData { ; CHECK-NEXT: Kind: S_GDATA32 (0x110D) ; CHECK-NEXT: DataOffset: ; CHECK-NEXT: Type: unsigned char (0x20) diff --git a/test/DebugInfo/COFF/local-constant.ll b/test/DebugInfo/COFF/local-constant.ll index bf8ba8446a6..c99dd32e22e 100644 --- a/test/DebugInfo/COFF/local-constant.ll +++ b/test/DebugInfo/COFF/local-constant.ll @@ -11,10 +11,11 @@ ; FIXME: Find a way to describe variables optimized to constants. -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: DisplayName: constant_var ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { +; OBJ-NEXT: Kind: ; OBJ-NEXT: Type: int (0x74) ; OBJ-NEXT: Flags [ (0x100) ; OBJ-NEXT: IsOptimizedOut (0x100) diff --git a/test/DebugInfo/COFF/local-variable-gap.ll b/test/DebugInfo/COFF/local-variable-gap.ll index a2d05eaa03e..ab38bbd8c13 100644 --- a/test/DebugInfo/COFF/local-variable-gap.ll +++ b/test/DebugInfo/COFF/local-variable-gap.ll @@ -66,12 +66,13 @@ ; ASM: .short 2 # Record length ; ASM: .short 4431 # Record kind: S_PROC_ID_END -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: VarName: p ; OBJ: } -; OBJ-NOT: Local { -; OBJ: DefRangeRegister { +; OBJ-NOT: LocalSym { +; OBJ: DefRangeRegisterSym { +; OBJ-NEXT: Kind: ; OBJ-NEXT: Register: 23 ; OBJ-NEXT: MayHaveNoName: 0 ; OBJ-NEXT: LocalVariableAddrRange { diff --git a/test/DebugInfo/COFF/local-variables.ll b/test/DebugInfo/COFF/local-variables.ll index 249b6e1103d..f7087f76f4c 100644 --- a/test/DebugInfo/COFF/local-variables.ll +++ b/test/DebugInfo/COFF/local-variables.ll @@ -99,18 +99,18 @@ ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: DisplayName: f ; OBJ: LinkageName: f ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: param ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 @@ -121,13 +121,13 @@ ; OBJ: Range: 0x4F ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: a ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 @@ -138,13 +138,13 @@ ; OBJ: Range: 0x21 ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: b ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 @@ -155,7 +155,7 @@ ; OBJ: Range: 0x1F ; OBJ: } ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: will_be_inlined (0x1002) @@ -166,13 +166,13 @@ ; OBJ: ChangeCodeLength: 0xC ; OBJ: ] ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: v ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 @@ -185,7 +185,7 @@ ; OBJ: } ; OBJ: InlineSiteEnd { ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: will_be_inlined (0x1002) @@ -196,13 +196,13 @@ ; OBJ: ChangeCodeLength: 0xA ; OBJ: ] ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: v ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 diff --git a/test/DebugInfo/COFF/long-name.ll b/test/DebugInfo/COFF/long-name.ll index 998d77f7ca0..65bd4c16f75 100644 --- a/test/DebugInfo/COFF/long-name.ll +++ b/test/DebugInfo/COFF/long-name.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -filetype=obj | llvm-readobj -codeview | FileCheck %s -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: Kind: S_GPROC32_ID (0x1147) ; CHECK: FunctionType: {{A+}} (0x1002) ; CHECK: CodeOffset: f+0x0 diff --git a/test/DebugInfo/COFF/multifile.ll b/test/DebugInfo/COFF/multifile.ll index 5e53fa57acc..8af99a6063e 100644 --- a/test/DebugInfo/COFF/multifile.ll +++ b/test/DebugInfo/COFF/multifile.ll @@ -43,13 +43,13 @@ ; OBJ32: ] ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: CodeSize: 0x10 ; OBJ32: DisplayName: f ; OBJ32: LinkageName: _f ; OBJ32: } ; OBJ32-NEXT: ProcEnd { -; OBJ32-NEXT: } +; OBJ32: } ; OBJ32-NEXT: ] ; OBJ32: FunctionLineTable [ ; OBJ32-NEXT: Name: _f @@ -115,13 +115,13 @@ ; OBJ64: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: CodeSize: 0x18 ; OBJ64: DisplayName: f ; OBJ64: LinkageName: f ; OBJ64: } ; OBJ64-NEXT: ProcEnd { -; OBJ64-NEXT: } +; OBJ64: } ; OBJ64-NEXT: ] ; OBJ64: FunctionLineTable [ ; OBJ64-NEXT: Name: f diff --git a/test/DebugInfo/COFF/multifunction.ll b/test/DebugInfo/COFF/multifunction.ll index a6290e8f021..87db2a20eaa 100644 --- a/test/DebugInfo/COFF/multifunction.ll +++ b/test/DebugInfo/COFF/multifunction.ll @@ -145,7 +145,7 @@ ; OBJ32: ] ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: Kind: S_LPROC32_ID (0x1146) ; OBJ32: CodeSize: 0x6 ; OBJ32: DisplayName: x @@ -159,7 +159,7 @@ ; OBJ32: ] ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: Kind: S_GPROC32_ID (0x1147) ; OBJ32: CodeSize: 0x6 ; OBJ32: DisplayName: y @@ -173,7 +173,7 @@ ; OBJ32: ] ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: Kind: S_GPROC32_ID (0x1147) ; OBJ32: CodeSize: 0x10 ; OBJ32: DisplayName: f @@ -419,7 +419,7 @@ ; OBJ64-NEXT: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: Kind: S_LPROC32_ID (0x1146) ; OBJ64: CodeSize: 0xE ; OBJ64: DisplayName: x @@ -433,7 +433,7 @@ ; OBJ64: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: Kind: S_GPROC32_ID (0x1147) ; OBJ64: CodeSize: 0xE ; OBJ64: DisplayName: y @@ -447,7 +447,7 @@ ; OBJ64: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: Kind: S_GPROC32_ID (0x1147) ; OBJ64: CodeSize: 0x18 ; OBJ64: DisplayName: f diff --git a/test/DebugInfo/COFF/pieces.ll b/test/DebugInfo/COFF/pieces.ll index 60330e05772..098f2ae62f0 100644 --- a/test/DebugInfo/COFF/pieces.ll +++ b/test/DebugInfo/COFF/pieces.ll @@ -105,21 +105,21 @@ ; ASM: .cv_def_range [[oy_start]] [[oy_end]], "C\021\027\000\000\000\004\000\000\000" -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: loop_csr ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: o ; OBJ: } -; OBJ: DefRangeSubfieldRegister { +; OBJ: DefRangeSubfieldRegisterSym { ; OBJ: Register: 24 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 0 ; OBJ: LocalVariableAddrRange { ; OBJ: } ; OBJ: } -; OBJ: DefRangeSubfieldRegister { +; OBJ: DefRangeSubfieldRegisterSym { ; OBJ: Register: 23 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 @@ -135,14 +135,14 @@ ; ASM: .asciz "o" ; ASM: .cv_def_range .Lfunc_begin1 .Lfunc_end1, "C\021\022\000\000\000\004\000\000\000" -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: pad_right ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: o ; OBJ: } -; OBJ: DefRangeSubfieldRegister { +; OBJ: DefRangeSubfieldRegisterSym { ; OBJ: Register: 18 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 @@ -158,14 +158,14 @@ ; ASM: .asciz "o" ; ASM: .cv_def_range .Lfunc_begin2 .Lfunc_end2, "C\021\022\000\000\000\000\000\000\000" -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: pad_left ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: o ; OBJ: } -; OBJ: DefRangeSubfieldRegister { +; OBJ: DefRangeSubfieldRegisterSym { ; OBJ: Register: 18 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 0 @@ -185,17 +185,17 @@ ; ASM: .asciz "p" ; ASM: .cv_def_range [[p_start]] .Lfunc_end3, "C\021\021\000\000\000\004\000\000\000" -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: nested ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: o ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: p ; OBJ: } -; OBJ: DefRangeSubfieldRegister { +; OBJ: DefRangeSubfieldRegisterSym { ; OBJ: Register: 17 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 @@ -212,14 +212,14 @@ ; ASM: .asciz "o" ; ASM: .cv_def_range [[spill_o_x_start]] [[spill_o_x_end]], "E\021O\001A\000$\000\000\000" -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: bitpiece_spill ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: VarName: o ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 335 ; OBJ: HasSpilledUDTMember: Yes ; OBJ: OffsetInParent: 4 diff --git a/test/DebugInfo/COFF/register-variables.ll b/test/DebugInfo/COFF/register-variables.ll index d0ca5ca2afa..f8cd5c4fc3c 100644 --- a/test/DebugInfo/COFF/register-variables.ll +++ b/test/DebugInfo/COFF/register-variables.ll @@ -81,17 +81,17 @@ ; OBJ: Subsection [ ; OBJ: SubSectionType: Symbols (0xF1) -; OBJ: ProcStart { +; OBJ: {{.*}}Proc{{.*}}Sym { ; OBJ: DisplayName: f ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: p ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 18 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x0 @@ -99,7 +99,7 @@ ; OBJ: Range: 0x7 ; OBJ: } ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 23 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x7 @@ -107,13 +107,13 @@ ; OBJ: Range: 0x18 ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: a ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 17 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC @@ -121,13 +121,13 @@ ; OBJ: Range: 0x6 ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: c ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 17 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC @@ -135,13 +135,13 @@ ; OBJ: Range: 0x4 ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: b ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 17 ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetStart: .text+0x12 @@ -149,19 +149,19 @@ ; OBJ: Range: 0x6 ; OBJ: } ; OBJ: } -; OBJ: InlineSite { +; OBJ: InlineSiteSym { ; OBJ: PtrParent: 0x0 ; OBJ: PtrEnd: 0x0 ; OBJ: Inlinee: inlineinc (0x1002) ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: a ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 17 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC @@ -169,13 +169,13 @@ ; OBJ: Range: 0x6 ; OBJ: } ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x0) ; OBJ: ] ; OBJ: VarName: b ; OBJ: } -; OBJ: DefRangeRegister { +; OBJ: DefRangeRegisterSym { ; OBJ: Register: 17 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x12 diff --git a/test/DebugInfo/COFF/simple.ll b/test/DebugInfo/COFF/simple.ll index 3a0b1c9fa7c..50d121be694 100644 --- a/test/DebugInfo/COFF/simple.ll +++ b/test/DebugInfo/COFF/simple.ll @@ -77,13 +77,13 @@ ; OBJ32-NEXT: ] ; OBJ32: Subsection [ ; OBJ32-NEXT: SubSectionType: Symbols (0xF1) -; OBJ32: ProcStart { +; OBJ32: {{.*}}Proc{{.*}}Sym { ; OBJ32: CodeSize: 0x6 ; OBJ32: DisplayName: f ; OBJ32: LinkageName: _f ; OBJ32: } ; OBJ32-NEXT: ProcEnd { -; OBJ32-NEXT: } +; OBJ32: } ; OBJ32-NEXT: ] ; OBJ32: FunctionLineTable [ ; OBJ32-NEXT: Name: _f @@ -174,13 +174,13 @@ ; OBJ64-NEXT: ] ; OBJ64: Subsection [ ; OBJ64-NEXT: SubSectionType: Symbols (0xF1) -; OBJ64: ProcStart { +; OBJ64: {{.*}}Proc{{.*}}Sym { ; OBJ64: CodeSize: 0xE ; OBJ64: DisplayName: f ; OBJ64: LinkageName: f ; OBJ64: } ; OBJ64-NEXT: ProcEnd { -; OBJ64-NEXT: } +; OBJ64: } ; OBJ64-NEXT: ] ; OBJ64: FunctionLineTable [ ; OBJ64-NEXT: Name: f diff --git a/test/DebugInfo/COFF/typedef.ll b/test/DebugInfo/COFF/typedef.ll index cf4e3df257d..9d841419c56 100644 --- a/test/DebugInfo/COFF/typedef.ll +++ b/test/DebugInfo/COFF/typedef.ll @@ -2,7 +2,7 @@ ; CHECK: CodeViewDebugInfo [ ; CHECK: Subsection [ -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: wchar_t (0x71) ; CHECK: Flags [ (0x0) ; CHECK: ] @@ -10,7 +10,7 @@ ; CHECK: } ; CHECK: Subsection [ ; CHECK: SubSectionType: Symbols (0xF1) -; CHECK: UDT { +; CHECK: UDTSym { ; CHECK: Type: wchar_t (0x71) ; CHECK: UDTName: XYZ ; CHECK: } diff --git a/test/DebugInfo/COFF/types-array.ll b/test/DebugInfo/COFF/types-array.ll index dca3884b1d0..1a4afa8bd21 100644 --- a/test/DebugInfo/COFF/types-array.ll +++ b/test/DebugInfo/COFF/types-array.ll @@ -46,7 +46,7 @@ ; CHECK: Magic: 0x4 ; CHECK: Subsection [ ; CHECK: SubSectionType: Symbols (0xF1) -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: PtrParent: 0x0 ; CHECK: PtrEnd: 0x0 ; CHECK: PtrNext: 0x0 @@ -61,13 +61,13 @@ ; CHECK: DisplayName: f ; CHECK: LinkageName: ?f@@YAXXZ ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: 0x1003 ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: a ; CHECK: } -; CHECK: DefRangeRegisterRel { +; CHECK: DefRangeRegisterRelSym { ; CHECK: BaseRegister: 22 ; CHECK: HasSpilledUDTMember: No ; CHECK: OffsetInParent: 0 diff --git a/test/DebugInfo/COFF/types-basic.ll b/test/DebugInfo/COFF/types-basic.ll index 4ead4bfc1c4..4b9fcd864c2 100644 --- a/test/DebugInfo/COFF/types-basic.ll +++ b/test/DebugInfo/COFF/types-basic.ll @@ -218,7 +218,7 @@ ; CHECK: CodeViewDebugInfo [ ; CHECK: Subsection [ ; CHECK: SubSectionType: Symbols (0xF1) -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: DbgStart: 0x0 ; CHECK: DbgEnd: 0x0 ; CHECK: FunctionType: f (0x1002) @@ -229,68 +229,68 @@ ; CHECK: DisplayName: f ; CHECK: LinkageName: ?f@@YAXMN_J@Z ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: float (0x40) ; CHECK: Flags [ (0x1) ; CHECK: IsParameter (0x1) ; CHECK: ] ; CHECK: VarName: p1 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: double (0x41) ; CHECK: Flags [ (0x1) ; CHECK: IsParameter (0x1) ; CHECK: ] ; CHECK: VarName: p2 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: __int64 (0x13) ; CHECK: Flags [ (0x1) ; CHECK: IsParameter (0x1) ; CHECK: ] ; CHECK: VarName: p3 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: int (0x74) ; CHECK: VarName: v1 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: int* (0x674) ; CHECK: VarName: v2 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: const int* (0x1004) ; CHECK: VarName: v21 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: void* (0x603) ; CHECK: VarName: v3 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: int A::* (0x1006) ; CHECK: VarName: v4 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: void A::() A::* (0x100E) ; CHECK: VarName: v5 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: long (0x12) ; CHECK: VarName: l1 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: long (0x12) ; CHECK: VarName: l2 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: unsigned long (0x22) ; CHECK: VarName: l3 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: unsigned long (0x22) ; CHECK: VarName: l4 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: const void* (0x1010) ; CHECK: VarName: v6 ; CHECK: } @@ -298,48 +298,48 @@ ; CHECK: } ; CHECK: ] ; CHECK: Subsection [ -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: Type: CharTypes (0x1012) ; CHECK: DisplayName: CharTypes ; CHECK: LinkageName: ?CharTypes@@YAXXZ ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: wchar_t (0x71) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: w ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: unsigned short (0x21) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: us ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: char (0x70) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: c ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: unsigned char (0x20) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: uc ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: signed char (0x10) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: sc ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: char16_t (0x7A) ; CHECK: Flags [ (0x0) ; CHECK: ] ; CHECK: VarName: c16 ; CHECK: } -; CHECK: Local { +; CHECK: LocalSym { ; CHECK: Type: char32_t (0x7B) ; CHECK: Flags [ (0x0) ; CHECK: ] diff --git a/test/DebugInfo/COFF/udts.ll b/test/DebugInfo/COFF/udts.ll index abc688d70a6..735901f7571 100644 --- a/test/DebugInfo/COFF/udts.ll +++ b/test/DebugInfo/COFF/udts.ll @@ -18,37 +18,39 @@ target triple = "i686-pc-windows-msvc18.0.0" ; typedef struct { int x; } U; ; U u; -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: DisplayName: f ; CHECK: LinkageName: ?f@@YAXXZ ; CHECK: } -; CHECK: UDT { +; CHECK: UDTSym { +; CHECK-NEXT: Kind: S_UDT (0x1108) ; CHECK-NEXT: Type: int (0x74) ; CHECK-NEXT: UDTName: f::FOO ; CHECK-NEXT: } ; CHECK-NEXT: ProcEnd { -; CHECK-NEXT: } -; CHECK: ProcStart { +; CHECK: {{.*}}Proc{{.*}}Sym { ; CHECK: DisplayName: g ; CHECK: LinkageName: ?g@@YAMPEAUS@@@Z ; CHECK: } -; CHECK: UDT { +; CHECK: UDTSym { +; CHECK-NEXT: Kind: S_UDT (0x1108) ; CHECK-NEXT: Type: g::pun (0x{{[0-9A-F]+}}) ; CHECK-NEXT: UDTName: g::pun ; CHECK-NEXT: } ; CHECK-NEXT: ProcEnd { -; CHECK-NEXT: } ; CHECK: Subsection -; CHECK-NOT: ProcStart -; CHECK: UDT { +; CHECK-NOT: {{.*}}Proc{{.*}}Sym +; CHECK: UDTSym { +; CHECK-NEXT: Kind: S_UDT (0x1108) ; CHECK-NEXT: Type: S (0x{{[0-9A-F]+}}) ; CHECK-NEXT: UDTName: S -; CHECK: UDT { +; CHECK: UDTSym { +; CHECK-NEXT: Kind: S_UDT (0x1108) ; CHECK-NEXT: Type: (0x{{[0-9A-F]+}}) ; CHECK-NEXT: UDTName: U -; CHECK-NOT: UDT { +; CHECK-NOT: UDTSym { %struct.U = type { i32 } %struct.S = type { i32 } diff --git a/test/DebugInfo/X86/dbg-declare-inalloca.ll b/test/DebugInfo/X86/dbg-declare-inalloca.ll index e3f5c7e629b..e8a310856c1 100644 --- a/test/DebugInfo/X86/dbg-declare-inalloca.ll +++ b/test/DebugInfo/X86/dbg-declare-inalloca.ll @@ -55,41 +55,41 @@ ; CHECK: .asciz "c" ; CHECK: .cv_def_range [[start]] [[end]] -; OBJ-LABEL: ProcStart { +; OBJ-LABEL: {{.*}}Proc{{.*}}Sym { ; OBJ: Kind: S_GPROC32_ID (0x1147) ; OBJ: DisplayName: f ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: NonTrivial (0x1007) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: a ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 21 ; OBJ: BasePointerOffset: 12 ; OBJ: } -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: b ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 21 ; OBJ: BasePointerOffset: 16 ; OBJ: } ; FIXME: Retain unused. -; OBJ: Local { +; OBJ: LocalSym { ; OBJ: Type: int (0x74) ; OBJ: Flags [ (0x1) ; OBJ: IsParameter (0x1) ; OBJ: ] ; OBJ: VarName: c ; OBJ: } -; OBJ: DefRangeRegisterRel { +; OBJ: DefRangeRegisterRelSym { ; OBJ: BaseRegister: 21 ; OBJ: BasePointerOffset: 24 ; OBJ: } diff --git a/test/MC/COFF/cv-def-range-gap.s b/test/MC/COFF/cv-def-range-gap.s index 9c153181996..29f2def8e1b 100644 --- a/test/MC/COFF/cv-def-range-gap.s +++ b/test/MC/COFF/cv-def-range-gap.s @@ -2,12 +2,13 @@ # This tries to test defrange gap edge cases. -# CHECK: Local { +# CHECK: LocalSym { # CHECK: Type: int (0x74) # CHECK: VarName: p # CHECK: } -# CHECK-NOT: Local { -# CHECK: DefRangeRegister { +# CHECK-NOT: LocalSym { +# CHECK: DefRangeRegisterSym { +# CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) # CHECK-NEXT: Register: 23 # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { @@ -20,7 +21,8 @@ # CHECK-NEXT: Range: 0x1 # CHECK-NEXT: ] # CHECK-NEXT: } -# CHECK-NEXT: DefRangeRegister { +# CHECK-NEXT: DefRangeRegisterSym { +# CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) # CHECK-NEXT: Register: 23 # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { @@ -29,7 +31,8 @@ # CHECK-NEXT: Range: 0x6 # CHECK-NEXT: } # CHECK-NEXT: } -# CHECK-NEXT: DefRangeRegister { +# CHECK-NEXT: DefRangeRegisterSym { +# CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) # CHECK-NEXT: Register: 23 # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { @@ -38,7 +41,8 @@ # CHECK-NEXT: Range: 0x1 # CHECK-NEXT: } # CHECK-NEXT: } -# CHECK-NEXT: DefRangeRegister { +# CHECK-NEXT: DefRangeRegisterSym { +# CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) # CHECK-NEXT: Register: 23 # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { diff --git a/test/MC/COFF/cv-def-range.s b/test/MC/COFF/cv-def-range.s index 5ac0df7f7d9..7a90ec26368 100644 --- a/test/MC/COFF/cv-def-range.s +++ b/test/MC/COFF/cv-def-range.s @@ -77,18 +77,18 @@ Ltmp3: .short 4431 # Record kind: S_PROC_ID_END .cv_def_range Lvar_begin0 Lvar_end0, "\102\021\374\377\377\377" -# CHECK: DefRangeFramePointerRel { +# CHECK: DefRangeFramePointerRelSym { # CHECK: Offset: -4 # CHECK: LocalVariableAddrRange { # CHECK: OffsetStart: .text+0x9 # CHECK: ISectStart: 0x0 # CHECK: Range: 0xF # CHECK: } +# CHECK: BlockRelocations [ +# CHECK: 0x4 IMAGE_REL_I386_SECREL .text +# CHECK: 0x8 IMAGE_REL_I386_SECTION .text +# CHECK: ] # CHECK: } -# CHECK: BlockRelocations [ -# CHECK: 0x4 IMAGE_REL_I386_SECREL .text -# CHECK: 0x8 IMAGE_REL_I386_SECTION .text -# CHECK: ] Ltmp1: .p2align 2 diff --git a/test/MC/COFF/cv-inline-linetable-infloop.s b/test/MC/COFF/cv-inline-linetable-infloop.s index 804ed6f404d..6b8e708befc 100644 --- a/test/MC/COFF/cv-inline-linetable-infloop.s +++ b/test/MC/COFF/cv-inline-linetable-infloop.s @@ -1,6 +1,6 @@ # RUN: llvm-mc -triple=x86_64-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s -# CHECK: InlineSite { +# CHECK: InlineSiteSym { # CHECK: BinaryAnnotations [ # CHECK: ChangeLineOffset: 1 # CHECK: ChangeCodeLength: 0x2 diff --git a/test/MC/COFF/cv-inline-linetable-unlikely.s b/test/MC/COFF/cv-inline-linetable-unlikely.s index dd3a66f419c..bfb745bd9bb 100644 --- a/test/MC/COFF/cv-inline-linetable-unlikely.s +++ b/test/MC/COFF/cv-inline-linetable-unlikely.s @@ -19,13 +19,13 @@ # calls to __asan_report*, for which it is very important to have an accurate # stack trace. -# CHECK: ProcStart { +# CHECK: GlobalProcIdSym { # CHECK: FunctionType: g (0x1003) # CHECK: CodeOffset: g+0x0 # CHECK: DisplayName: g # CHECK: LinkageName: g # CHECK: } -# CHECK: InlineSite { +# CHECK: InlineSiteSym { # CHECK: Inlinee: f (0x1002) # CHECK: BinaryAnnotations [ # CHECK-NEXT: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xE, LineOffset: 1} diff --git a/test/MC/COFF/cv-inline-linetable-unreachable.s b/test/MC/COFF/cv-inline-linetable-unreachable.s index 0f29d1667c3..d894fc758fb 100644 --- a/test/MC/COFF/cv-inline-linetable-unreachable.s +++ b/test/MC/COFF/cv-inline-linetable-unreachable.s @@ -76,7 +76,7 @@ Ltmp6: .short 4429 .asciz "\000\000\000\000\000\000\000\000\003\020\000" .cv_inline_linetable 1 1 3 Lfunc_begin0 Lfunc_end0 -# CHECK: InlineSite { +# CHECK: InlineSiteSym { # CHECK: PtrParent: 0x0 # CHECK: PtrEnd: 0x0 # CHECK: Inlinee: f (0x1003) diff --git a/test/MC/COFF/cv-inline-linetable.s b/test/MC/COFF/cv-inline-linetable.s index bb68fcde21b..2c89f9836c4 100644 --- a/test/MC/COFF/cv-inline-linetable.s +++ b/test/MC/COFF/cv-inline-linetable.s @@ -88,7 +88,7 @@ Ltmp4: .short 4429 .asciz "\000\000\000\000\000\000\000\000\003\020\000" .cv_inline_linetable 1 1 9 Lfunc_begin0 Lfunc_end0 -# CHECK: InlineSite { +# CHECK: InlineSiteSym { # CHECK: PtrParent: 0x0 # CHECK: PtrEnd: 0x0 # CHECK: Inlinee: bar (0x1003) @@ -106,7 +106,7 @@ Ltmp6: .short 4429 .asciz "\000\000\000\000\000\000\000\000\004\020\000" .cv_inline_linetable 2 1 3 Lfunc_begin0 Lfunc_end0 -# CHECK: InlineSite { +# CHECK: InlineSiteSym { # CHECK: PtrParent: 0x0 # CHECK: PtrEnd: 0x0 # CHECK: Inlinee: foo (0x1004) diff --git a/test/tools/llvm-readobj/codeview-linetables.test b/test/tools/llvm-readobj/codeview-linetables.test index fe68e7efdb0..9256aefe433 100644 --- a/test/tools/llvm-readobj/codeview-linetables.test +++ b/test/tools/llvm-readobj/codeview-linetables.test @@ -41,7 +41,7 @@ MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B -MFUN32: ProcStart { +MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0xA MFUN32: DisplayName: x MFUN32: LinkageName: _x @@ -60,7 +60,7 @@ MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B -MFUN32: ProcStart { +MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0xA MFUN32: DisplayName: y MFUN32: LinkageName: _y @@ -79,7 +79,7 @@ MFUN32: ] MFUN32: Subsection [ MFUN32-NEXT: SubSectionType: Symbols (0xF1) MFUN32-NEXT: SubSectionSize: 0x4B -MFUN32: ProcStart { +MFUN32: GlobalProcIdSym { MFUN32: CodeSize: 0x14 MFUN32: DisplayName: f MFUN32: LinkageName: _f @@ -193,7 +193,7 @@ MFUN64: ] MFUN64: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B -MFUN64: ProcStart { +MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0xE MFUN64: DisplayName: x MFUN64: LinkageName: x @@ -208,7 +208,7 @@ MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B -MFUN64: ProcStart { +MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0xE MFUN64: DisplayName: y MFUN64: LinkageName: y @@ -223,7 +223,7 @@ MFUN64-NEXT: ] MFUN64-NEXT: Subsection [ MFUN64-NEXT: SubSectionType: Symbols (0xF1) MFUN64-NEXT: SubSectionSize: 0x4B -MFUN64: ProcStart { +MFUN64: GlobalProcIdSym { MFUN64: CodeSize: 0x18 MFUN64: DisplayName: f MFUN64: LinkageName: f @@ -365,7 +365,7 @@ MFILE32: ] MFILE32: Subsection [ MFILE32-NEXT: SubSectionType: Symbols (0xF1) MFILE32-NEXT: SubSectionSize: 0x4B -MFILE32: ProcStart { +MFILE32: GlobalProcIdSym { MFILE32: CodeSize: 0x14 MFILE32: DisplayName: f MFILE32: LinkageName: _f @@ -442,7 +442,7 @@ MFILE64: ] MFILE64: Subsection [ MFILE64-NEXT: SubSectionType: Symbols (0xF1) MFILE64-NEXT: SubSectionSize: 0x4B -MFILE64: ProcStart { +MFILE64: GlobalProcIdSym { MFILE64: CodeSize: 0x18 MFILE64: DisplayName: f MFILE64: LinkageName: f @@ -528,7 +528,7 @@ RUN: | FileCheck %s -check-prefix MCOMDAT RUN: llvm-readobj -s -codeview -section-symbols %p/Inputs/comdat-function-linetables.obj.coff-2013-i386 \ RUN: | FileCheck %s -check-prefix MCOMDAT -MCOMDAT: ProcStart { +MCOMDAT: GlobalProcIdSym { MCOMDAT: CodeSize: 0x7 MCOMDAT: DisplayName: f MCOMDAT: LinkageName: ?f@@YAHXZ @@ -556,7 +556,7 @@ MCOMDAT-NEXT: IsStatement: Yes MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] MCOMDAT-NEXT: ] -MCOMDAT: ProcStart { +MCOMDAT: GlobalProcIdSym { MCOMDAT: CodeSize: 0x7 MCOMDAT: DisplayName: g MCOMDAT: LinkageName: ?g@@YAHXZ