Revert "Patch by Ray Donnelly to print register names instead of numbers."

This reverts commit r206683.

The code was confusing SEH register numbers with DWARF register numbers.
The test case it was committed with was obviously incorrect.  The
disassembler was roundtripping '.seh_pushreg %rsi' as '.seh_pushreg
%rbp', and other exciting things.

Noticed by Vadim Chugunov.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210574 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Kleckner 2014-06-10 20:16:36 +00:00
parent 258e8223e6
commit e21498e604
2 changed files with 8 additions and 15 deletions

View File

@ -1134,17 +1134,14 @@ void MCAsmStreamer::EmitWin64EHHandlerData() {
void MCAsmStreamer::EmitWin64EHPushReg(unsigned Register) {
MCStreamer::EmitWin64EHPushReg(Register);
OS << "\t.seh_pushreg ";
EmitRegisterName(Register);
OS << "\t.seh_pushreg " << Register;
EmitEOL();
}
void MCAsmStreamer::EmitWin64EHSetFrame(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSetFrame(Register, Offset);
OS << "\t.seh_setframe ";
EmitRegisterName(Register);
OS << ", " << Offset;
OS << "\t.seh_setframe " << Register << ", " << Offset;
EmitEOL();
}
@ -1158,18 +1155,14 @@ void MCAsmStreamer::EmitWin64EHAllocStack(unsigned Size) {
void MCAsmStreamer::EmitWin64EHSaveReg(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSaveReg(Register, Offset);
OS << "\t.seh_savereg ";
EmitRegisterName(Register);
OS << ", " << Offset;
OS << "\t.seh_savereg " << Register << ", " << Offset;
EmitEOL();
}
void MCAsmStreamer::EmitWin64EHSaveXMM(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSaveXMM(Register, Offset);
OS << "\t.seh_savexmm ";
EmitRegisterName(Register);
OS << ", " << Offset;
OS << "\t.seh_savexmm " << Register << ", " << Offset;
EmitEOL();
}

View File

@ -3,10 +3,10 @@
# CHECK: .seh_proc func
# CHECK: .seh_pushframe @code
# CHECK: .seh_stackalloc 24
# CHECK: .seh_savereg %rbp, 16
# CHECK: .seh_savexmm %r8, 0
# CHECK: .seh_pushreg %rbx
# CHECK: .seh_setframe %rbx, 0
# CHECK: .seh_savereg 6, 16
# CHECK: .seh_savexmm 8, 0
# CHECK: .seh_pushreg 3
# CHECK: .seh_setframe 3, 0
# CHECK: .seh_endprologue
# CHECK: .seh_handler __C_specific_handler, @except
# CHECK-NOT: .section{{.*}}.xdata