Fix warning
[oota-llvm.git] / lib / Transforms / Scalar / GCSE.cpp
index ef1d056ed7520783ee7b1bbe615cf21ed86ecbc4..771b9690fad43584d89c9fc28d39bf8861af86b9 100644 (file)
@@ -2,33 +2,28 @@
 //
 // This pass is designed to be a very quick global transformation that
 // eliminates global common subexpressions from a function.  It does this by
-// examining the SSA value graph of the function, instead of doing slow, dense,
-// bit-vector computations.
+// using an existing value numbering implementation to identify the common
+// subexpressions, eliminating them when possible.
 //
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Transforms/Scalar.h"
-#include "llvm/InstrTypes.h"
 #include "llvm/iMemory.h"
+#include "llvm/Type.h"
 #include "llvm/Analysis/Dominators.h"
 #include "llvm/Analysis/ValueNumbering.h"
 #include "llvm/Support/InstIterator.h"
-#include "llvm/Support/CFG.h"
-#include "llvm/Type.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
 #include <algorithm>
-using std::set;
-using std::map;
-
 
 namespace {
-  Statistic<> NumInstRemoved("gcse\t\t- Number of instructions removed");
-  Statistic<> NumLoadRemoved("gcse\t\t- Number of loads removed");
-  Statistic<> NumNonInsts   ("gcse\t\t- Number of instructions removed due "
+  Statistic<> NumInstRemoved("gcse", "Number of instructions removed");
+  Statistic<> NumLoadRemoved("gcse", "Number of loads removed");
+  Statistic<> NumNonInsts   ("gcse", "Number of instructions removed due "
                              "to non-instruction values");
 
   class GCSE : public FunctionPass {
-    set<Instruction*>       WorkList;
+    std::set<Instruction*>  WorkList;
     DominatorSet           *DomSetInfo;
 #if 0
     ImmediateDominators    *ImmDominator;
@@ -44,7 +39,7 @@ namespace {
 
     // This transformation requires dominator and immediate dominator info
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-      AU.preservesCFG();
+      AU.setPreservesCFG();
       AU.addRequired<DominatorSet>();
       AU.addRequired<ImmediateDominators>();
       AU.addRequired<ValueNumbering>();