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

Chris Lattner lattner at cs.uiuc.edu
Mon Aug 15 17:37:12 PDT 2005



Changes in directory llvm/lib/Analysis:

ScalarEvolution.cpp updated: 1.41 -> 1.42
---
Log message:

Fix Transforms/LoopStrengthReduce/2005-08-15-AddRecIV.ll


---
Diffs of the changes:  (+3 -2)

 ScalarEvolution.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)


Index: llvm/lib/Analysis/ScalarEvolution.cpp
diff -u llvm/lib/Analysis/ScalarEvolution.cpp:1.41 llvm/lib/Analysis/ScalarEvolution.cpp:1.42
--- llvm/lib/Analysis/ScalarEvolution.cpp:1.41	Mon Aug 15 18:33:51 2005
+++ llvm/lib/Analysis/ScalarEvolution.cpp	Mon Aug 15 19:37:01 2005
@@ -347,8 +347,9 @@
 
 bool SCEVAddRecExpr::isLoopInvariant(const Loop *QueryLoop) const {
   // This recurrence is invariant w.r.t to QueryLoop iff QueryLoop doesn't
-  // contain L.
-  return !QueryLoop->contains(L->getHeader());
+  // contain L and if the start is invariant.
+  return !QueryLoop->contains(L->getHeader()) &&
+         getOperand(0)->isLoopInvariant(QueryLoop);
 }
 
 






More information about the llvm-commits mailing list