Index: lib/DebugInfo/CodeView/SymbolDumper.cpp =================================================================== --- lib/DebugInfo/CodeView/SymbolDumper.cpp +++ lib/DebugInfo/CodeView/SymbolDumper.cpp @@ -317,7 +317,8 @@ Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeRegisterRelSym &DefRangeRegisterRel) { - W.printNumber("BaseRegister", DefRangeRegisterRel.Hdr.Register); + W.printEnum("BaseRegister", uint16_t(DefRangeRegisterRel.Hdr.Register), + getRegisterNames()); W.printBoolean("HasSpilledUDTMember", DefRangeRegisterRel.hasSpilledUDTMember()); W.printNumber("OffsetInParent", DefRangeRegisterRel.offsetInParent()); @@ -330,7 +331,8 @@ Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeRegisterSym &DefRangeRegister) { - W.printNumber("Register", DefRangeRegister.Hdr.Register); + W.printEnum("Register", uint16_t(DefRangeRegister.Hdr.Register), + getRegisterNames()); W.printNumber("MayHaveNoName", DefRangeRegister.Hdr.MayHaveNoName); printLocalVariableAddrRange(DefRangeRegister.Range, DefRangeRegister.getRelocationOffset()); @@ -340,7 +342,8 @@ Error CVSymbolDumperImpl::visitKnownRecord( CVSymbol &CVR, DefRangeSubfieldRegisterSym &DefRangeSubfieldRegister) { - W.printNumber("Register", DefRangeSubfieldRegister.Hdr.Register); + W.printEnum("Register", uint16_t(DefRangeSubfieldRegister.Hdr.Register), + getRegisterNames()); W.printNumber("MayHaveNoName", DefRangeSubfieldRegister.Hdr.MayHaveNoName); W.printNumber("OffsetInParent", DefRangeSubfieldRegister.Hdr.OffsetInParent); printLocalVariableAddrRange(DefRangeSubfieldRegister.Range, @@ -393,7 +396,7 @@ FrameCookie.getRelocationOffset(), FrameCookie.CodeOffset, &LinkageName); } - W.printHex("Register", FrameCookie.Register); + W.printEnum("Register", uint16_t(FrameCookie.Register), getRegisterNames()); W.printEnum("CookieKind", uint16_t(FrameCookie.CookieKind), getFrameCookieKindNames()); W.printHex("Flags", FrameCookie.Flags); Index: test/DebugInfo/COFF/fp-stack.ll =================================================================== --- test/DebugInfo/COFF/fp-stack.ll +++ test/DebugInfo/COFF/fp-stack.ll @@ -12,7 +12,7 @@ ; ASM: .cv_def_range Lfunc_begin0 Lfunc_end0, "A\021\200\000\000\000" ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 128 +; OBJ: Register: 0x80 ; OBJ: MayHaveNoName: 0 ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x0 Index: test/DebugInfo/COFF/local-variable-gap.ll =================================================================== --- test/DebugInfo/COFF/local-variable-gap.ll +++ test/DebugInfo/COFF/local-variable-gap.ll @@ -73,7 +73,7 @@ ; OBJ-NOT: LocalSym { ; OBJ: DefRangeRegisterSym { ; OBJ-NEXT: Kind: -; OBJ-NEXT: Register: 23 +; OBJ-NEXT: Register: ESI (0x17) ; OBJ-NEXT: MayHaveNoName: 0 ; OBJ-NEXT: LocalVariableAddrRange { ; OBJ-NEXT: OffsetStart: .text+0x{{.*}} Index: test/DebugInfo/COFF/local-variables.ll =================================================================== --- test/DebugInfo/COFF/local-variables.ll +++ test/DebugInfo/COFF/local-variables.ll @@ -111,7 +111,7 @@ ; OBJ: VarName: param ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 52 @@ -128,7 +128,7 @@ ; OBJ: VarName: a ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 40 @@ -145,7 +145,7 @@ ; OBJ: VarName: b ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 36 @@ -173,7 +173,7 @@ ; OBJ: VarName: v ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 44 @@ -203,7 +203,7 @@ ; OBJ: VarName: v ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 48 Index: test/DebugInfo/COFF/pieces.ll =================================================================== --- test/DebugInfo/COFF/pieces.ll +++ test/DebugInfo/COFF/pieces.ll @@ -113,14 +113,14 @@ ; OBJ: VarName: o ; OBJ: } ; OBJ: DefRangeSubfieldRegisterSym { -; OBJ: Register: 24 +; OBJ: Register: EDI (0x18) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 0 ; OBJ: LocalVariableAddrRange { ; OBJ: } ; OBJ: } ; OBJ: DefRangeSubfieldRegisterSym { -; OBJ: Register: 23 +; OBJ: Register: ESI (0x17) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 ; OBJ: LocalVariableAddrRange { @@ -143,7 +143,7 @@ ; OBJ: VarName: o ; OBJ: } ; OBJ: DefRangeSubfieldRegisterSym { -; OBJ: Register: 18 +; OBJ: Register: ECX (0x12) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 ; OBJ: LocalVariableAddrRange { @@ -166,7 +166,7 @@ ; OBJ: VarName: o ; OBJ: } ; OBJ: DefRangeSubfieldRegisterSym { -; OBJ: Register: 18 +; OBJ: Register: ECX (0x12) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 0 ; OBJ: LocalVariableAddrRange { @@ -193,7 +193,7 @@ ; OBJ: VarName: o ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 330 +; OBJ: BaseRegister: RCX (0x14A) ; OBJ: HasSpilledUDTMember: No ; OBJ: OffsetInParent: 0 ; OBJ: BasePointerOffset: 0 @@ -204,7 +204,7 @@ ; OBJ: VarName: p ; OBJ: } ; OBJ: DefRangeSubfieldRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetInParent: 4 ; OBJ: LocalVariableAddrRange { @@ -228,7 +228,7 @@ ; OBJ: VarName: o ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 335 +; OBJ: BaseRegister: RSP (0x14F) ; OBJ: HasSpilledUDTMember: Yes ; OBJ: OffsetInParent: 4 ; OBJ: BasePointerOffset: 36 Index: test/DebugInfo/COFF/register-variables.ll =================================================================== --- test/DebugInfo/COFF/register-variables.ll +++ test/DebugInfo/COFF/register-variables.ll @@ -92,7 +92,7 @@ ; OBJ: VarName: p ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 18 +; OBJ: Register: ECX (0x12) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x0 ; OBJ: ISectStart: 0x0 @@ -100,7 +100,7 @@ ; OBJ: } ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 23 +; OBJ: Register: ESI (0x17) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x7 ; OBJ: ISectStart: 0x0 @@ -114,7 +114,7 @@ ; OBJ: VarName: a ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC ; OBJ: ISectStart: 0x0 @@ -128,7 +128,7 @@ ; OBJ: VarName: c ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC ; OBJ: ISectStart: 0x0 @@ -142,7 +142,7 @@ ; OBJ: VarName: b ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: MayHaveNoName: 0 ; OBJ: OffsetStart: .text+0x13 ; OBJ: ISectStart: 0x0 @@ -162,7 +162,7 @@ ; OBJ: VarName: a ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0xC ; OBJ: ISectStart: 0x0 @@ -176,7 +176,7 @@ ; OBJ: VarName: b ; OBJ: } ; OBJ: DefRangeRegisterSym { -; OBJ: Register: 17 +; OBJ: Register: EAX (0x11) ; OBJ: LocalVariableAddrRange { ; OBJ: OffsetStart: .text+0x13 ; OBJ: ISectStart: 0x0 Index: test/DebugInfo/COFF/types-array.ll =================================================================== --- test/DebugInfo/COFF/types-array.ll +++ test/DebugInfo/COFF/types-array.ll @@ -68,7 +68,7 @@ ; CHECK: VarName: a ; CHECK: } ; CHECK: DefRangeRegisterRelSym { -; CHECK: BaseRegister: 22 +; CHECK: BaseRegister: EBP (0x16) ; CHECK: HasSpilledUDTMember: No ; CHECK: OffsetInParent: 0 ; CHECK: BasePointerOffset: -20 Index: test/DebugInfo/X86/dbg-declare-inalloca.ll =================================================================== --- test/DebugInfo/X86/dbg-declare-inalloca.ll +++ test/DebugInfo/X86/dbg-declare-inalloca.ll @@ -67,7 +67,7 @@ ; OBJ: VarName: a ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 21 +; OBJ: BaseRegister: ESP (0x15) ; OBJ: BasePointerOffset: 12 ; OBJ: } ; OBJ: LocalSym { @@ -78,7 +78,7 @@ ; OBJ: VarName: b ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 21 +; OBJ: BaseRegister: ESP (0x15) ; OBJ: BasePointerOffset: 16 ; OBJ: } ; FIXME: Retain unused. @@ -90,7 +90,7 @@ ; OBJ: VarName: c ; OBJ: } ; OBJ: DefRangeRegisterRelSym { -; OBJ: BaseRegister: 21 +; OBJ: BaseRegister: ESP (0x15) ; OBJ: BasePointerOffset: 24 ; OBJ: } ; OBJ-LABEL: ProcEnd { Index: test/MC/COFF/cv-def-range-gap.s =================================================================== --- test/MC/COFF/cv-def-range-gap.s +++ test/MC/COFF/cv-def-range-gap.s @@ -9,7 +9,7 @@ # CHECK-NOT: LocalSym { # CHECK: DefRangeRegisterSym { # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) -# CHECK-NEXT: Register: 23 +# CHECK-NEXT: Register: ESI (0x17) # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { # CHECK-NEXT: OffsetStart: .text+0x5 @@ -23,7 +23,7 @@ # CHECK-NEXT: } # CHECK-NEXT: DefRangeRegisterSym { # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) -# CHECK-NEXT: Register: 23 +# CHECK-NEXT: Register: ESI (0x17) # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { # CHECK-NEXT: OffsetStart: .text+0x10015 @@ -33,7 +33,7 @@ # CHECK-NEXT: } # CHECK-NEXT: DefRangeRegisterSym { # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) -# CHECK-NEXT: Register: 23 +# CHECK-NEXT: Register: ESI (0x17) # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { # CHECK-NEXT: OffsetStart: .text+0x2001B @@ -43,7 +43,7 @@ # CHECK-NEXT: } # CHECK-NEXT: DefRangeRegisterSym { # CHECK-NEXT: Kind: S_DEFRANGE_REGISTER (0x1141) -# CHECK-NEXT: Register: 23 +# CHECK-NEXT: Register: ESI (0x17) # CHECK-NEXT: MayHaveNoName: 0 # CHECK-NEXT: LocalVariableAddrRange { # CHECK-NEXT: OffsetStart: .text+0x2001C