[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
This commit is contained in:
Roman Lebedev 2018-05-16 18:15:56 +00:00
parent ddfefc3538
commit d9ade38d4e
2 changed files with 4 additions and 1 deletions

View File

@ -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

View File

@ -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<true> L(*TimerLock);
prepareToPrintList();
for (const PrintRecord &R : TimersToPrint) {
OS << delim;