[llvm-commits] [llvm] r98182 - /llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp
Jim Grosbach
grosbach at apple.com
Wed Mar 10 11:59:47 PST 2010
Author: grosbach
Date: Wed Mar 10 13:59:47 2010
New Revision: 98182
URL: http://llvm.org/viewvc/llvm-project?rev=98182&view=rev
Log:
comment why we use custom epilogue for t1 functions using vaargs.
Modified:
llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp
Modified: llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp?rev=98182&r1=98181&r2=98182&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Thumb1RegisterInfo.cpp Wed Mar 10 13:59:47 2010
@@ -854,6 +854,11 @@
}
if (VARegSaveSize) {
+ // Unlike T2 and ARM mode, the T1 pop instruction cannot restore
+ // to LR, and we can't pop the value directly to the PC since
+ // we need to update the SP after popping the value. Therefore, we
+ // pop the old LR into R3 as a temporary.
+
// Move back past the callee-saved register restoration
while (MBBI != MBB.end() && isCSRestore(MBBI, CSRegs))
++MBBI;
More information about the llvm-commits
mailing list