]> granicus.if.org Git - clang/commitdiff
wire up a minimal -ftime-report, which prints the optimizer/codegen
authorChris Lattner <sabre@nondot.org>
Wed, 18 Feb 2009 01:12:43 +0000 (01:12 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 18 Feb 2009 01:12:43 +0000 (01:12 +0000)
times.  Daniel, plz add driver support.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64869 91177308-0d34-0410-b5e6-96231b3b80d8

Driver/clang.cpp

index 24c4d7fe09f4e492a8aa2af717f95e555ff43f97..a22e0d2b900e54c3763b79d87859138a02f4850a 100644 (file)
@@ -42,6 +42,7 @@
 #include "clang/Basic/FileManager.h"
 #include "clang/Basic/SourceManager.h"
 #include "clang/Basic/TargetInfo.h"
+#include "llvm/Pass.h"
 #include "llvm/ADT/OwningPtr.h"
 #include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/StringExtras.h"
@@ -211,6 +212,12 @@ InheritanceViewCls("cxx-inheritance-view",
 //===----------------------------------------------------------------------===//
 // Builtin Options
 //===----------------------------------------------------------------------===//
+
+static llvm::cl::opt<bool>
+TimeReport("ftime-report",
+           llvm::cl::desc("Print the amount of time each "
+                          "phase of compilation takes"));
+
 static llvm::cl::opt<bool>
 Freestanding("ffreestanding",
              llvm::cl::desc("Assert that the compilation takes place in a "
@@ -1503,6 +1510,10 @@ int main(int argc, char **argv) {
   // If no input was specified, read from stdin.
   if (InputFilenames.empty())
     InputFilenames.push_back("-");
+  
+  // Handle -ftime-report.
+  if (TimeReport)
+    llvm::TimePassesIsEnabled = true;
     
   // Create a file manager object to provide access to and cache the filesystem.
   FileManager FileMgr;