[llvm-commits] [llvm] r94627 - in /llvm/trunk/lib/Target/ARM: ARMBaseInstrInfo.cpp ARMInstrThumb.td

Jim Grosbach grosbach at apple.com
Tue Jan 26 16:07:21 PST 2010


Author: grosbach
Date: Tue Jan 26 18:07:20 2010
New Revision: 94627

URL: http://llvm.org/viewvc/llvm-project?rev=94627&view=rev
Log:
Adjust setjmp instruction sequence to not need 32-bit alignment padding

Modified:
    llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
    llvm/trunk/lib/Target/ARM/ARMInstrThumb.td

Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=94627&r1=94626&r2=94627&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Tue Jan 26 18:07:20 2010
@@ -470,7 +470,7 @@
     case ARM::Int_eh_sjlj_setjmp:
       return 24;
     case ARM::tInt_eh_sjlj_setjmp:
-      return 22;
+      return 20;
     case ARM::t2Int_eh_sjlj_setjmp:
       return 22;
     case ARM::BR_JTr:

Modified: llvm/trunk/lib/Target/ARM/ARMInstrThumb.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrThumb.td?rev=94627&r1=94626&r2=94627&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMInstrThumb.td (original)
+++ llvm/trunk/lib/Target/ARM/ARMInstrThumb.td Tue Jan 26 18:07:20 2010
@@ -820,14 +820,13 @@
                               "mov\tr12, r1\t@ begin eh.setjmp\n"
                               "\tmov\tr1, sp\n"
                               "\tstr\tr1, [$src, #8]\n"
-                              "\tadr\tr1, 0f\n"
-                              "\tadds\tr1, #1\n"
+                              "\tmov\tr1, pc\n"
+                              "\tadds\tr1, #9\n"
                               "\tstr\tr1, [$src, #4]\n"
                               "\tmov\tr1, r12\n"
                               "\tmovs\tr0, #0\n"
                               "\tb\t1f\n"
-                              ".align 2\n"
-                              "0:\tmovs\tr0, #1\t@ end eh.setjmp\n"
+                              "\tmovs\tr0, #1\t@ end eh.setjmp\n"
                               "1:", "",
                               [(set R0, (ARMeh_sjlj_setjmp GPR:$src))]>;
 }





More information about the llvm-commits mailing list