summaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMJITInfo.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2008-10-21 16:54:12 +0000
committerJim Grosbach <grosbach@apple.com>2008-10-21 16:54:12 +0000
commita9ab95b38b0aec44e26a3b36a6b37498dc2acdde (patch)
treeabdb74c08be2433d62f76d753b3fa4e36e5e65c4 /lib/Target/ARM/ARMJITInfo.cpp
parentcef7527a85d026aeb17a4dacca73c70c0ab5da40 (diff)
downloadexternal_llvm-a9ab95b38b0aec44e26a3b36a6b37498dc2acdde.zip
external_llvm-a9ab95b38b0aec44e26a3b36a6b37498dc2acdde.tar.gz
external_llvm-a9ab95b38b0aec44e26a3b36a6b37498dc2acdde.tar.bz2
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
Diffstat (limited to 'lib/Target/ARM/ARMJITInfo.cpp')
-rw-r--r--lib/Target/ARM/ARMJITInfo.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMJITInfo.cpp b/lib/Target/ARM/ARMJITInfo.cpp
index 39cde99..c2db9cd 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() {