diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-03-24 23:46:01 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-03-24 23:46:01 +0000 |
commit | 11470c48d05b3b9073080cc5702df66f184a3e6c (patch) | |
tree | af4f470b306764352a138f7e63242d31d3a3fc08 /llvm/lib/CodeGen/MachineFunction.cpp | |
parent | 037f6b9c0f52ed46882ec8800a6c3aeff3a84d35 (diff) | |
download | llvm-11470c48d05b3b9073080cc5702df66f184a3e6c.zip llvm-11470c48d05b3b9073080cc5702df66f184a3e6c.tar.gz llvm-11470c48d05b3b9073080cc5702df66f184a3e6c.tar.bz2 |
X86: Fix frameescape when not using an FP
We can't use TargetFrameLowering::getFrameIndexOffset directly, because
Win64 really wants the offset from the stack pointer at the end of the
prologue. Instead, use X86FrameLowering::getFrameIndexOffsetFromSP(),
which is a pretty close approximiation of that. It fails to handle cases
with interestingly large stack alignments, which is pretty uncommon on
Win64 and is TODO.
llvm-svn: 233137
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineFunction.cpp | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/llvm/lib/CodeGen/MachineFunction.cpp b/llvm/lib/CodeGen/MachineFunction.cpp index 9c90334..6ceace8 100644 --- a/llvm/lib/CodeGen/MachineFunction.cpp +++ b/llvm/lib/CodeGen/MachineFunction.cpp @@ -584,14 +584,6 @@ int MachineFrameInfo::CreateFixedSpillStackObject(uint64_t Size, return -++NumFixedObjects; } -int MachineFrameInfo::CreateFrameAllocation(uint64_t Size) { - // Force the use of a frame pointer. The intention is that this intrinsic be - // used in conjunction with unwind mechanisms that leak the frame pointer. - setFrameAddressIsTaken(true); - Size = RoundUpToAlignment(Size, StackAlignment); - return CreateStackObject(Size, StackAlignment, false); -} - BitVector MachineFrameInfo::getPristineRegs(const MachineBasicBlock *MBB) const { assert(MBB && "MBB must be valid"); |