Make ScalarEvolution::getConstant support pointer types, for consistency
authorDan Gohman <gohman@apple.com>
Wed, 21 Apr 2010 16:04:04 +0000 (16:04 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 21 Apr 2010 16:04:04 +0000 (16:04 +0000)
with ScalarEvolution's overall approach to pointer types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102003 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ScalarEvolution.cpp

index 14e6bcb1815b6f48d22585eabc2fdc6073e64faa..d528be095f93424ef7a0afa37b200e9f6beac980 100644 (file)
@@ -188,8 +188,8 @@ const SCEV *ScalarEvolution::getConstant(const APInt& Val) {
 
 const SCEV *
 ScalarEvolution::getConstant(const Type *Ty, uint64_t V, bool isSigned) {
-  return getConstant(
-    ConstantInt::get(cast<IntegerType>(Ty), V, isSigned));
+  const IntegerType *ITy = cast<IntegerType>(getEffectiveSCEVType(Ty));
+  return getConstant(ConstantInt::get(ITy, V, isSigned));
 }
 
 const Type *SCEVConstant::getType() const { return V->getType(); }