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

Chris Lattner lattner at cs.uiuc.edu
Tue Sep 9 23:50:02 PDT 2003


Changes in directory llvm/lib/Analysis:

InductionVariable.cpp updated: 1.24 -> 1.25

---
Log message:

Simplify some code


---
Diffs of the changes:

Index: llvm/lib/Analysis/InductionVariable.cpp
diff -u llvm/lib/Analysis/InductionVariable.cpp:1.24 llvm/lib/Analysis/InductionVariable.cpp:1.25
--- llvm/lib/Analysis/InductionVariable.cpp:1.24	Fri Aug  1 17:14:27 2003
+++ llvm/lib/Analysis/InductionVariable.cpp	Tue Sep  9 23:49:10 2003
@@ -30,13 +30,10 @@
 #include "Support/Debug.h"
 
 static bool isLoopInvariant(const Value *V, const Loop *L) {
-  if (isa<Constant>(V) || isa<Argument>(V) || isa<GlobalValue>(V))
-    return true;
-  
-  const Instruction *I = cast<Instruction>(V);
-  const BasicBlock *BB = I->getParent();
-
-  return !L->contains(BB);
+  if (const Instruction *I = dyn_cast<Instruction>(V))
+    return !L->contains(I->getParent());
+  // non-instructions all dominate instructions/blocks
+  return true;
 }
 
 enum InductionVariable::iType
@@ -45,7 +42,7 @@
   // Check for cannonical and simple linear expressions now...
   if (const ConstantInt *CStart = dyn_cast<ConstantInt>(Start))
     if (const ConstantInt *CStep = dyn_cast<ConstantInt>(Step)) {
-      if (CStart->equalsInt(0) && CStep->equalsInt(1))
+      if (CStart->isNullValue() && CStep->equalsInt(1))
         return Cannonical;
       else
         return SimpleLinear;





More information about the llvm-commits mailing list