Add a properlyDominates member function to ScalarEvolution.
[oota-llvm.git] / include / llvm / Analysis / ScalarEvolutionExpressions.h
index 33cd2a5c3ce7efefec081d8fc3a7e9a358b667e8..67f5e06977cda873dc8fa2d5ad46677481fbd136 100644 (file)
@@ -60,6 +60,10 @@ namespace llvm {
       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:
@@ -98,6 +102,8 @@ namespace llvm {
 
     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) {
@@ -224,6 +230,8 @@ namespace llvm {
 
     bool dominates(BasicBlock *BB, DominatorTree *DT) const;
 
+    bool properlyDominates(BasicBlock *BB, DominatorTree *DT) const;
+
     virtual const Type *getType() const { return getOperand(0)->getType(); }
 
     /// Methods for support type inquiry through isa, cast, and dyn_cast:
@@ -337,6 +345,8 @@ namespace llvm {
 
     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;
@@ -513,6 +523,10 @@ namespace llvm {
       return true;
     }
 
+    bool properlyDominates(BasicBlock *, DominatorTree *) const {
+      return true;
+    }
+
     virtual const Type *getType() const { return Ty; }
 
     /// Methods for support type inquiry through isa, cast, and dyn_cast:
@@ -599,6 +613,8 @@ namespace llvm {
 
     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;