diff options
author | Reid Kleckner <rnk@google.com> | 2017-10-12 18:20:35 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-10-12 18:20:35 +0000 |
commit | 1a7e3878494efbf8dbc1c0ead042a8273e5b8229 (patch) | |
tree | 98f4ea82ad00c53cd238153670c7928ca7319848 /llvm/lib/Target/X86/X86FrameLowering.cpp | |
parent | 754a1a8a6f6ed7d869188019db7f484dc60342aa (diff) | |
download | bcm5719-llvm-1a7e3878494efbf8dbc1c0ead042a8273e5b8229.tar.gz bcm5719-llvm-1a7e3878494efbf8dbc1c0ead042a8273e5b8229.zip |
[codeview] Don't emit FPO data in funclet prologues
Attempt 3 to work around bugs in FPO data with funclets.
llvm-svn: 315600
Diffstat (limited to 'llvm/lib/Target/X86/X86FrameLowering.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86FrameLowering.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
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()); |