diff options
author | Juergen Ributzka <juergen@apple.com> | 2014-10-02 22:21:49 +0000 |
---|---|---|
committer | Juergen Ributzka <juergen@apple.com> | 2014-10-02 22:21:49 +0000 |
commit | 99bd3cba8b75f79c3ecaa22e341381c98b799200 (patch) | |
tree | e223885d70287f4c765b42660c92c18d2cdd6078 /llvm/lib/Target/X86 | |
parent | 89d402f88e877f014c8a49e915080bff91092cfc (diff) | |
download | bcm5719-llvm-99bd3cba8b75f79c3ecaa22e341381c98b799200.tar.gz bcm5719-llvm-99bd3cba8b75f79c3ecaa22e341381c98b799200.zip |
[Stackmaps] Make ithe frame-pointer required for stackmaps.
Do not eliminate the frame pointer if there is a stackmap or patchpoint in the
function. All stackmap references should be FP relative.
This fixes PR21107.
llvm-svn: 218920
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp index 96954fc901b..cfd68a5c1b4 100644 --- a/llvm/lib/Target/X86/X86FrameLowering.cpp +++ b/llvm/lib/Target/X86/X86FrameLowering.cpp @@ -53,7 +53,8 @@ bool X86FrameLowering::hasFP(const MachineFunction &MF) const { MFI->hasVarSizedObjects() || MFI->isFrameAddressTaken() || MFI->hasInlineAsmWithSPAdjust() || MF.getInfo<X86MachineFunctionInfo>()->getForceFramePointer() || - MMI.callsUnwindInit() || MMI.callsEHReturn()); + MMI.callsUnwindInit() || MMI.callsEHReturn() || + MFI->hasStackMap() || MFI->hasPatchPoint()); } static unsigned getSUBriOpcode(unsigned IsLP64, int64_t Imm) { |