clarify some comments, simplify some checks, fix:

Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll

llvm-svn: 32420
This commit is contained in:
Chris Lattner 2006-12-11 00:12:31 +00:00
parent a571d211ae
commit b2f5973867
1 changed files with 7 additions and 7 deletions

View File

@ -1371,24 +1371,24 @@ SCEVHandle ScalarEvolutionsImpl::createSCEV(Value *V) {
break;
case Instruction::Trunc:
// We must prevent boolean types such as setne, etc. from entering here
// because we don't want to pass SCEVUnknown to the TruncateExpr.
if (I->getType()->isInteger() && I->getOperand(0)->getType()->isInteger())
// We don't handle trunc to bool yet.
if (I->getType()->isInteger())
return SCEVTruncateExpr::get(getSCEV(I->getOperand(0)),
I->getType()->getUnsignedVersion());
break;
case Instruction::ZExt:
// We must prevent boolean types such as setne, etc. from entering here
// because we don't want to pass SCEVUnknown to the ZExtExpr.
if (I->getType()->isInteger() && I->getOperand(0)->getType()->isInteger())
// We don't handle zext from bool yet.
if (I->getOperand(0)->getType()->isInteger())
return SCEVZeroExtendExpr::get(getSCEV(I->getOperand(0)),
I->getType()->getUnsignedVersion());
break;
case Instruction::BitCast:
// BitCasts are no-op casts so we just eliminate the cast.
if (I->getType()->isInteger() && I->getOperand(0)->getType()->isInteger())
return getSCEV(I->getOperand(0));
break;
case Instruction::PHI:
return createNodeForPHI(cast<PHINode>(I));