diff options
Diffstat (limited to 'lib/Support/Timer.cpp')
-rw-r--r-- | lib/Support/Timer.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp index 61d3b6c6e319..82f5810dd107 100644 --- a/lib/Support/Timer.cpp +++ b/lib/Support/Timer.cpp @@ -295,7 +295,7 @@ void TimerGroup::addTimer(Timer &T) { void TimerGroup::PrintQueuedTimers(raw_ostream &OS) { // Sort the timers in descending order by amount of time taken. - llvm::sort(TimersToPrint.begin(), TimersToPrint.end()); + llvm::sort(TimersToPrint); TimeRecord Total; for (const PrintRecord &Record : TimersToPrint) @@ -343,8 +343,7 @@ void TimerGroup::PrintQueuedTimers(raw_ostream &OS) { } void TimerGroup::prepareToPrintList() { - // See if any of our timers were started, if so add them to TimersToPrint and - // reset them. + // See if any of our timers were started, if so add them to TimersToPrint. for (Timer *T = FirstTimer; T; T = T->Next) { if (!T->hasTriggered()) continue; bool WasRunning = T->isRunning(); @@ -368,6 +367,12 @@ void TimerGroup::print(raw_ostream &OS) { PrintQueuedTimers(OS); } +void TimerGroup::clear() { + sys::SmartScopedLock<true> L(*TimerLock); + for (Timer *T = FirstTimer; T; T = T->Next) + T->clear(); +} + void TimerGroup::printAll(raw_ostream &OS) { sys::SmartScopedLock<true> L(*TimerLock); @@ -375,6 +380,12 @@ void TimerGroup::printAll(raw_ostream &OS) { TG->print(OS); } +void TimerGroup::clearAll() { + sys::SmartScopedLock<true> L(*TimerLock); + for (TimerGroup *TG = TimerGroupList; TG; TG = TG->Next) + TG->clear(); +} + void TimerGroup::printJSONValue(raw_ostream &OS, const PrintRecord &R, const char *suffix, double Value) { assert(yaml::needsQuotes(Name) == yaml::QuotingType::None && |