[llvm-commits] CVS: llvm/include/llvm/Analysis/ScalarEvolutionExpander.h ScalarEvolutionExpressions.h
Chris Lattner
lattner at cs.uiuc.edu
Fri Mar 31 20:49:04 PST 2006
Changes in directory llvm/include/llvm/Analysis:
ScalarEvolutionExpander.h updated: 1.4 -> 1.5
ScalarEvolutionExpressions.h updated: 1.6 -> 1.7
---
Log message:
Fix Transforms/IndVarsSimplify/2006-03-31-NegativeStride.ll and
PR726: http://llvm.cs.uiuc.edu/PR726 by performing consistent signed division, not consistent unsigned
division when evaluating scev's. Do not touch udivs.
---
Diffs of the changes: (+12 -12)
ScalarEvolutionExpander.h | 2 +-
ScalarEvolutionExpressions.h | 22 +++++++++++-----------
2 files changed, 12 insertions(+), 12 deletions(-)
Index: llvm/include/llvm/Analysis/ScalarEvolutionExpander.h
diff -u llvm/include/llvm/Analysis/ScalarEvolutionExpander.h:1.4 llvm/include/llvm/Analysis/ScalarEvolutionExpander.h:1.5
--- llvm/include/llvm/Analysis/ScalarEvolutionExpander.h:1.4 Sat Feb 4 03:51:33 2006
+++ llvm/include/llvm/Analysis/ScalarEvolutionExpander.h Fri Mar 31 22:48:52 2006
@@ -136,7 +136,7 @@
Value *visitMulExpr(SCEVMulExpr *S);
- Value *visitUDivExpr(SCEVUDivExpr *S) {
+ Value *visitSDivExpr(SCEVSDivExpr *S) {
const Type *Ty = S->getType();
Value *LHS = expandInTy(S->getLHS(), Ty);
Value *RHS = expandInTy(S->getRHS(), Ty);
Index: llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff -u llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:1.6 llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:1.7
--- llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h:1.6 Thu Apr 21 15:16:32 2005
+++ llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h Fri Mar 31 22:48:52 2006
@@ -23,7 +23,7 @@
enum SCEVTypes {
// These should be ordered in terms of increasing complexity to make the
// folders simpler.
- scConstant, scTruncate, scZeroExtend, scAddExpr, scMulExpr, scUDivExpr,
+ scConstant, scTruncate, scZeroExtend, scAddExpr, scMulExpr, scSDivExpr,
scAddRecExpr, scUnknown, scCouldNotCompute
};
@@ -293,16 +293,16 @@
//===--------------------------------------------------------------------===//
- /// SCEVUDivExpr - This class represents a binary unsigned division operation.
+ /// SCEVSDivExpr - This class represents a binary unsigned division operation.
///
- class SCEVUDivExpr : public SCEV {
+ class SCEVSDivExpr : public SCEV {
SCEVHandle LHS, RHS;
- SCEVUDivExpr(const SCEVHandle &lhs, const SCEVHandle &rhs)
- : SCEV(scUDivExpr), LHS(lhs), RHS(rhs) {}
+ SCEVSDivExpr(const SCEVHandle &lhs, const SCEVHandle &rhs)
+ : SCEV(scSDivExpr), LHS(lhs), RHS(rhs) {}
- virtual ~SCEVUDivExpr();
+ virtual ~SCEVSDivExpr();
public:
- /// get method - This just gets and returns a new SCEVUDiv object.
+ /// get method - This just gets and returns a new SCEVSDiv object.
///
static SCEVHandle get(const SCEVHandle &LHS, const SCEVHandle &RHS);
@@ -334,9 +334,9 @@
void print(std::ostream &OS) const;
/// Methods for support type inquiry through isa, cast, and dyn_cast:
- static inline bool classof(const SCEVUDivExpr *S) { return true; }
+ static inline bool classof(const SCEVSDivExpr *S) { return true; }
static inline bool classof(const SCEV *S) {
- return S->getSCEVType() == scUDivExpr;
+ return S->getSCEVType() == scSDivExpr;
}
};
@@ -496,8 +496,8 @@
return ((SC*)this)->visitAddExpr((SCEVAddExpr*)S);
case scMulExpr:
return ((SC*)this)->visitMulExpr((SCEVMulExpr*)S);
- case scUDivExpr:
- return ((SC*)this)->visitUDivExpr((SCEVUDivExpr*)S);
+ case scSDivExpr:
+ return ((SC*)this)->visitSDivExpr((SCEVSDivExpr*)S);
case scAddRecExpr:
return ((SC*)this)->visitAddRecExpr((SCEVAddRecExpr*)S);
case scUnknown:
More information about the llvm-commits
mailing list