diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-07-16 12:27:59 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-07-16 12:27:59 +0000 |
commit | e1ea4e7d159edd6a2485f10ec89ff60118f5b0ce (patch) | |
tree | 0dd0ab5f495305cdbdde65bc096c91e7d9021879 /llvm/lib/Support/TargetParser.cpp | |
parent | 8c3b4f2e78fb9e7c16a464062192f2796ab3650c (diff) | |
download | llvm-e1ea4e7d159edd6a2485f10ec89ff60118f5b0ce.zip llvm-e1ea4e7d159edd6a2485f10ec89ff60118f5b0ce.tar.gz llvm-e1ea4e7d159edd6a2485f10ec89ff60118f5b0ce.tar.bz2 |
[X86] Fix emitPrologue() to make less assumptions about pushes
When X86FrameLowering::emitPrologue() looks for where to insert the %esp subtraction
to allocate stack space for local allocations, it assumes that any sequence of push
instructions that starts at function entry consists purely of spills of callee-save
registers.
This may be false, since from some point forward, the pushes may pushing arguments
to a subsequent function call.
This caused a miscompile that was exposed by r240257, and is not easily testable
since r240257 was reverted. A test will be committed separately after r240257 is
reapplied.
llvm-svn: 242395
Diffstat (limited to 'llvm/lib/Support/TargetParser.cpp')
0 files changed, 0 insertions, 0 deletions