[PATCH] D13424: [WinEH] Create a separate MBB for funclet prologues

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 4 11:47:37 PDT 2015


majnemer created this revision.
majnemer added reviewers: rnk, JosephTremoulet.
majnemer added a subscriber: llvm-commits.

Our current emission strategy is to emit the funclet prologue in the
CatchPad's normal destination.  This is problematic because
intra-funclet control flow to the normal destination is not erroneous
and results in us reevaluating the prologue if said control flow is
taken.

Instead, use the CatchPad's location for the funclet prologue.  This
correctly models our desire to have unwind edges evaluate the prologue
but edges to the normal destination result in typical control flow.

http://reviews.llvm.org/D13424

Files:
  lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/CodeGen/WinEHPrepare.cpp
  test/CodeGen/X86/funclet-layout.ll
  test/CodeGen/X86/seh-catchpad.ll
  test/CodeGen/X86/win-catchpad-csrs.ll
  test/CodeGen/X86/win-catchpad.ll
  test/CodeGen/X86/win-funclet-cfi.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13424.36472.patch
Type: text/x-patch
Size: 13427 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151004/9b11d983/attachment.bin>


More information about the llvm-commits mailing list