[llvm-commits] CVS: llvm/lib/Analysis/ConstantRange.cpp ScalarEvolution.cpp

Chris Lattner sabre at nondot.org
Sun Jan 14 17:59:14 PST 2007



Changes in directory llvm/lib/Analysis:

ConstantRange.cpp updated: 1.30 -> 1.31
ScalarEvolution.cpp updated: 1.86 -> 1.87
---
Log message:

Update code to eliminate calls to isInteger, calling isIntegral instead.


---
Diffs of the changes:  (+12 -17)

 ConstantRange.cpp   |    2 +-
 ScalarEvolution.cpp |   27 +++++++++++----------------
 2 files changed, 12 insertions(+), 17 deletions(-)


Index: llvm/lib/Analysis/ConstantRange.cpp
diff -u llvm/lib/Analysis/ConstantRange.cpp:1.30 llvm/lib/Analysis/ConstantRange.cpp:1.31
--- llvm/lib/Analysis/ConstantRange.cpp:1.30	Sun Jan 14 19:02:34 2007
+++ llvm/lib/Analysis/ConstantRange.cpp	Sun Jan 14 19:58:56 2007
@@ -225,7 +225,7 @@
 /// subtract - Subtract the specified constant from the endpoints of this
 /// constant range.
 ConstantRange ConstantRange::subtract(ConstantInt *CI) const {
-  assert(CI->getType() == getType() && getType()->isInteger() &&
+  assert(CI->getType() == getType() && getType()->isIntegral() &&
          "Cannot subtract from different type range or non-integer!");
   // If the set is empty or full, don't modify the endpoints.
   if (Lower == Upper) return *this;


Index: llvm/lib/Analysis/ScalarEvolution.cpp
diff -u llvm/lib/Analysis/ScalarEvolution.cpp:1.86 llvm/lib/Analysis/ScalarEvolution.cpp:1.87
--- llvm/lib/Analysis/ScalarEvolution.cpp:1.86	Sat Jan 13 19:24:47 2007
+++ llvm/lib/Analysis/ScalarEvolution.cpp	Sun Jan 14 19:58:56 2007
@@ -122,7 +122,7 @@
 /// known to have.  This method is only valid on integer SCEV objects.
 ConstantRange SCEV::getValueRange() const {
   const Type *Ty = getType();
-  assert(Ty->isInteger() && "Can't get range for a non-integer SCEV!");
+  assert(Ty->isIntegral() && "Can't get range for a non-integer SCEV!");
   // Default to a full range if no better information is available.
   return ConstantRange(getType());
 }
@@ -194,7 +194,7 @@
 
 SCEVTruncateExpr::SCEVTruncateExpr(const SCEVHandle &op, const Type *ty)
   : SCEV(scTruncate), Op(op), Ty(ty) {
-  assert(Op->getType()->isInteger() && Ty->isInteger() &&
+  assert(Op->getType()->isIntegral() && Ty->isIntegral() &&
          "Cannot truncate non-integer value!");
   assert(Op->getType()->getPrimitiveSizeInBits() > Ty->getPrimitiveSizeInBits()
          && "This is not a truncating conversion!");
@@ -220,7 +220,7 @@
 
 SCEVZeroExtendExpr::SCEVZeroExtendExpr(const SCEVHandle &op, const Type *ty)
   : SCEV(scZeroExtend), Op(op), Ty(ty) {
-  assert(Op->getType()->isInteger() && Ty->isInteger() &&
+  assert(Op->getType()->isIntegral() && Ty->isIntegral() &&
          "Cannot zero extend non-integer value!");
   assert(Op->getType()->getPrimitiveSizeInBits() < Ty->getPrimitiveSizeInBits()
          && "This is not an extending conversion!");
@@ -459,7 +459,7 @@
 /// extended.
 static SCEVHandle getTruncateOrZeroExtend(const SCEVHandle &V, const Type *Ty) {
   const Type *SrcTy = V->getType();
-  assert(SrcTy->isInteger() && Ty->isInteger() &&
+  assert(SrcTy->isIntegral() && Ty->isIntegral() &&
          "Cannot truncate or zero extend with non-integer arguments!");
   if (SrcTy->getPrimitiveSizeInBits() == Ty->getPrimitiveSizeInBits())
     return V;  // No conversion
@@ -1414,20 +1414,15 @@
       break;
 
     case Instruction::Trunc:
-      // We don't handle trunc to bool yet.
-      if (I->getType()->isInteger())
-        return SCEVTruncateExpr::get(getSCEV(I->getOperand(0)), I->getType());
-      break;
+      return SCEVTruncateExpr::get(getSCEV(I->getOperand(0)), I->getType());
 
     case Instruction::ZExt:
-      // We don't handle zext from bool yet.
-      if (I->getOperand(0)->getType()->isInteger())
-        return SCEVZeroExtendExpr::get(getSCEV(I->getOperand(0)), I->getType());
-      break;
+      return SCEVZeroExtendExpr::get(getSCEV(I->getOperand(0)), I->getType());
 
     case Instruction::BitCast:
       // BitCasts are no-op casts so we just eliminate the cast.
-      if (I->getType()->isInteger() && I->getOperand(0)->getType()->isInteger())
+      if (I->getType()->isIntegral() &&
+          I->getOperand(0)->getType()->isIntegral())
         return getSCEV(I->getOperand(0));
       break;
 
@@ -2191,7 +2186,7 @@
         }
       }
     }
-  } else if (AddRec->isQuadratic() && AddRec->getType()->isInteger()) {
+  } else if (AddRec->isQuadratic() && AddRec->getType()->isIntegral()) {
     // If this is a quadratic (3-term) AddRec {L,+,M,+,N}, find the roots of
     // the quadratic equation to solve it.
     std::pair<SCEVHandle,SCEVHandle> Roots = SolveQuadraticEquation(AddRec);
@@ -2319,7 +2314,7 @@
       }
 
       if (Cond == ICmpInst::ICMP_SLT) {
-        if (PreCondLHS->getType()->isInteger()) {
+        if (PreCondLHS->getType()->isIntegral()) {
           if (RHS != getSCEV(PreCondRHS))
             return UnknownValue;  // Not a comparison against 'm'.
 
@@ -2572,7 +2567,7 @@
 
   OS << "Classifying expressions for: " << F.getName() << "\n";
   for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I)
-    if (I->getType()->isInteger()) {
+    if (I->getType()->isIntegral()) {
       OS << *I;
       OS << "  --> ";
       SCEVHandle SV = getSCEV(&*I);






More information about the llvm-commits mailing list