[PATCH] D15962: [WinEH] Verify consistent funclet unwind exits

Joseph Tremoulet via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 7 11:57:55 PST 2016


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

A funclet EH pad may be exited by an unwind edge, which may be a
cleanupret exiting its cleanuppad, an invoke exiting a funclet, or an
unwind out of a nested funclet transitively exiting its parent.  Funclet
EH personalities require all such exceptional exits from a given funclet to
have the same unwind destination, and EH preparation / state numbering /
table generation implicitly depends on this.  Formalize it as a rule of
the IR in the LangRef and verifier.


http://reviews.llvm.org/D15962

Files:
  docs/ExceptionHandling.rst
  docs/LangRef.rst
  lib/IR/Verifier.cpp
  test/CodeGen/WinEH/wineh-no-demotion.ll
  test/CodeGen/WinEH/wineh-statenumbering.ll
  test/Verifier/invalid-eh.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15962.44240.patch
Type: text/x-patch
Size: 17770 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160107/20ece9b7/attachment.bin>


More information about the llvm-commits mailing list