merge the Statistic and StatisticBase classes, eliminating virtual methods
and eliminating #includes from the Statistic.h file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32282 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/Statistic.cpp b/lib/Support/Statistic.cpp
index cd51662..19cfff3 100644
--- a/lib/Support/Statistic.cpp
+++ b/lib/Support/Statistic.cpp
@@ -23,6 +23,7 @@
#include "llvm/ADT/Statistic.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/ADT/StringExtras.h"
#include <sstream>
#include <iostream>
#include <algorithm>
@@ -31,7 +32,7 @@
// GetLibSupportInfoOutputFile - Return a file stream to print our output on...
namespace llvm { extern std::ostream *GetLibSupportInfoOutputFile(); }
-unsigned StatisticBase::NumStats = 0;
+unsigned Statistic::NumStats = 0;
// -stats - Command line option to cause transformations to emit stats about
// what they did.
@@ -61,19 +62,13 @@
static std::vector<StatRecord> *AccumStats = 0;
-// Out of line virtual dtor, to give the vtable etc a home.
-StatisticBase::~StatisticBase() {
-}
-
// Print information when destroyed, iff command line option is specified
-void StatisticBase::destroy() const {
- if (Enabled && hasSomeData()) {
+Statistic::~Statistic() {
+ if (Enabled && Value != 0) {
if (AccumStats == 0)
AccumStats = new std::vector<StatRecord>();
- std::ostringstream Out;
- printValue(Out);
- AccumStats->push_back(StatRecord(Out.str(), Name, Desc));
+ AccumStats->push_back(StatRecord(utostr(Value), Name, Desc));
}
if (--NumStats == 0 && AccumStats) {