summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-09-02 01:30:08 +0000
committerBill Wendling <isanbard@gmail.com>2011-09-02 01:30:08 +0000
commit5b49bb6bf5d8b1000e2615d05b9317decbbd2b24 (patch)
treefb53f6ac3c55069a5944cc17ed55a5b1fba12b30 /clang/lib/Frontend/CompilerInvocation.cpp
parent723cec7a5fbdc500be0f62f1080beeee7ba50619 (diff)
downloadbcm5719-llvm-5b49bb6bf5d8b1000e2615d05b9317decbbd2b24.tar.gz
bcm5719-llvm-5b49bb6bf5d8b1000e2615d05b9317decbbd2b24.zip
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! llvm-svn: 138990
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud