1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

Revert commit 142891. Takumi bisected the tablegen miscompiles

down to this commit.  Original commit message:

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>

llvm-svn: 142920
This commit is contained in:
Duncan Sands 2011-10-25 12:30:22 +00:00
parent be9c2e6e13
commit a50e6dba32

View File

@ -913,7 +913,6 @@ bool BranchFolder::TailMergeBlocks(MachineFunction &MF) {
// reinsert conditional branch only, for now
TII->InsertBranch(*PBB, (TBB == IBB) ? FBB : TBB, 0, NewCond, dl);
}
if (!PBB->getLandingPadSuccessor())
MergePotentials.push_back(MergePotentialsElt(HashEndOfMBB(PBB), *P));
}
}