[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