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());
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());
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,
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);
; 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
; 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{{.*}}
; OBJ: VarName: param
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 52
; OBJ: VarName: a
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 40
; OBJ: VarName: b
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 36
; OBJ: VarName: v
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 44
; OBJ: VarName: v
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 48
; 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 {
; OBJ: VarName: o
; OBJ: }
; OBJ: DefRangeSubfieldRegisterSym {
-; OBJ: Register: 18
+; OBJ: Register: ECX (0x12)
; OBJ: MayHaveNoName: 0
; OBJ: OffsetInParent: 4
; OBJ: LocalVariableAddrRange {
; OBJ: VarName: o
; OBJ: }
; OBJ: DefRangeSubfieldRegisterSym {
-; OBJ: Register: 18
+; OBJ: Register: ECX (0x12)
; OBJ: MayHaveNoName: 0
; OBJ: OffsetInParent: 0
; OBJ: LocalVariableAddrRange {
; OBJ: VarName: o
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 330
+; OBJ: BaseRegister: RCX (0x14A)
; OBJ: HasSpilledUDTMember: No
; OBJ: OffsetInParent: 0
; OBJ: BasePointerOffset: 0
; OBJ: VarName: p
; OBJ: }
; OBJ: DefRangeSubfieldRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: MayHaveNoName: 0
; OBJ: OffsetInParent: 4
; OBJ: LocalVariableAddrRange {
; OBJ: VarName: o
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 335
+; OBJ: BaseRegister: RSP (0x14F)
; OBJ: HasSpilledUDTMember: Yes
; OBJ: OffsetInParent: 4
; OBJ: BasePointerOffset: 36
; OBJ: VarName: p
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 18
+; OBJ: Register: ECX (0x12)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0x0
; OBJ: ISectStart: 0x0
; OBJ: }
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 23
+; OBJ: Register: ESI (0x17)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0x7
; OBJ: ISectStart: 0x0
; OBJ: VarName: a
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0xC
; OBJ: ISectStart: 0x0
; OBJ: VarName: c
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0xC
; OBJ: ISectStart: 0x0
; OBJ: VarName: b
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: MayHaveNoName: 0
; OBJ: OffsetStart: .text+0x13
; OBJ: ISectStart: 0x0
; OBJ: VarName: a
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0xC
; OBJ: ISectStart: 0x0
; OBJ: VarName: b
; OBJ: }
; OBJ: DefRangeRegisterSym {
-; OBJ: Register: 17
+; OBJ: Register: EAX (0x11)
; OBJ: LocalVariableAddrRange {
; OBJ: OffsetStart: .text+0x13
; OBJ: ISectStart: 0x0
; CHECK: VarName: a
; CHECK: }
; CHECK: DefRangeRegisterRelSym {
-; CHECK: BaseRegister: 22
+; CHECK: BaseRegister: EBP (0x16)
; CHECK: HasSpilledUDTMember: No
; CHECK: OffsetInParent: 0
; CHECK: BasePointerOffset: -20
; OBJ: VarName: a
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 21
+; OBJ: BaseRegister: ESP (0x15)
; OBJ: BasePointerOffset: 12
; OBJ: }
; OBJ: LocalSym {
; OBJ: VarName: b
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 21
+; OBJ: BaseRegister: ESP (0x15)
; OBJ: BasePointerOffset: 16
; OBJ: }
; FIXME: Retain unused.
; OBJ: VarName: c
; OBJ: }
; OBJ: DefRangeRegisterRelSym {
-; OBJ: BaseRegister: 21
+; OBJ: BaseRegister: ESP (0x15)
; OBJ: BasePointerOffset: 24
; OBJ: }
; OBJ-LABEL: ProcEnd {
# 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
# 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
# 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
# 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