diff options
author | Chris Lattner <sabre@nondot.org> | 2006-12-11 00:12:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-12-11 00:12:31 +0000 |
commit | b2f5973867b237ec033ae4799fdd26e40af857b8 (patch) | |
tree | 6557352d2452d6bbccf424f9aa5d175dc4c9e37c /llvm/lib/Analysis/ScalarEvolution.cpp | |
parent | a571d211ae56f1b2150f328d7a80c2e2ffd2b865 (diff) | |
download | bcm5719-llvm-b2f5973867b237ec033ae4799fdd26e40af857b8.tar.gz bcm5719-llvm-b2f5973867b237ec033ae4799fdd26e40af857b8.zip |
clarify some comments, simplify some checks, fix:
Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
llvm-svn: 32420
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolution.cpp')
-rw-r--r-- | llvm/lib/Analysis/ScalarEvolution.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 9fc0c76b0e7..710983b5260 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -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. - return getSCEV(I->getOperand(0)); + if (I->getType()->isInteger() && I->getOperand(0)->getType()->isInteger()) + return getSCEV(I->getOperand(0)); + break; case Instruction::PHI: return createNodeForPHI(cast<PHINode>(I)); |