[PATCH] D13274: [WinEH] Clone funclets with multiple parents

Joseph Tremoulet via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 12:12:26 PST 2015


JosephTremoulet accepted this revision.
JosephTremoulet added a comment.
This revision is now accepted and ready to land.

LGTM, thanks for all the updates and new tests!


================
Comment at: lib/CodeGen/WinEHPrepare.cpp:928
@@ +927,3 @@
+// parent funclet (which ends either the current catch pad or a sibling
+// catch pad.  If it unwinds to a child EH pad, the child will have multiple
+// parents after this funclet is cloned and this case will be handled later in
----------------
MIssing right-paren: "catch pad)."

================
Comment at: lib/CodeGen/WinEHPrepare.cpp:1634
@@ +1633,3 @@
+         BlockIt != BlockEnd;) {
+      // Increment the iterator inside the loop because we might be removinv
+      // blocks from the set.
----------------
typo: removinv -> removing

================
Comment at: lib/CodeGen/WinEHPrepare.cpp:1737-1738
@@ +1736,4 @@
+      // If we are cloning a funclet that might share a child funclet with
+      // another funclet, look to see if the cloned block is reached from a
+      // reached from a catchret instruction.  If so, save this association
+      // so we can retrieve the possibly orphaned clone when we clone the
----------------
typo: "reached from a reached from a" -> "reached from a"


Repository:
  rL LLVM

http://reviews.llvm.org/D13274





More information about the llvm-commits mailing list