diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-12 14:17:35 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-02-12 14:17:35 +0000 |
commit | f4d1aca56808ba143da704fb51bdf0df52ca6fef (patch) | |
tree | 1467dda135c7db421a3f4d2016b16c416d86086c /llvm/lib/Target/X86/X86CallFrameOptimization.cpp | |
parent | b08862c4f0685023dd05ffc3c756aa6a5b50b049 (diff) | |
download | bcm5719-llvm-f4d1aca56808ba143da704fb51bdf0df52ca6fef.tar.gz bcm5719-llvm-f4d1aca56808ba143da704fb51bdf0df52ca6fef.zip |
[X86] Call frame optimization - allow stack-relative movs to be folded into a push
Since we track esp precisely, there's no reason not to allow this.
llvm-svn: 228924
Diffstat (limited to 'llvm/lib/Target/X86/X86CallFrameOptimization.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86CallFrameOptimization.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86CallFrameOptimization.cpp b/llvm/lib/Target/X86/X86CallFrameOptimization.cpp index c0c009b6b7a..1ede5c73f2b 100644 --- a/llvm/lib/Target/X86/X86CallFrameOptimization.cpp +++ b/llvm/lib/Target/X86/X86CallFrameOptimization.cpp @@ -469,12 +469,6 @@ MachineInstr *X86CallFrameOptimization::canFoldIntoRegPush( DefMI->getParent() != FrameSetup->getParent()) return nullptr; - // Be careful with movs that load from a stack slot, since it may get - // resolved incorrectly. - // TODO: Again, we already have the infrastructure, so this should work. - if (!DefMI->getOperand(1).isReg()) - return nullptr; - // Now, make sure everything else up until the ADJCALLSTACK is a sequence // of MOVs. To be less conservative would require duplicating a lot of the // logic from PeepholeOptimizer. |