OSDN Git Service

An MBB which branches to an EH landing pad shouldn't be considered for tail merging.
authorBill Wendling <isanbard@gmail.com>
Tue, 25 Oct 2011 00:54:05 +0000 (00:54 +0000)
committerStephen Hines <srhines@google.com>
Mon, 14 Nov 2011 17:11:11 +0000 (09:11 -0800)
commitdbdf2008cf077f2b23c7c8fc52db95e0581c1117
treed16c262927a7917acbf51648110f762fb5efe871
parentaf736469e90d6747add90f3a9d80bbb50b5c2a96
An MBB which branches to an EH landing pad shouldn't be considered for tail merging.

In SjLj EH, the jump to the landing pad is not done explicitly through a branch
statement. The EH landing pad is added as a successor to the throwing
BB. Because of that however, the branch folding pass could mistakenly think that
it could merge the throwing BB with another BB. This isn't safe to do.
<rdar://problem/10334833>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142891 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/BranchFolding.cpp