Skip to content

Commit

Permalink
[WinEH] Demote values and phis live across exception handlers up front
Browse files Browse the repository at this point in the history
In particular, this handles SSA values that are live *out* of a handler.
The existing code only handles values that are live *in* to a handler.

It also handles phi nodes in the block where normal control should
resume after the end of a catch handler.  When EH return points have phi
nodes, we need to split the return edge. It is impossible for phi
elimination to emit copies in the previous block if that block gets
outlined. The indirectbr that we leave in the function is only notional,
and is eliminated from the MachineFunction CFG early on.

Reviewers: majnemer, andrew.w.kaylor

Differential Revision: http://reviews.llvm.org/D9158

llvm-svn: 235545
  • Loading branch information
rnk committed Apr 22, 2015
1 parent fe58d13 commit fd7df28
Show file tree
Hide file tree
Showing 6 changed files with 467 additions and 130 deletions.

0 comments on commit fd7df28

Please sign in to comment.