[llvm] r178662 - Measure time that IR parsing took as part of the -time-passes measurement.

Eli Bendersky eliben at google.com
Wed Apr 3 08:33:45 PDT 2013


Author: eliben
Date: Wed Apr  3 10:33:45 2013
New Revision: 178662

URL: http://llvm.org/viewvc/llvm-project?rev=178662&view=rev
Log:
Measure time that IR parsing took as part of the -time-passes measurement.


Modified:
    llvm/trunk/lib/IR/PassManager.cpp
    llvm/trunk/lib/IRReader/IRReader.cpp

Modified: llvm/trunk/lib/IR/PassManager.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IR/PassManager.cpp?rev=178662&r1=178661&r2=178662&view=diff
==============================================================================
--- llvm/trunk/lib/IR/PassManager.cpp (original)
+++ llvm/trunk/lib/IR/PassManager.cpp Wed Apr  3 10:33:45 2013
@@ -1739,10 +1739,8 @@ bool PassManager::run(Module &M) {
 }
 
 //===----------------------------------------------------------------------===//
-// TimingInfo Class - This class is used to calculate information about the
-// amount of time each pass takes to execute.  This only happens with
-// -time-passes is enabled on the command line.
-//
+// TimingInfo implementation
+
 bool llvm::TimePassesIsEnabled = false;
 static cl::opt<bool,true>
 EnableTiming("time-passes", cl::location(TimePassesIsEnabled),

Modified: llvm/trunk/lib/IRReader/IRReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/IRReader/IRReader.cpp?rev=178662&r1=178661&r2=178662&view=diff
==============================================================================
--- llvm/trunk/lib/IRReader/IRReader.cpp (original)
+++ llvm/trunk/lib/IRReader/IRReader.cpp Wed Apr  3 10:33:45 2013
@@ -14,9 +14,18 @@
 #include "llvm/Support/MemoryBuffer.h"
 #include "llvm/Support/SourceMgr.h"
 #include "llvm/Support/system_error.h"
+#include "llvm/Support/Timer.h"
 
 using namespace llvm;
 
+namespace llvm {
+  extern bool TimePassesIsEnabled;
+}
+
+static const char *TimeIRParsingGroupName = "LLVM IR Parsing";
+static const char *TimeIRParsingName = "Parse IR";
+
+
 Module *llvm::getLazyIRModule(MemoryBuffer *Buffer, SMDiagnostic &Err,
                               LLVMContext &Context) {
   if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
@@ -50,6 +59,8 @@ Module *llvm::getLazyIRFileModule(const
 
 Module *llvm::ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err,
                       LLVMContext &Context) {
+  NamedRegionTimer T(TimeIRParsingName, TimeIRParsingGroupName,
+                     TimePassesIsEnabled);
   if (isBitcode((const unsigned char *)Buffer->getBufferStart(),
                 (const unsigned char *)Buffer->getBufferEnd())) {
     std::string ErrMsg;





More information about the llvm-commits mailing list