Eliminate static ctors from Statistics


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32698 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/BranchFolding.cpp b/lib/CodeGen/BranchFolding.cpp
index 0dfa492..69c6f4e 100644
--- a/lib/CodeGen/BranchFolding.cpp
+++ b/lib/CodeGen/BranchFolding.cpp
@@ -30,9 +30,9 @@
 #include <algorithm>
 using namespace llvm;
 
-static Statistic NumDeadBlocks("branchfold", "Number of dead blocks removed");
-static Statistic NumBranchOpts("branchfold", "Number of branches optimized");
-static Statistic NumTailMerge ("branchfold", "Number of block tails merged");
+STATISTIC(NumDeadBlocks, "Number of dead blocks removed");
+STATISTIC(NumBranchOpts, "Number of branches optimized");
+STATISTIC(NumTailMerge , "Number of block tails merged");
 static cl::opt<bool> EnableTailMerge("enable-tail-merge", cl::Hidden);
 
 namespace {
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index 2175d35..68d1948 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -36,24 +36,15 @@
 #include <cmath>
 using namespace llvm;
 
+STATISTIC(numIntervals, "Number of original intervals");
+STATISTIC(numIntervalsAfter, "Number of intervals after coalescing");
+STATISTIC(numJoins    , "Number of interval joins performed");
+STATISTIC(numPeep     , "Number of identity moves eliminated after coalescing");
+STATISTIC(numFolded   , "Number of loads/stores folded into instructions");
+
 namespace {
   RegisterPass<LiveIntervals> X("liveintervals", "Live Interval Analysis");
 
-  static Statistic numIntervals
-  ("liveintervals", "Number of original intervals");
-
-  static Statistic numIntervalsAfter
-  ("liveintervals", "Number of intervals after coalescing");
-
-  static Statistic numJoins
-  ("liveintervals", "Number of interval joins performed");
-
-  static Statistic numPeep
-  ("liveintervals", "Number of identity moves eliminated after coalescing");
-
-  static Statistic numFolded
-  ("liveintervals", "Number of loads/stores folded into instructions");
-
   static cl::opt<bool>
   EnableJoining("join-liveintervals",
                 cl::desc("Coallesce copies (default=true)"),
diff --git a/lib/CodeGen/PHIElimination.cpp b/lib/CodeGen/PHIElimination.cpp
index fec54ea..a5d17c2 100644
--- a/lib/CodeGen/PHIElimination.cpp
+++ b/lib/CodeGen/PHIElimination.cpp
@@ -13,6 +13,7 @@
 //
 //===----------------------------------------------------------------------===//
 
+#define DEBUG_TYPE "phielim"
 #include "llvm/CodeGen/LiveVariables.h"
 #include "llvm/CodeGen/Passes.h"
 #include "llvm/CodeGen/MachineFunctionPass.h"
@@ -28,10 +29,10 @@
 #include <algorithm>
 using namespace llvm;
 
+STATISTIC(NumAtomic, "Number of atomic phis lowered");
+//STATISTIC(NumSimple, "Number of simple phis lowered");
+
 namespace {
-  static Statistic NumAtomic("phielim", "Number of atomic phis lowered");
-  static Statistic NumSimple("phielim", "Number of simple phis lowered");
-  
   struct VISIBILITY_HIDDEN PNE : public MachineFunctionPass {
     bool runOnMachineFunction(MachineFunction &Fn) {
       analyzePHINodes(Fn);
diff --git a/lib/CodeGen/RegAllocLinearScan.cpp b/lib/CodeGen/RegAllocLinearScan.cpp
index 1977a54..5c6512d 100644
--- a/lib/CodeGen/RegAllocLinearScan.cpp
+++ b/lib/CodeGen/RegAllocLinearScan.cpp
@@ -35,17 +35,14 @@
 #include <cmath>
 using namespace llvm;
 
+STATISTIC(NumIters     , "Number of iterations performed");
+STATISTIC(NumBacktracks, "Number of times we had to backtrack");
+
+static RegisterRegAlloc
+linearscanRegAlloc("linearscan", "  linear scan register allocator",
+                   createLinearScanRegisterAllocator);
+
 namespace {
-
-  static Statistic NumIters
-  ("regalloc", "Number of iterations performed");
-  static Statistic NumBacktracks
-  ("regalloc", "Number of times we had to backtrack");
-
-  static RegisterRegAlloc
-    linearscanRegAlloc("linearscan", "  linear scan register allocator",
-                       createLinearScanRegisterAllocator);
-
   static unsigned numIterations = 0;
   static unsigned numIntervals = 0;
 
diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp
index 876eb95..644e221 100644
--- a/lib/CodeGen/RegAllocLocal.cpp
+++ b/lib/CodeGen/RegAllocLocal.cpp
@@ -32,12 +32,11 @@
 #include <algorithm>
 using namespace llvm;
 
-namespace {
-  static Statistic NumStores("ra-local", "Number of stores added");
-  static Statistic NumLoads ("ra-local", "Number of loads added");
-  static Statistic NumFolded("ra-local", "Number of loads/stores folded "
-			       "into instructions");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
+STATISTIC(NumFolded, "Number of loads/stores folded into instructions");
 
+namespace {
   static RegisterRegAlloc
     localRegAlloc("local", "  local register allocator",
                   createLocalRegisterAllocator);
diff --git a/lib/CodeGen/RegAllocSimple.cpp b/lib/CodeGen/RegAllocSimple.cpp
index 0150404..e632e35 100644
--- a/lib/CodeGen/RegAllocSimple.cpp
+++ b/lib/CodeGen/RegAllocSimple.cpp
@@ -29,10 +29,10 @@
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;
 
-namespace {
-  static Statistic NumStores("ra-simple", "Number of stores added");
-  static Statistic NumLoads ("ra-simple", "Number of loads added");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
 
+namespace {
   static RegisterRegAlloc
     simpleRegAlloc("simple", "  simple register allocator",
                    createSimpleRegisterAllocator);
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 3e53130..3350953 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -40,15 +40,11 @@
 #include <algorithm>
 using namespace llvm;
 
+STATISTIC(NodesCombined   , "Number of dag nodes combined");
+STATISTIC(PreIndexedNodes , "Number of pre-indexed nodes created");
+STATISTIC(PostIndexedNodes, "Number of post-indexed nodes created");
+
 namespace {
-  static Statistic NodesCombined ("dagcombiner", 
-				    "Number of dag nodes combined");
-            
-  static Statistic PreIndexedNodes ("pre_indexed_ops", 
-                                      "Number of pre-indexed nodes created");
-  static Statistic PostIndexedNodes ("post_indexed_ops", 
-                                       "Number of post-indexed nodes created");
-            
   static cl::opt<bool>
     CombinerAA("combiner-alias-analysis", cl::Hidden,
                cl::desc("Turn on alias analysis during testing"));
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
index 401b024..d21ef34 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
@@ -34,10 +34,8 @@
 #include <queue>
 using namespace llvm;
 
-namespace {
-  static Statistic NumNoops ("scheduler", "Number of noops inserted");
-  static Statistic NumStalls("scheduler", "Number of pipeline stalls");
-}
+STATISTIC(NumNoops , "Number of noops inserted");
+STATISTIC(NumStalls, "Number of pipeline stalls");
 
 static RegisterScheduler
   tdListDAGScheduler("list-td", "  Top-down list scheduler",
diff --git a/lib/CodeGen/TwoAddressInstructionPass.cpp b/lib/CodeGen/TwoAddressInstructionPass.cpp
index be19e46..ba768ba 100644
--- a/lib/CodeGen/TwoAddressInstructionPass.cpp
+++ b/lib/CodeGen/TwoAddressInstructionPass.cpp
@@ -43,14 +43,11 @@
 #include "llvm/ADT/STLExtras.h"
 using namespace llvm;
 
-namespace {
-  static Statistic NumTwoAddressInstrs("twoaddressinstruction",
-                                  "Number of two-address instructions");
-  static Statistic NumCommuted("twoaddressinstruction",
-                          "Number of instructions commuted to coalesce");
-  static Statistic NumConvertedTo3Addr("twoaddressinstruction",
-                                "Number of instructions promoted to 3-address");
+STATISTIC(NumTwoAddressInstrs, "Number of two-address instructions");
+STATISTIC(NumCommuted        , "Number of instructions commuted to coalesce");
+STATISTIC(NumConvertedTo3Addr, "Number of instructions promoted to 3-address");
 
+namespace {
   struct VISIBILITY_HIDDEN TwoAddressInstructionPass
    : public MachineFunctionPass {
     virtual void getAnalysisUsage(AnalysisUsage &AU) const;
diff --git a/lib/CodeGen/VirtRegMap.cpp b/lib/CodeGen/VirtRegMap.cpp
index 26b6eeb..2c93e09 100644
--- a/lib/CodeGen/VirtRegMap.cpp
+++ b/lib/CodeGen/VirtRegMap.cpp
@@ -32,14 +32,14 @@
 #include <algorithm>
 using namespace llvm;
 
-namespace {
-  static Statistic NumSpills("spiller", "Number of register spills");
-  static Statistic NumStores("spiller", "Number of stores added");
-  static Statistic NumLoads ("spiller", "Number of loads added");
-  static Statistic NumReused("spiller", "Number of values reused");
-  static Statistic NumDSE   ("spiller", "Number of dead stores elided");
-  static Statistic NumDCE   ("spiller", "Number of copies elided");
+STATISTIC(NumSpills, "Number of register spills");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
+STATISTIC(NumReused, "Number of values reused");
+STATISTIC(NumDSE   , "Number of dead stores elided");
+STATISTIC(NumDCE   , "Number of copies elided");
 
+namespace {
   enum SpillerName { simple, local };
 
   static cl::opt<SpillerName>