Simplify code by using SwitchInst::findCaseValue instead of reimplementing it.

llvm-svn: 50957
This commit is contained in:
Chris Lattner 2008-05-10 23:56:54 +00:00
parent 9fbd6e7e8c
commit 82146fa267
1 changed files with 2 additions and 14 deletions

View File

@ -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!");
}