OSDN Git Service

Make tail merging handle blocks with repeated predecessors correctly, and
authorDan Gohman <gohman@apple.com>
Tue, 18 Aug 2009 15:18:18 +0000 (15:18 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 18 Aug 2009 15:18:18 +0000 (15:18 +0000)
commitda65822cfc938594f8fb7840947c1eb77e057a48
tree825ce41886300ad659c1105bd376e0663c276488
parent6874a2ae033b7b5e1d0c10714e01d9c87480956a
Make tail merging handle blocks with repeated predecessors correctly, and
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.

Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.

test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.

Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79338 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/BranchFolding.cpp
test/CodeGen/Thumb2/thumb2-ifcvt2.ll
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll
test/CodeGen/X86/omit-label.ll