Factor the calculation details for PostDomTree out of PostDominators.cpp and
[oota-llvm.git] / include / llvm / Analysis / ScalarEvolution.h
index 27d7e04a3e25cc042ce2624b3ea9d893f9b6aa73..b6a58fe0053f9570aef826d84adbcbc3c9b30323 100644 (file)
@@ -54,7 +54,7 @@ namespace llvm {
   protected:
     virtual ~SCEV();
   public:
-    SCEV(unsigned SCEVTy) : SCEVType(SCEVTy), RefCount(0) {}
+    explicit SCEV(unsigned SCEVTy) : SCEVType(SCEVTy), RefCount(0) {}
 
     /// getNegativeSCEV - Return the SCEV object corresponding to -V.
     ///
@@ -197,7 +197,8 @@ namespace llvm {
   class ScalarEvolution : public FunctionPass {
     void *Impl;    // ScalarEvolution uses the pimpl pattern
   public:
-    ScalarEvolution() : Impl(0) {}
+    static char ID; // Pass identification, replacement for typeid
+    ScalarEvolution() : FunctionPass((intptr_t)&ID), Impl(0) {}
 
     /// getSCEV - Return a SCEV expression handle for the full generality of the
     /// specified expression.
@@ -231,10 +232,10 @@ namespace llvm {
     /// an analyzable loop-invariant iteration count.
     bool hasLoopInvariantIterationCount(const Loop *L) const;
 
-    /// deleteInstructionFromRecords - This method should be called by the
-    /// client before it removes an instruction from the program, to make sure
+    /// deleteValueFromRecords - This method should be called by the
+    /// client before it removes a Value from the program, to make sure
     /// that no dangling references are left around.
-    void deleteInstructionFromRecords(Instruction *I) const;
+    void deleteValueFromRecords(Value *V) const;
 
     virtual bool runOnFunction(Function &F);
     virtual void releaseMemory();