diff --git a/Driver/Backend.cpp b/Driver/Backend.cpp
index 6eaffe9..92b0c8f 100644
--- a/Driver/Backend.cpp
+++ b/Driver/Backend.cpp
@@ -8,7 +8,6 @@
 //===----------------------------------------------------------------------===//
 
 #include "ASTConsumers.h"
-
 #include "clang/AST/ASTContext.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/AST/TranslationUnit.h"
@@ -35,7 +34,6 @@
 #include "llvm/Target/TargetMachineRegistry.h"
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Transforms/IPO.h"
-
 using namespace clang;
 using namespace llvm;
 
@@ -85,7 +83,10 @@
       GenerateDebugInfo(debug),
       Gen(CreateLLVMCodeGen(Diags, langopts, InputFile, GenerateDebugInfo)),
       TheModule(0), TheTargetData(0), AsmOutStream(0), ModuleProvider(0),
-      CodeGenPasses(0), PerModulePasses(0), PerFunctionPasses(0) {}
+      CodeGenPasses(0), PerModulePasses(0), PerFunctionPasses(0) {
+      
+      llvm::TimePassesIsEnabled = CompileOpts.TimePasses;
+    }
 
     ~BackendConsumer() {
       delete AsmOutStream;
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 70bc5b1..d188f37 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -42,7 +42,6 @@
 #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"
@@ -1238,6 +1237,9 @@
   Opts.CPU = TargetCPU;
   Opts.Features.insert(Opts.Features.end(),
                        TargetFeatures.begin(), TargetFeatures.end());
+  
+  // Handle -ftime-report.
+  Opts.TimePasses = TimeReport;
 }
 
 //===----------------------------------------------------------------------===//
@@ -1508,10 +1510,6 @@
   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;
   
diff --git a/clang.xcodeproj/project.pbxproj b/clang.xcodeproj/project.pbxproj
index cee61e0..f5cc4cc 100644
--- a/clang.xcodeproj/project.pbxproj
+++ b/clang.xcodeproj/project.pbxproj
@@ -769,7 +769,6 @@
 		359603420E49495900C6282B /* Driver */ = {
 			isa = PBXGroup;
 			children = (
-				35585DC20EAFBC5F00D0A97A /* Backend.cpp */,
 				359763250E633C7500B68AB7 /* HTMLDiagnostics.cpp */,
 				350F4B460E5F32E100A21EA9 /* InitHeaderSearch.cpp */,
 				355BD0500EBFB040001A9DFF /* PlistDiagnostics.cpp */,
@@ -979,6 +978,7 @@
 				352028460E2C16820096ADE0 /* Analyses.def */,
 				DE3985780CB8ADC800223765 /* ASTConsumers.h */,
 				DE39857A0CB8ADCB00223765 /* ASTConsumers.cpp */,
+				35585DC20EAFBC5F00D0A97A /* Backend.cpp */,
 				35A057E60EAE2DDD0069249F /* CacheTokens.cpp */,
 				DE3B92800EB54E6000D01046 /* DependencyFile.cpp */,
 				DE38CF150D8C9DE000A273B6 /* DiagChecker.cpp */,
diff --git a/include/clang/Driver/CompileOptions.h b/include/clang/Driver/CompileOptions.h
index 354df43..2ccd356 100644
--- a/include/clang/Driver/CompileOptions.h
+++ b/include/clang/Driver/CompileOptions.h
@@ -29,6 +29,7 @@
   unsigned UnrollLoops       : 1; /// Control whether loops are unrolled.
   unsigned VerifyModule      : 1; /// Control whether the module
                                   /// should be run through the LLVM Verifier.
+  unsigned TimePasses        : 1; /// Set when -ftime-report is enabled.
 
   /// CPU - An optional CPU to target.
   std::string CPU;
@@ -44,6 +45,7 @@
     UnitAtATime = 1;
     InlineFunctions = SimplifyLibCalls = UnrollLoops = 0;
     VerifyModule = 1;
+    TimePasses = 0;
   }  
 };
 
