summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaron Keren <yaron.keren@gmail.com>2014-04-19 05:40:09 +0000
committerYaron Keren <yaron.keren@gmail.com>2014-04-19 05:40:09 +0000
commit2fa9e6ca34a1f696904c0b8006c91d64679c2b51 (patch)
treea495a3525686390d1e9dd2f0b17ba722118410d3
parent428d601bd3ceb49e9cf4b684e41be8435eeb272b (diff)
downloadllvm-2fa9e6ca34a1f696904c0b8006c91d64679c2b51.tar.gz
llvm-2fa9e6ca34a1f696904c0b8006c91d64679c2b51.tar.bz2
llvm-2fa9e6ca34a1f696904c0b8006c91d64679c2b51.tar.xz
Patch by Ray Donnelly to print register names instead of numbers.
http://reviews.llvm.org/D3422 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206683 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/MC/MCAsmStreamer.cpp15
-rw-r--r--test/MC/AsmParser/directive_seh.s8
2 files changed, 15 insertions, 8 deletions
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 37e6a59f5f..754a3013c4 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/lib/MC/MCAsmStreamer.cpp
@@ -1257,14 +1257,17 @@ void MCAsmStreamer::EmitWin64EHHandlerData() {
void MCAsmStreamer::EmitWin64EHPushReg(unsigned Register) {
MCStreamer::EmitWin64EHPushReg(Register);
- OS << "\t.seh_pushreg " << Register;
+ OS << "\t.seh_pushreg ";
+ EmitRegisterName(Register);
EmitEOL();
}
void MCAsmStreamer::EmitWin64EHSetFrame(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSetFrame(Register, Offset);
- OS << "\t.seh_setframe " << Register << ", " << Offset;
+ OS << "\t.seh_setframe ";
+ EmitRegisterName(Register);
+ OS << ", " << Offset;
EmitEOL();
}
@@ -1278,14 +1281,18 @@ void MCAsmStreamer::EmitWin64EHAllocStack(unsigned Size) {
void MCAsmStreamer::EmitWin64EHSaveReg(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSaveReg(Register, Offset);
- OS << "\t.seh_savereg " << Register << ", " << Offset;
+ OS << "\t.seh_savereg ";
+ EmitRegisterName(Register);
+ OS << ", " << Offset;
EmitEOL();
}
void MCAsmStreamer::EmitWin64EHSaveXMM(unsigned Register, unsigned Offset) {
MCStreamer::EmitWin64EHSaveXMM(Register, Offset);
- OS << "\t.seh_savexmm " << Register << ", " << Offset;
+ OS << "\t.seh_savexmm ";
+ EmitRegisterName(Register);
+ OS << ", " << Offset;
EmitEOL();
}
diff --git a/test/MC/AsmParser/directive_seh.s b/test/MC/AsmParser/directive_seh.s
index 98fc6061f9..f6eb9705ca 100644
--- a/test/MC/AsmParser/directive_seh.s
+++ b/test/MC/AsmParser/directive_seh.s
@@ -3,10 +3,10 @@
# CHECK: .seh_proc func
# CHECK: .seh_pushframe @code
# CHECK: .seh_stackalloc 24
-# CHECK: .seh_savereg 6, 16
-# CHECK: .seh_savexmm 8, 0
-# CHECK: .seh_pushreg 3
-# CHECK: .seh_setframe 3, 0
+# CHECK: .seh_savereg %rbp, 16
+# CHECK: .seh_savexmm %r8, 0
+# CHECK: .seh_pushreg %rbx
+# CHECK: .seh_setframe %rbx, 0
# CHECK: .seh_endprologue
# CHECK: .seh_handler __C_specific_handler, @except
# CHECK-NOT: .section{{.*}}.xdata