@@ -167,6 +167,10 @@ class UnifiedStatsReporter {
167167 std::unique_ptr<StatsProfilers> EventProfilers;
168168 std::unique_ptr<StatsProfilers> EntityProfilers;
169169
170+ // / Whether fine-grained timers are enabled. In practice, this means request
171+ // / evaluator requests. This will have a runtime performance impact.
172+ bool FineGrainedTimers;
173+
170174 // / Whether we are currently flushing statistics and should not therefore
171175 // / record any additional stats until we've finished.
172176 bool IsFlushingTracesAndProfiles;
@@ -179,6 +183,7 @@ class UnifiedStatsReporter {
179183 StringRef Directory,
180184 SourceManager *SM,
181185 clang::SourceManager *CSM,
186+ bool FineGrainedTimers,
182187 bool TraceEvents,
183188 bool ProfileEvents,
184189 bool ProfileEntities);
@@ -190,13 +195,16 @@ class UnifiedStatsReporter {
190195 StringRef OutputType,
191196 StringRef OptType,
192197 StringRef Directory,
193- SourceManager *SM=nullptr ,
194- clang::SourceManager *CSM=nullptr ,
195- bool TraceEvents=false ,
196- bool ProfileEvents=false ,
197- bool ProfileEntities=false );
198+ SourceManager *SM,
199+ clang::SourceManager *CSM,
200+ bool FineGrainedTimers,
201+ bool TraceEvents,
202+ bool ProfileEvents,
203+ bool ProfileEntities);
198204 ~UnifiedStatsReporter ();
199205
206+ bool fineGrainedTimers () const { return FineGrainedTimers; }
207+
200208 AlwaysOnDriverCounters &getDriverCounters ();
201209 AlwaysOnFrontendCounters &getFrontendCounters ();
202210 void flushTracesAndProfiles ();
0 commit comments