diff options
-rw-r--r-- | include/llvm/Pass.h | 5 | ||||
-rw-r--r-- | lib/VMCore/Pass.cpp | 7 |
2 files changed, 9 insertions, 3 deletions
diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 96cd263..08496c5 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -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, diff --git a/lib/VMCore/Pass.cpp b/lib/VMCore/Pass.cpp index 945a7ca..d6fe2fb 100644 --- a/lib/VMCore/Pass.cpp +++ b/lib/VMCore/Pass.cpp @@ -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, |