[llvm-commits] [llvm] r124694 - /llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp
Renato Golin
Renato.Golin at arm.com
Wed Feb 2 03:14:39 PST 2011
Hi Bob,
Two things...
First, silly comment but, would be good to update the comment just above (all in one pop) to reflect the change.
Second, I'm not a JIT expert (nor I know the full context), but does that mix with the requirement of using BX LR (for ARM/Thumb switch)? Or the JOT never mix them up anyway?
cheers,
--renato
________________________________________
From: llvm-commits-bounces at cs.uiuc.edu [llvm-commits-bounces at cs.uiuc.edu] On Behalf Of Bob Wilson [bob.wilson at apple.com]
Sent: 01 February 2011 22:30
To: llvm-commits at cs.uiuc.edu
Subject: [llvm-commits] [llvm] r124694 - /llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp
Author: bwilson
Date: Tue Feb 1 16:30:51 2011
New Revision: 124694
URL: http://llvm.org/viewvc/llvm-project?rev=124694&view=rev
Log:
PR9081: Split up LDM instruction with deprecated use of both LR and PC.
This is completely untested but pretty straightforward, so hopefully I
got it right.
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=124694&r1=124693&r2=124694&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMJITInfo.cpp Tue Feb 1 16:30:51 2011
@@ -43,7 +43,7 @@
#define ASMPREFIX GETASMPREFIX(__USER_LABEL_PREFIX__)
// CompilationCallback stub - We can't use a C function with inline assembly in
-// it, because we the prolog/epilog inserted by GCC won't work for us (we need
+// it, because the prolog/epilog inserted by GCC won't work for us. (We need
// to preserve more context and manipulate the stack directly). Instead,
// write our own wrapper, which does things our way, so we have complete
// control over register saving and restoring.
@@ -99,7 +99,8 @@
// The above twiddling of the saved return addresses allows us to
// deallocate everything, including the LR the stub saved, all in one
// pop instruction.
- "ldmia sp!, {r0, r1, r2, r3, lr, pc}\n"
+ "ldmia sp!, {r0, r1, r2, r3, lr}\n"
+ "ldr pc, [sp], #4\n"
);
#else // Not an ARM host
void ARMCompilationCallback() {
_______________________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the llvm-commits
mailing list