diff options
| author | Yaron Keren <yaron.keren@gmail.com> | 2014-04-19 05:40:09 +0000 | 
|---|---|---|
| committer | Yaron Keren <yaron.keren@gmail.com> | 2014-04-19 05:40:09 +0000 | 
| commit | 421304d18c2dba1bd6fa976b205f5c15196720a0 (patch) | |
| tree | 27af76157297bc6eb4bdd437ff0f5d82c3ce385d | |
| parent | 3c326b36cc5c811d7ad9448e409a9c255ac890e4 (diff) | |
| download | bcm5719-llvm-421304d18c2dba1bd6fa976b205f5c15196720a0.tar.gz bcm5719-llvm-421304d18c2dba1bd6fa976b205f5c15196720a0.zip  | |
Patch by Ray Donnelly to print register names instead of numbers.
http://reviews.llvm.org/D3422
llvm-svn: 206683
| -rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 15 | ||||
| -rw-r--r-- | llvm/test/MC/AsmParser/directive_seh.s | 8 | 
2 files changed, 15 insertions, 8 deletions
diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 37e6a59f5f5..754a3013c44 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/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/llvm/test/MC/AsmParser/directive_seh.s b/llvm/test/MC/AsmParser/directive_seh.s index 98fc6061f9d..f6eb9705caa 100644 --- a/llvm/test/MC/AsmParser/directive_seh.s +++ b/llvm/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  | 

