diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-09-23 18:32:19 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-09-23 18:32:19 +0000 |
commit | 6b8b2b7312f20da4fa34c26be8bb346d88ec1dd5 (patch) | |
tree | caf13626c70b2d25acbf409d201bb52b1d7ea713 /llvm/lib/CodeGen/SelectionDAG | |
parent | 9876dd3040d41060bac277f5d5d5193b647e6630 (diff) | |
download | bcm5719-llvm-6b8b2b7312f20da4fa34c26be8bb346d88ec1dd5.tar.gz bcm5719-llvm-6b8b2b7312f20da4fa34c26be8bb346d88ec1dd5.zip |
Revert 114634 for now since buildbot claim it broke Clang self-hosting. I doubt it but it's possible it's exposing another bug somewhere.
llvm-svn: 114681
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index 10095c5d3e8..f3bc50d490e 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -1617,8 +1617,9 @@ void SelectionDAGBuilder::visitBitTestHeader(BitTestBlock &B, MVT::Other, CopyTo, RangeCmp, DAG.getBasicBlock(B.Default)); - BrRange = DAG.getNode(ISD::BR, getCurDebugLoc(), MVT::Other, CopyTo, - DAG.getBasicBlock(MBB)); + if (MBB != NextBlock) + BrRange = DAG.getNode(ISD::BR, getCurDebugLoc(), MVT::Other, CopyTo, + DAG.getBasicBlock(MBB)); DAG.setRoot(BrRange); } @@ -1671,8 +1672,9 @@ void SelectionDAGBuilder::visitBitTestCase(MachineBasicBlock* NextMBB, if (++BBI != FuncInfo.MF->end()) NextBlock = BBI; - BrAnd = DAG.getNode(ISD::BR, getCurDebugLoc(), MVT::Other, BrAnd, - DAG.getBasicBlock(NextMBB)); + if (NextMBB != NextBlock) + BrAnd = DAG.getNode(ISD::BR, getCurDebugLoc(), MVT::Other, BrAnd, + DAG.getBasicBlock(NextMBB)); DAG.setRoot(BrAnd); } |