summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/X86')
-rw-r--r--llvm/lib/Target/X86/X86AsmPrinter.cpp4
-rw-r--r--llvm/lib/Target/X86/X86FrameLowering.cpp5
2 files changed, 3 insertions, 6 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp
index db6646ad533..1c938d9c842 100644
--- a/llvm/lib/Target/X86/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp
@@ -62,10 +62,6 @@ bool X86AsmPrinter::runOnMachineFunction(MachineFunction &MF) {
EmitFPOData =
Subtarget->isTargetWin32() && MF.getMMI().getModule()->getCodeViewFlag();
- // FIXME: EH
- if (MF.hasEHFunclets())
- EmitFPOData = false;
-
SetupMachineFunction(MF);
if (Subtarget->isTargetCOFF()) {
diff --git a/llvm/lib/Target/X86/X86FrameLowering.cpp b/llvm/lib/Target/X86/X86FrameLowering.cpp
index ae3662364ec..988f2967401 100644
--- a/llvm/lib/Target/X86/X86FrameLowering.cpp
+++ b/llvm/lib/Target/X86/X86FrameLowering.cpp
@@ -951,8 +951,9 @@ void X86FrameLowering::emitPrologue(MachineFunction &MF,
bool IsWin64CC = STI.isCallingConvWin64(Fn->getCallingConv());
bool IsWin64Prologue = MF.getTarget().getMCAsmInfo()->usesWindowsCFI();
bool NeedsWin64CFI = IsWin64Prologue && Fn->needsUnwindTableEntry();
- bool NeedsWinFPO = STI.isTargetWin32() && MMI.getModule()->getCodeViewFlag();
- NeedsWinFPO &= !MF.hasEHFunclets(); // FIXME
+ // FIXME: Emit FPO data for EH funclets.
+ bool NeedsWinFPO =
+ !IsFunclet && STI.isTargetWin32() && MMI.getModule()->getCodeViewFlag();
bool NeedsWinCFI = NeedsWin64CFI || NeedsWinFPO;
bool NeedsDwarfCFI =
!IsWin64Prologue && (MMI.hasDebugInfo() || Fn->needsUnwindTableEntry());
OpenPOWER on IntegriCloud