Give the -time-passes tool option a global storage location so that its
authorReid Spencer <rspencer@reidspencer.com>
Tue, 24 Aug 2004 17:52:35 +0000 (17:52 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Tue, 24 Aug 2004 17:52:35 +0000 (17:52 +0000)
value can be discovered by the various LLVM tools.

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

include/llvm/Pass.h
lib/VMCore/Pass.cpp

index 96cd263e21789c5478164814079fdcb22630f1ea..08496c5d2e7c3bfa0c69cc64cfc6d66ed0196bdb 100644 (file)
@@ -332,6 +332,11 @@ private:
   virtual void addToPassManager(PassManagerT<BasicBlock> *PM,AnalysisUsage &AU);
 };
 
+/// If the user specifies the -time-passes argument on an LLVM tool command line
+/// then the value of this boolean will be true, otherwise false.
+/// @brief This is the storage for the -time-passes option.
+extern bool TimePassesIsEnabled;
+
 } // End llvm namespace
 
 // Include support files that contain important APIs commonly used by Passes,
index 945a7cac6476513fdb62b8f3462e48d206949b06..d6fe2fba41cd6bc011a06eefc95e8d00f0d8bdee 100644 (file)
@@ -110,15 +110,16 @@ bool FunctionPassManager::run(Function &F) {
 // amount of time each pass takes to execute.  This only happens with
 // -time-passes is enabled on the command line.
 //
-static cl::opt<bool>
-EnableTiming("time-passes",
+bool llvm::TimePassesIsEnabled = false;
+static cl::opt<bool,true>
+EnableTiming("time-passes", cl::location(TimePassesIsEnabled),
             cl::desc("Time each pass, printing elapsed time for each on exit"));
 
 // createTheTimeInfo - This method either initializes the TheTimeInfo pointer to
 // a non null value (if the -time-passes option is enabled) or it leaves it
 // null.  It may be called multiple times.
 void TimingInfo::createTheTimeInfo() {
-  if (!EnableTiming || TheTimeInfo) return;
+  if (!TimePassesIsEnabled || TheTimeInfo) return;
 
   // Constructed the first time this is called, iff -time-passes is enabled.
   // This guarantees that the object will be constructed before static globals,