aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-11-17 21:41:58 +0000
committerDan Gohman <gohman@apple.com>2010-11-17 21:41:58 +0000
commitdc0e8fb9f9512622f55f73e1a434caa5c0915694 (patch)
tree4c54511e2f32e9fee469b679e6e7867e75bab985 /include/llvm/Analysis
parent05646099a0b7ebd97571354d658a142e4e4c94c7 (diff)
downloadexternal_llvm-dc0e8fb9f9512622f55f73e1a434caa5c0915694.zip
external_llvm-dc0e8fb9f9512622f55f73e1a434caa5c0915694.tar.gz
external_llvm-dc0e8fb9f9512622f55f73e1a434caa5c0915694.tar.bz2
Move SCEV::dominates and properlyDominates to ScalarEvolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119570 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis')
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h24
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpressions.h28
2 files changed, 8 insertions, 44 deletions
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h
index 333b11c..30b019c 100644
--- a/include/llvm/Analysis/ScalarEvolution.h
+++ b/include/llvm/Analysis/ScalarEvolution.h
@@ -99,14 +99,6 @@ namespace llvm {
/// indirect operand.
virtual bool hasOperand(const SCEV *Op) const = 0;
- /// dominates - Return true if elements that makes up this SCEV dominates
- /// the specified basic block.
- virtual bool dominates(BasicBlock *BB, DominatorTree *DT) const = 0;
-
- /// properlyDominates - Return true if elements that makes up this SCEV
- /// properly dominate the specified basic block.
- virtual bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const = 0;
-
/// print - Print out the internal representation of this scalar to the
/// specified stream. This should really only be used for debugging
/// purposes.
@@ -150,14 +142,6 @@ namespace llvm {
virtual void print(raw_ostream &OS) const;
virtual bool hasOperand(const SCEV *Op) const;
- virtual bool dominates(BasicBlock *BB, DominatorTree *DT) const {
- return true;
- }
-
- virtual bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const {
- return true;
- }
-
/// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const SCEVCouldNotCompute *S) { return true; }
static bool classof(const SCEV *S);
@@ -699,6 +683,14 @@ namespace llvm {
/// to compute the value of the expression at any particular loop iteration.
bool hasComputableLoopEvolution(const SCEV *S, const Loop *L);
+ /// dominates - Return true if elements that makes up the given SCEV
+ /// dominate the specified basic block.
+ bool dominates(const SCEV *S, BasicBlock *BB) const;
+
+ /// properlyDominates - Return true if elements that makes up the given SCEV
+ /// properly dominate the specified basic block.
+ bool properlyDominates(const SCEV *S, BasicBlock *BB) const;
+
virtual bool runOnFunction(Function &F);
virtual void releaseMemory();
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h
index 8cb533a..4d95635 100644
--- a/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -48,14 +48,6 @@ namespace llvm {
return false;
}
- bool dominates(BasicBlock *BB, DominatorTree *DT) const {
- return true;
- }
-
- bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const {
- return true;
- }
-
virtual void print(raw_ostream &OS) const;
/// Methods for support type inquiry through isa, cast, and dyn_cast:
@@ -84,10 +76,6 @@ namespace llvm {
return Op == O || Op->hasOperand(O);
}
- virtual bool dominates(BasicBlock *BB, DominatorTree *DT) const;
-
- virtual bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
-
/// Methods for support type inquiry through isa, cast, and dyn_cast:
static inline bool classof(const SCEVCastExpr *S) { return true; }
static inline bool classof(const SCEV *S) {
@@ -188,10 +176,6 @@ namespace llvm {
virtual bool hasOperand(const SCEV *O) const;
- bool dominates(BasicBlock *BB, DominatorTree *DT) const;
-
- bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
-
virtual const Type *getType() const { return getOperand(0)->getType(); }
bool hasNoUnsignedWrap() const { return SubclassData & (1 << 0); }
@@ -309,10 +293,6 @@ namespace llvm {
return O == LHS || O == RHS || LHS->hasOperand(O) || RHS->hasOperand(O);
}
- bool dominates(BasicBlock *BB, DominatorTree *DT) const;
-
- bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
-
virtual const Type *getType() const;
void print(raw_ostream &OS) const;
@@ -357,10 +337,6 @@ namespace llvm {
getLoop());
}
- bool dominates(BasicBlock *BB, DominatorTree *DT) const;
-
- bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
-
/// isAffine - Return true if this is an affine AddRec (i.e., it represents
/// an expressions A+B*x where A and B are loop invariant values.
bool isAffine() const {
@@ -496,10 +472,6 @@ namespace llvm {
return false;
}
- bool dominates(BasicBlock *BB, DominatorTree *DT) const;
-
- bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
-
virtual const Type *getType() const;
virtual void print(raw_ostream &OS) const;