From: Chris Lattner Date: Mon, 11 Dec 2006 00:12:31 +0000 (+0000) Subject: clarify some comments, simplify some checks, fix: X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=82e8a8ffe4cab2df8f8f1da9825e7814210bb568;p=oota-llvm.git clarify some comments, simplify some checks, fix: Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32420 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 9fc0c76b0e7..710983b5260 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/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(I));