diff options
| author | Dan Gohman <gohman@apple.com> | 2010-06-24 17:08:31 +0000 |
|---|---|---|
| committer | Dan Gohman <gohman@apple.com> | 2010-06-24 17:08:31 +0000 |
| commit | 0f6c671f57ee4d8802cf957f32615fbb4c36c4d1 (patch) | |
| tree | 803fc7f37dcfb89481c47039ecfd972a1ae7a552 /lib/CodeGen | |
| parent | 04d36feb0ed96b5b89ca5624961f2635b9fa4380 (diff) | |
| download | external_llvm-0f6c671f57ee4d8802cf957f32615fbb4c36c4d1.zip external_llvm-0f6c671f57ee4d8802cf957f32615fbb4c36c4d1.tar.gz external_llvm-0f6c671f57ee4d8802cf957f32615fbb4c36c4d1.tar.bz2 | |
Simplify this code; switch lowering shouldn't produce cases
which trivially fold away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106765 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
| -rw-r--r-- | lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp index fd8fe22..bae24c0 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp @@ -1424,18 +1424,10 @@ void SelectionDAGBuilder::visitSwitchCase(CaseBlock &CB, MVT::Other, getControlRoot(), Cond, DAG.getBasicBlock(CB.TrueBB)); - // If the branch was constant folded, fix up the CFG. - if (BrCond.getOpcode() == ISD::BR) { - SwitchBB->removeSuccessor(CB.FalseBB); - } else { - // Otherwise, go ahead and insert the false branch. - if (BrCond == getControlRoot()) - SwitchBB->removeSuccessor(CB.TrueBB); - - if (CB.FalseBB != NextBlock) - BrCond = DAG.getNode(ISD::BR, dl, MVT::Other, BrCond, - DAG.getBasicBlock(CB.FalseBB)); - } + // Insert the false branch. + if (CB.FalseBB != NextBlock) + BrCond = DAG.getNode(ISD::BR, dl, MVT::Other, BrCond, + DAG.getBasicBlock(CB.FalseBB)); DAG.setRoot(BrCond); } |
