aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/ObjectFile.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2011-04-22 01:07:09 +0000
committerBill Wendling <isanbard@gmail.com>2011-04-22 01:07:09 +0000
commitc14d7322ee504e8315015e03815983fafda8c94d (patch)
tree3567392d2217e80220b3cf2b9ae97e4b102ba920 /llvm/lib/Object/ObjectFile.cpp
parent23c28ee17ecf01aef8f9be1ffef196e0d430116d (diff)
downloadllvm-c14d7322ee504e8315015e03815983fafda8c94d.zip
llvm-c14d7322ee504e8315015e03815983fafda8c94d.tar.gz
llvm-c14d7322ee504e8315015e03815983fafda8c94d.tar.bz2
Branch folding is folding a landing pad into a regular BB.
An exception is thrown via a call to _cxa_throw, which we don't expect to return. Therefore, the "true" part of the invoke goes to a BB that has 'unreachable' as its only instruction. This is lowered into an empty MachineBB. The landing pad for this invoke, however, is directly after the "true" MBB. When the empty MBB is removed, the landing pad is directly below the BB with the invoke call. The unconditional branch is removed and then the two blocks are merged together. The testcase is too big for a regression test. <rdar://problem/9305728> llvm-svn: 129965
Diffstat (limited to 'llvm/lib/Object/ObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions