From: Jim Grosbach Date: Tue, 21 Oct 2008 16:54:12 +0000 (+0000) Subject: use pre-UAL mnemonics for push/pop for compilaton callback function X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=a9ab95b38b0aec44e26a3b36a6b37498dc2acdde;p=oota-llvm.git use pre-UAL mnemonics for push/pop for compilaton callback function git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57911 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMJITInfo.cpp b/lib/Target/ARM/ARMJITInfo.cpp index 39cde991415..c2db9cda8f9 100644 --- a/lib/Target/ARM/ARMJITInfo.cpp +++ b/lib/Target/ARM/ARMJITInfo.cpp @@ -56,7 +56,7 @@ extern "C" { // 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 @@ extern "C" { // 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() {