[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