Check-pointing the new SjLj EH lowering.
authorBill Wendling <isanbard@gmail.com>
Mon, 3 Oct 2011 21:25:38 +0000 (21:25 +0000)
committerBill Wendling <isanbard@gmail.com>
Mon, 3 Oct 2011 21:25:38 +0000 (21:25 +0000)
commitf7e4aefd0f78441bef3b9eb683ecccbed9582b8a
tree749c2228f7d42cfcfe879074ee7dfb730deabcff
parentbbb47b320ddeae77833fb0350a04a6de659071c8
Check-pointing the new SjLj EH lowering.

This code will replace the version in ARMAsmPrinter.cpp. It creates a new
machine basic block, which is the dispatch for the return from a longjmp
call. It then shoves the address of that machine basic block into the correct
place in the function context so that the EH runtime will jump to it directly
instead of having to go through a compare-and-jump-to-the-dispatch bit. This
should be more efficient in the common case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141031 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h