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

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 11:58:04 PDT 2015


rnk added a comment.

Are we sure we need to handle this case with cloning? The intention of the design was that the rules around `catchendpad` and `cleanupendpad` would make it impossible for the optimizer to form invokes that don't unwind through the associated end pad.

For `cleanupendpad`, it directly consumes a token for the associated `cleanuppad`, so we can mark any invokes in a `cleanuppad` that don't transitively unwind to the `cleanupendpad` as unreachable.

For `catchendpad`, the rules about how `catchpad`s are allowed to unwind should allow us to create a many-to-one association from `catchpad` to `cleanupendpad` and apply the same transformation to unreachable.


Repository:
  rL LLVM

http://reviews.llvm.org/D13274





More information about the llvm-commits mailing list