[llvm-commits] [llvm] r151104 - /llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Feb 21 15:47:44 PST 2012
Author: stoklund
Date: Tue Feb 21 17:47:43 2012
New Revision: 151104
URL: http://llvm.org/viewvc/llvm-project?rev=151104&view=rev
Log:
Calls don't really change the stack pointer.
Even if a call instruction has %SP<imp-def> operands, it doesn't change
the value of the stack pointer.
Modified:
llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
Modified: llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp?rev=151104&r1=151103&r2=151104&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMBaseInstrInfo.cpp Tue Feb 21 17:47:43 2012
@@ -1400,7 +1400,8 @@
// saves compile time, because it doesn't require every single
// stack slot reference to depend on the instruction that does the
// modification.
- if (MI->definesRegister(ARM::SP))
+ // Calls don't actually change the stack pointer, even if they have imp-defs.
+ if (!MI->isCall() && MI->definesRegister(ARM::SP))
return true;
return false;
More information about the llvm-commits
mailing list