[PATCH] D12065: [WinEHPrepare] Fix catchret successor phi demotion

Joseph Tremoulet via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 16 11:15:55 PDT 2015


JosephTremoulet created this revision.
JosephTremoulet added a reviewer: majnemer.
JosephTremoulet added a subscriber: llvm-commits.

When demoting an SSA value that has a use on a phi and one of the phi's
predecessors terminates with catchret, the edge needs to be split and the
load inserted in the new block, else we'll still have a cross-funclet SSA
value.

Add a test for this, and for the similar case where a def to be spilled is
on and invoke and a critical edge, which was already implemented but
missing a test.

http://reviews.llvm.org/D12065

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12065.32242.patch
Type: text/x-patch
Size: 5097 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150816/287327d6/attachment.bin>


More information about the llvm-commits mailing list