aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis/ScalarEvolution.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-12-11 00:12:31 +0000
committerChris Lattner <sabre@nondot.org>2006-12-11 00:12:31 +0000
commit82e8a8ffe4cab2df8f8f1da9825e7814210bb568 (patch)
treeae174b7490389c72d6d5e83c426fe384844b635d /lib/Analysis/ScalarEvolution.cpp
parent5bd2db38f88d398a93e9f3844a46f60dc180c778 (diff)
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
Diffstat (limited to 'lib/Analysis/ScalarEvolution.cpp')
-rw-r--r--lib/Analysis/ScalarEvolution.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 9fc0c76b0e..710983b526 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<PHINode>(I));