[llvm-commits] [llvm] r57911 - /llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp

Jim Grosbach grosbach at apple.com
Tue Oct 21 09:54:19 PDT 2008


Author: grosbach
Date: Tue Oct 21 11:54:12 2008
New Revision: 57911

URL: http://llvm.org/viewvc/llvm-project?rev=57911&view=rev
Log:
use pre-UAL mnemonics for push/pop for compilaton callback function

Modified:
    llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp

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

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp Tue Oct 21 11:54:12 2008
@@ -56,7 +56,7 @@
     // for the real target function right now. We have to act as if this
     // whole compilation callback doesn't exist as far as the caller is
     // concerned, so we can't just preserve the callee saved regs.
-    "push {r0, r1, r2, r3, lr}\n"
+    "stmdb sp!, {r0, r1, r2, r3, lr}\n"
     // The LR contains the address of the stub function on entry.
     // pass it as the argument to the C part of the callback
     "mov  r0, lr\n"
@@ -87,7 +87,7 @@
     // The above twiddling of the saved return addresses allows us to
     // deallocate everything, including the LR the stub saved, all in one
     // pop instruction.
-    "pop  {r0, r1, r2, r3, lr, pc}\n"
+    "ldmia  sp!, {r0, r1, r2, r3, lr, pc}\n"
       );
 #else  // Not an ARM host
   void ARMCompilationCallback() {





More information about the llvm-commits mailing list