@@ -37,12 +37,6 @@ namespace llvm {
3737bool TimePassesIsEnabled = false ;
3838bool TimePassesPerRun = false ;
3939
40- static constexpr StringRef PassGroupName = " pass" ;
41- static constexpr StringRef AnalysisGroupName = " analysis" ;
42- static constexpr StringRef PassGroupDesc = " Pass execution timing report" ;
43- static constexpr StringRef AnalysisGroupDesc =
44- " Analysis execution timing report" ;
45-
4640static cl::opt<bool , true > EnableTiming (
4741 " time-passes" , cl::location(TimePassesIsEnabled), cl::Hidden,
4842 cl::desc(" Time each pass, printing elapsed time for each on exit" ));
@@ -109,7 +103,8 @@ void PassTimingInfo::init() {
109103
110104// / Prints out timing information and then resets the timers.
111105void PassTimingInfo::print (raw_ostream *OutStream) {
112- NamedRegionTimer::getNamedGroupTimerGroup (PassGroupName, PassGroupDesc)
106+ NamedRegionTimer::getNamedTimerGroup (TimePassesHandler::PassGroupName,
107+ TimePassesHandler::PassGroupDesc)
113108 .print (OutStream ? *OutStream : *CreateInfoOutputFile (), true );
114109}
115110
@@ -119,8 +114,10 @@ Timer *PassTimingInfo::newPassTimer(StringRef PassID, StringRef PassDesc) {
119114 // Appending description with a pass-instance number for all but the first one
120115 std::string PassDescNumbered =
121116 num <= 1 ? PassDesc.str () : formatv (" {0} #{1}" , PassDesc, num).str ();
122- return &NamedRegionTimer::getNamedGroupTimer (PassID, PassDescNumbered,
123- PassGroupName, PassGroupDesc);
117+ return new Timer (
118+ PassID, PassDescNumbered,
119+ NamedRegionTimer::getNamedTimerGroup (TimePassesHandler::PassGroupName,
120+ TimePassesHandler::PassGroupDesc));
124121}
125122
126123Timer *PassTimingInfo::getPassTimer (Pass *P, PassInstanceID Pass) {
@@ -166,9 +163,7 @@ void reportAndResetTimings(raw_ostream *OutStream) {
166163// / Returns the timer for the specified pass invocation of \p PassID.
167164// / Each time it creates a new timer.
168165Timer &TimePassesHandler::getPassTimer (StringRef PassID, bool IsPass) {
169- StringRef TGName = IsPass ? PassGroupName : PassGroupDesc;
170- StringRef TGDesc = IsPass ? PassGroupDesc : AnalysisGroupDesc;
171- TimerGroup &TG = NamedRegionTimer::getNamedGroupTimerGroup (TGName, TGDesc);
166+ TimerGroup &TG = IsPass ? PassTG : AnalysisTG;
172167 if (!PerRun) {
173168 TimerVector &Timers = TimingData[PassID];
174169 if (Timers.size () == 0 )
@@ -212,10 +207,9 @@ void TimePassesHandler::print() {
212207 OS = &*MaybeCreated;
213208 }
214209
215- NamedRegionTimer::getNamedGroupTimerGroup (PassGroupName, PassGroupDesc)
210+ NamedRegionTimer::getNamedTimerGroup (PassGroupName, PassGroupDesc)
216211 .print (*OS, true );
217- NamedRegionTimer::getNamedGroupTimerGroup (AnalysisGroupName,
218- AnalysisGroupDesc)
212+ NamedRegionTimer::getNamedTimerGroup (AnalysisGroupName, AnalysisGroupDesc)
219213 .print (*OS, true );
220214}
221215
0 commit comments