Fix the types for NumElements variables, and add a comment
[oota-llvm.git] / lib / Support / Statistic.cpp
index 8fdd44aace1d3749590d7268a072fbe6ae7ceb28..13acc1b0fa1e541086c40724be001615ee5d0b4d 100644 (file)
@@ -2,8 +2,8 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by the LLVM research group and is distributed under
-// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 //
@@ -28,6 +28,7 @@
 #include "llvm/ADT/StringExtras.h"
 #include <algorithm>
 #include <ostream>
+#include <cstring>
 using namespace llvm;
 
 // GetLibSupportInfoOutputFile - Return a file stream to print our output on.
@@ -45,11 +46,11 @@ namespace {
 /// on demand (when the first statistic is bumped) and destroyed only when 
 /// llvm_shutdown is called.  We print statistics from the destructor.
 class StatisticInfo {
-  std::vector<const StatisticBase*> Stats;
+  std::vector<const Statistic*> Stats;
 public:
   ~StatisticInfo();
   
-  void addStatistic(const StatisticBase *S) {
+  void addStatistic(const Statistic *S) {
     Stats.push_back(S);
   }
 };
@@ -60,7 +61,7 @@ static ManagedStatic<StatisticInfo> StatInfo;
 
 /// RegisterStatistic - The first time a statistic is bumped, this method is
 /// called.
-void StatisticBase::RegisterStatistic() {
+void Statistic::RegisterStatistic() {
   // If stats are enabled, inform StatInfo that this statistic should be
   // printed.
   if (Enabled)
@@ -69,8 +70,10 @@ void StatisticBase::RegisterStatistic() {
   Initialized = true;
 }
 
+namespace {
+
 struct NameCompare {
-  bool operator()(const StatisticBase *LHS, const StatisticBase *RHS) const {
+  bool operator()(const Statistic *LHS, const Statistic *RHS) const {
     int Cmp = std::strcmp(LHS->getName(), RHS->getName());
     if (Cmp != 0) return Cmp < 0;
     
@@ -79,6 +82,8 @@ struct NameCompare {
   }
 };
 
+}
+
 // Print information when destroyed, iff command line option is specified.
 StatisticInfo::~StatisticInfo() {
   // Statistics not enabled?
@@ -89,7 +94,7 @@ StatisticInfo::~StatisticInfo() {
 
   // Figure out how long the biggest Value and Name fields are.
   unsigned MaxNameLen = 0, MaxValLen = 0;
-  for (unsigned i = 0, e = Stats.size(); i != e; ++i) {
+  for (size_t i = 0, e = Stats.size(); i != e; ++i) {
     MaxValLen = std::max(MaxValLen,
                          (unsigned)utostr(Stats[i]->getValue()).size());
     MaxNameLen = std::max(MaxNameLen,
@@ -105,7 +110,7 @@ StatisticInfo::~StatisticInfo() {
             << "===" << std::string(73, '-') << "===\n\n";
   
   // Print all of the statistics.
-  for (unsigned i = 0, e = Stats.size(); i != e; ++i) {
+  for (size_t i = 0, e = Stats.size(); i != e; ++i) {
     std::string CountStr = utostr(Stats[i]->getValue());
     OutStream << std::string(MaxValLen-CountStr.size(), ' ')
               << CountStr << " " << Stats[i]->getName()