Avoid inserting an entry block unless we need it
[oota-llvm.git] / lib / Transforms / Scalar / IndVarSimplify.cpp
index acd1deb711030bb10c963696891d5f29d42b4b68..4e3e65beaf3363790f564c5b9450c4c84d7fdb64 100644 (file)
@@ -8,7 +8,6 @@
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Analysis/InductionVariable.h"
 #include "llvm/Analysis/LoopInfo.h"
-#include "llvm/Analysis/Writer.h"
 #include "llvm/iPHINode.h"
 #include "llvm/iOther.h"
 #include "llvm/Type.h"
@@ -127,7 +126,7 @@ static bool TransformLoop(LoopInfo *Loops, Loop *Loop) {
   for (unsigned i = 0; i < IndVars.size(); ++i) {
     InductionVariable *IV = &IndVars[i];
 
-    DEBUG(std::cerr << IV);
+    DEBUG(IV->print(std::cerr));
 
     // Don't modify the cannonical indvar or unrecognized indvars...
     if (IV != Cannonical && IV->InductionType != InductionVariable::Unknown) {
@@ -184,10 +183,6 @@ static bool TransformLoop(LoopInfo *Loops, Loop *Loop) {
 
 namespace {
   struct InductionVariableSimplify : public FunctionPass {
-    const char *getPassName() const {
-      return "Induction Variable Cannonicalize";
-    }
-
     virtual bool runOnFunction(Function &) {
       LoopInfo &LI = getAnalysis<LoopInfo>();
 
@@ -198,13 +193,14 @@ namespace {
     }
     
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-      AU.addRequired(LoopInfo::ID);
+      AU.addRequired<LoopInfo>();
       AU.preservesCFG();
     }
   };
+  RegisterOpt<InductionVariableSimplify> X("indvars",
+                                           "Cannonicalize Induction Variables");
 }
 
 Pass *createIndVarSimplifyPass() {
   return new InductionVariableSimplify();
 }
-