Add support for variable argument functions!
[oota-llvm.git] / lib / Transforms / Scalar / DCE.cpp
index bfc41b14bca6f5ac769122e89dad2521caa8a17b..36a597a19dc1d9d0e85a1cec8f468bf1bb792ebf 100644 (file)
 #include "llvm/Instruction.h"
 #include "llvm/Pass.h"
 #include "llvm/Support/InstIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
 #include <set>
 
-static Statistic<> DIEEliminated("die\t\t- Number of insts removed");
-static Statistic<> DCEEliminated("dce\t\t- Number of insts removed");
+namespace {
+  Statistic<> DIEEliminated("die", "Number of insts removed");
+  Statistic<> DCEEliminated("dce", "Number of insts removed");
 
-//===----------------------------------------------------------------------===//
-// DeadInstElimination pass implementation
-//
+  //===--------------------------------------------------------------------===//
+  // DeadInstElimination pass implementation
+  //
 
-namespace {
   struct DeadInstElimination : public BasicBlockPass {
     virtual bool runOnBasicBlock(BasicBlock &BB) {
       bool Changed = false;
@@ -38,11 +38,11 @@ namespace {
     }
 
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-      AU.preservesCFG();
+      AU.setPreservesCFG();
     }
   };
   
-  RegisterPass<DeadInstElimination> X("die", "Dead Instruction Elimination");
+  RegisterOpt<DeadInstElimination> X("die", "Dead Instruction Elimination");
 }
 
 Pass *createDeadInstEliminationPass() {
@@ -60,11 +60,11 @@ namespace {
     virtual bool runOnFunction(Function &F);
 
      virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-      AU.preservesCFG();
+      AU.setPreservesCFG();
     }
  };
 
-  RegisterPass<DCE> Y("dce", "Dead Code Elimination");
+  RegisterOpt<DCE> Y("dce", "Dead Code Elimination");
 }
 
 bool DCE::runOnFunction(Function &F) {