summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Statistic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Support/Statistic.cpp')
-rw-r--r--llvm/lib/Support/Statistic.cpp30
1 files changed, 5 insertions, 25 deletions
diff --git a/llvm/lib/Support/Statistic.cpp b/llvm/lib/Support/Statistic.cpp
index 67b07162b9a..370274dc299 100644
--- a/llvm/lib/Support/Statistic.cpp
+++ b/llvm/lib/Support/Statistic.cpp
@@ -52,14 +52,11 @@ static bool Enabled;
static bool PrintOnExit;
namespace {
-/// This class is used in a ManagedStatic so that it is created on demand (when
-/// the first statistic is bumped) and destroyed only when llvm_shutdown is
-/// called. We print statistics from the destructor.
-/// This class is also used to look up statistic values from applications that
-/// use LLVM.
+/// StatisticInfo - This class is used in a ManagedStatic so that it is created
+/// 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 Statistic*> Stats;
-
friend void llvm::PrintStatistics();
friend void llvm::PrintStatistics(raw_ostream &OS);
friend void llvm::PrintStatisticsJSON(raw_ostream &OS);
@@ -67,22 +64,14 @@ class StatisticInfo {
/// Sort statistics by debugtype,name,description.
void sort();
public:
- using const_iterator = std::vector<const Statistic *>::const_iterator;
-
StatisticInfo();
~StatisticInfo();
void addStatistic(const Statistic *S) {
Stats.push_back(S);
}
-
- const_iterator begin() const { return Stats.begin(); }
- const_iterator end() const { return Stats.end(); }
- iterator_range<const_iterator> statistics() const {
- return {begin(), end()};
- }
};
-} // end anonymous namespace
+}
static ManagedStatic<StatisticInfo> StatInfo;
static ManagedStatic<sys::SmartMutex<true> > StatLock;
@@ -191,7 +180,7 @@ void llvm::PrintStatisticsJSON(raw_ostream &OS) {
}
void llvm::PrintStatistics() {
-#if LLVM_ENABLE_STATS
+#if !defined(NDEBUG) || defined(LLVM_ENABLE_STATS)
StatisticInfo &Stats = *StatInfo;
// Statistics not enabled?
@@ -216,12 +205,3 @@ void llvm::PrintStatistics() {
}
#endif
}
-
-const std::vector<std::pair<StringRef, unsigned>> llvm::GetStatistics() {
- sys::SmartScopedLock<true> Reader(*StatLock);
- std::vector<std::pair<StringRef, unsigned>> ReturnStats;
-
- for (const auto &Stat : StatInfo->statistics())
- ReturnStats.emplace_back(Stat->getName(), Stat->getValue());
- return ReturnStats;
-}
OpenPOWER on IntegriCloud