diff options
author | Bill Wendling <isanbard@gmail.com> | 2011-09-02 01:30:08 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2011-09-02 01:30:08 +0000 |
commit | 24fbb5875c7f45bfab43a656c049d73146dcdfff (patch) | |
tree | ceb8950a26336ae958d8d6774e25460c8fb7e8f7 /utils/TableGen/X86DisassemblerTables.cpp | |
parent | b0b9a67f98c2c79ae11e6f4ecfaac0724b02ec9b (diff) |
Perform the upgrading of the old EH to the new EH in a more sane manner.
Perform the upgrading in steps.
* First, create a map of the invokes to the EH intrinsics.
* Next, take that mapping and determine if the invoke's unwind destination has a
single predecessor. If not, then create a new empty block to hold the new
landingpad instruction.
* Create a landingpad instruction into the uwnind destination. Fill it with the
values from the old selector. Map the old intrinsic calls to the new
landingpad values (there may be multiple landingpad instructions per instrinic
call pairs).
* Go through the old intrinsic calls, create a PHI node when necessary, and then
replace their values with the new values from the landingpad instructions.
* Delete all dead instructions.
* ???
* Profit!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138990 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/X86DisassemblerTables.cpp')
0 files changed, 0 insertions, 0 deletions