[PATCH] D13797: [WinEH] Fix endpad coloring/numbering

Joseph Tremoulet via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 16 00:47:25 PDT 2015


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

When a cleanup's cleanupendpad or cleanupret targets a catchendpad, stop
trying to propagate the cleanup's parent's color to the catchendpad, since
what's needed is the cleanup's grandparent's color and the catchendpad
will get that color from the catchpad linkage already.  We already had
this exclusion for invokes, but were missing it for
cleanupendpad/cleanupret.

Also add a missing line that tags cleanupendpads' states in the
EHPadStateMap, without with lowering invokes that target cleanupendpads
which unwind to other handlers (and so don't have the -1 state) will fail.

This fixes the reduced IR repro in PR25163.


http://reviews.llvm.org/D13797

Files:
  lib/CodeGen/WinEHPrepare.cpp
  test/CodeGen/WinEH/wineh-cloning.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13797.37559.patch
Type: text/x-patch
Size: 4208 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151016/f646ec91/attachment.bin>


More information about the llvm-commits mailing list