diff options
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86AsmPrinter.cpp | 4 | ||||
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp index 1c938d9c842..667babab07a 100644 --- a/llvm/lib/Target/X86/X86AsmPrinter.cpp +++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp @@ -62,6 +62,10 @@ 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 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()); |