diff options
Diffstat (limited to 'lib/IR/LegacyPassManager.cpp')
| -rw-r--r-- | lib/IR/LegacyPassManager.cpp | 13 | 
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/IR/LegacyPassManager.cpp b/lib/IR/LegacyPassManager.cpp index 628a67bd639ce..b2b12289f8710 100644 --- a/lib/IR/LegacyPassManager.cpp +++ b/lib/IR/LegacyPassManager.cpp @@ -12,6 +12,7 @@  //===----------------------------------------------------------------------===//  #include "llvm/IR/LegacyPassManager.h" +#include "llvm/ADT/Statistic.h"  #include "llvm/IR/IRPrintingPasses.h"  #include "llvm/IR/LLVMContext.h"  #include "llvm/IR/LegacyPassManagers.h" @@ -465,6 +466,11 @@ public:    // null.  It may be called multiple times.    static void createTheTimeInfo(); +  // print - Prints out timing information and then resets the timers. +  void print() { +    TG.print(*CreateInfoOutputFile()); +  } +    /// getPassTimer - Return the timer for the specified pass if it exists.    Timer *getPassTimer(Pass *P) {      if (P->getAsPMDataManager()) @@ -1752,6 +1758,13 @@ Timer *llvm::getPassTimer(Pass *P) {    return nullptr;  } +/// If timing is enabled, report the times collected up to now and then reset +/// them. +void llvm::reportAndResetTimings() { +  if (TheTimeInfo) +    TheTimeInfo->print(); +} +  //===----------------------------------------------------------------------===//  // PMStack implementation  //  | 
