diff options
author | Reid Kleckner <reid@kleckner.net> | 2015-07-07 23:45:58 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2015-07-07 23:45:58 +0000 |
commit | e69bdb8619c716d506d69a0bebedf24ca3254bc7 (patch) | |
tree | 208b2da9cf004c469e45af14454bcdf4726d862b /llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | |
parent | 84936e0b431efb85e404390b21f7f3b8951e9cad (diff) | |
download | bcm5719-llvm-e69bdb8619c716d506d69a0bebedf24ca3254bc7.tar.gz bcm5719-llvm-e69bdb8619c716d506d69a0bebedf24ca3254bc7.zip |
[WinEH] Make llvm.x86.seh.restoreframe work for stack realignment prologues
The incoming EBP value points to the end of a local stack allocation, so
we can use that to restore ESI, the base pointer. Once we do that, we
can use local stack allocations. If we know we need stack realignment,
spill the original frame pointer in the prologue and reload it after
restoring ESI.
llvm-svn: 241648
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp index 91656da41ec..af1ae5903c7 100644 --- a/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp @@ -148,7 +148,7 @@ void FunctionLoweringInfo::set(const Function &fn, MachineFunction &mf, TLI->getRegForInlineAsmConstraint(TRI, Op.ConstraintCode, Op.ConstraintVT); if (PhysReg.first == SP) - MF->getFrameInfo()->setHasInlineAsmWithSPAdjust(true); + MF->getFrameInfo()->setHasOpaqueSPAdjustment(true); } } } |