[SEH] Push reloads of the SEH code past phi nodes
authorReid Kleckner <reid@kleckner.net>
Fri, 10 Jul 2015 22:21:54 +0000 (22:21 +0000)
committerReid Kleckner <reid@kleckner.net>
Fri, 10 Jul 2015 22:21:54 +0000 (22:21 +0000)
commit09450da65353058e538024a6fef3ecc2975bb76f
tree2e35d9116de0afacad5ce2ec1069156257dd4a71
parent34b9a7dcb135487384df163efadeb63f99a67dec
[SEH] Push reloads of the SEH code past phi nodes

This in turn would sometimes introduce new cleanupblocks that didn't
previously exist. The uses were being introduced by SSA value demotion.
We actually want to *promote* uses of EH pointers and selectors, so I
added some spcecial casing to avoid demoting such instructions.  This is
getting overly complicated, but hopefully we'll come along and delete it
in the new representation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241950 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/WinEHPrepare.cpp
test/CodeGen/WinEH/seh-exception-code2.ll [new file with mode: 0644]