[PATCH] D15961: [WinEH] Verify unwind edges against EH pad tree
Joseph Tremoulet via llvm-commits
llvm-commits at lists.llvm.org
Thu Jan 7 11:56:41 PST 2016
JosephTremoulet created this revision.
JosephTremoulet added reviewers: majnemer, rnk, andrew.w.kaylor.
JosephTremoulet added a subscriber: llvm-commits.
Funclet EH personalities require a tree-like nesting among funclets
(enforced by the ParentPad linkage in the IR), and also require that
unwind edges conform to certain rules with respect to the tree:
- An unwind edge may exit 0 or more ancestor pads
- An unwind edge must enter exactly one EH pad, which must be distinct
from any exited pads
- A cleanupret's edge must exit its cleanuppad
Describe these rules in the LangRef, and enforce them in the verifier.
http://reviews.llvm.org/D15961
Files:
docs/ExceptionHandling.rst
docs/LangRef.rst
lib/IR/Verifier.cpp
test/Bitcode/compatibility.ll
test/Feature/exception.ll
test/Verifier/invalid-eh.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15961.44239.patch
Type: text/x-patch
Size: 15889 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160107/a71fcc08/attachment.bin>
More information about the llvm-commits
mailing list