summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86FrameLowering.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-10-12 00:06:57 +0000
committerReid Kleckner <rnk@google.com>2017-10-12 00:06:57 +0000
commit29cfa6f11fcf06c3d896ff56254ee34733e12671 (patch)
treeaa085cd171d4870fe7ebe9bfa9735b64a590eb1b /llvm/lib/Target/X86/X86FrameLowering.cpp
parentb6d3452243d94282d4d7f42f900a7e763f116fb0 (diff)
downloadbcm5719-llvm-29cfa6f11fcf06c3d896ff56254ee34733e12671.tar.gz
bcm5719-llvm-29cfa6f11fcf06c3d896ff56254ee34733e12671.zip
[codeview] Disable FPO in functions using EH funclets
Funclets are emitted by WinException which doesn't have access to X86TargetStreamer so it's hard to make a quick fix for this. llvm-svn: 315538
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp')
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp
index dd68cb154a5..4b895bab72e 100644
--- a/llvm/lib/Target/X86/X86FrameLowering.cpp
+++ b/llvm/lib/Target/X86/X86FrameLowering.cpp
@@ -952,6 +952,7 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
bool IsWin64Prologue = MF.getTarget().getMCAsmInfo()->usesWindowsCFI();
bool NeedsWin64CFI = IsWin64Prologue && Fn->needsUnwindTableEntry();
bool NeedsWinFPO = STI.isTargetWin32() && MMI.getModule()->getCodeViewFlag();
+ NeedsWinFPO &= !MF->hasEHFunclets(); // FIXME
bool NeedsWinCFI = NeedsWin64CFI || NeedsWinFPO;
bool NeedsDwarfCFI =
!IsWin64Prologue && (MMI.hasDebugInfo() || Fn->needsUnwindTableEntry());
OpenPOWER on IntegriCloud