summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/SCCP.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-05-10 23:56:54 +0000
committerChris Lattner <sabre@nondot.org>2008-05-10 23:56:54 +0000
commit82146fa2670d9fe114fe747181dcc7013cdcd18b (patch)
tree63120e7197b1cf39c31b152677f53eef65845b5d /llvm/lib/Transforms/Scalar/SCCP.cpp
parent9fbd6e7e8c8ea646c142fb1a5a15f13bc8cf0c1c (diff)
downloadbcm5719-llvm-82146fa2670d9fe114fe747181dcc7013cdcd18b.tar.gz
bcm5719-llvm-82146fa2670d9fe114fe747181dcc7013cdcd18b.zip
Simplify code by using SwitchInst::findCaseValue instead of reimplementing it.
llvm-svn: 50957
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SCCP.cpp')
-rw-r--r--llvm/lib/Transforms/Scalar/SCCP.cpp16
1 files changed, 2 insertions, 14 deletions
diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp
index be071f8b1fa..6e76f4c8cc7 100644
--- a/llvm/lib/Transforms/Scalar/SCCP.cpp
+++ b/llvm/lib/Transforms/Scalar/SCCP.cpp
@@ -448,20 +448,8 @@ void SCCPSolver::getFeasibleSuccessors(TerminatorInst &TI,
(SCValue.isConstant() && !isa<ConstantInt>(SCValue.getConstant()))) {
// All destinations are executable!
Succs.assign(TI.getNumSuccessors(), true);
- } else if (SCValue.isConstant()) {
- Constant *CPV = SCValue.getConstant();
- // Make sure to skip the "default value" which isn't a value
- for (unsigned i = 1, E = SI->getNumSuccessors(); i != E; ++i) {
- if (SI->getSuccessorValue(i) == CPV) {// Found the right branch...
- Succs[i] = true;
- return;
- }
- }
-
- // Constant value not equal to any of the branches... must execute
- // default branch then...
- Succs[0] = true;
- }
+ } else if (SCValue.isConstant())
+ Succs[SI->findCaseValue(cast<ConstantInt>(SCValue.getConstant()))] = true;
} else {
assert(0 && "SCCP: Don't know how to handle this terminator!");
}
OpenPOWER on IntegriCloud