From e01f705d97ab1f6ad8ad2a61ac0a8153ff9b39c8 Mon Sep 17 00:00:00 2001 From: Roman Lebedev Date: Wed, 16 May 2018 18:15:56 +0000 Subject: [PATCH] [Timers] TimerGroup: make printJSONValues() method public Summary: This is needed for the continuation of D46504, to be able to store the timings. Reviewers: george.karpenkov, NoQ, alexfh, sbenza Reviewed By: alexfh Subscribers: llvm-commits, cfe-commits Differential Revision: https://reviews.llvm.org/D46938 llvm-svn: 332505 --- include/llvm/Support/Timer.h | 3 ++- lib/Support/Timer.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/include/llvm/Support/Timer.h b/include/llvm/Support/Timer.h index 198855ae037..41f1b81a804 100644 --- a/include/llvm/Support/Timer.h +++ b/include/llvm/Support/Timer.h @@ -207,6 +207,8 @@ public: /// This static method prints all timers and clears them all out. static void printAll(raw_ostream &OS); + const char *printJSONValues(raw_ostream &OS, const char *delim); + /// Prints all timers as JSON key/value pairs, and clears them all out. static const char *printAllJSONValues(raw_ostream &OS, const char *delim); @@ -223,7 +225,6 @@ private: void PrintQueuedTimers(raw_ostream &OS); void printJSONValue(raw_ostream &OS, const PrintRecord &R, const char *suffix, double Value); - const char *printJSONValues(raw_ostream &OS, const char *delim); }; } // end namespace llvm diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index 4dbc8ed034d..fd587fb80bb 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -378,6 +378,8 @@ void TimerGroup::printJSONValue(raw_ostream &OS, const PrintRecord &R, } const char *TimerGroup::printJSONValues(raw_ostream &OS, const char *delim) { + sys::SmartScopedLock L(*TimerLock); + prepareToPrintList(); for (const PrintRecord &R : TimersToPrint) { OS << delim;