diff options
author | Hans Wennborg <hans@hanshq.net> | 2016-03-25 01:10:56 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2016-03-25 01:10:56 +0000 |
commit | 4ae5119eeba206e2b1d88491e8ed76ed0f80721f (patch) | |
tree | f6dbb98d4d296d8e03752195c99274ab4b233bd2 /llvm/lib/Target/X86/X86FrameLowering.cpp | |
parent | 9651813ee0d9633e12accb7ae673a8a3b944f35c (diff) | |
download | bcm5719-llvm-4ae5119eeba206e2b1d88491e8ed76ed0f80721f.tar.gz bcm5719-llvm-4ae5119eeba206e2b1d88491e8ed76ed0f80721f.zip |
X86: Use push-pop for materializing 8-bit immediates for minsize (take 2)
This is the same as r255936, with added logic for avoiding clobbering of the
red zone (PR26023).
Differential Revision: http://reviews.llvm.org/D18246
llvm-svn: 264375
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index dd8b8134c43..9beb916d23d 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -958,6 +958,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF, !MF.shouldSplitStack()) { // Regular stack uint64_t MinSize = X86FI->getCalleeSavedFrameSize(); if (HasFP) MinSize += SlotSize; + X86FI->setUsesRedZone(MinSize > 0 || StackSize > 0); StackSize = std::max(MinSize, StackSize > 128 ? StackSize - 128 : 0); MFI->setStackSize(StackSize); } |