@@ -319,6 +319,7 @@ UnifiedStatsReporter::UnifiedStatsReporter(StringRef ProgramName,
319
319
StringRef Directory,
320
320
SourceManager *SM,
321
321
clang::SourceManager *CSM,
322
+ bool FineGrainedTimers,
322
323
bool TraceEvents,
323
324
bool ProfileEvents,
324
325
bool ProfileEntities)
@@ -329,7 +330,7 @@ UnifiedStatsReporter::UnifiedStatsReporter(StringRef ProgramName,
329
330
OutputType,
330
331
OptType),
331
332
Directory,
332
- SM, CSM,
333
+ SM, CSM, FineGrainedTimers,
333
334
TraceEvents, ProfileEvents, ProfileEntities)
334
335
{
335
336
}
@@ -339,6 +340,7 @@ UnifiedStatsReporter::UnifiedStatsReporter(StringRef ProgramName,
339
340
StringRef Directory,
340
341
SourceManager *SM,
341
342
clang::SourceManager *CSM,
343
+ bool FineGrainedTimers,
342
344
bool TraceEvents,
343
345
bool ProfileEvents,
344
346
bool ProfileEntities)
@@ -355,7 +357,8 @@ UnifiedStatsReporter::UnifiedStatsReporter(StringRef ProgramName,
355
357
SourceMgr(SM),
356
358
ClangSourceMgr(CSM),
357
359
RecursiveTimers(std::make_unique<RecursionSafeTimers>()),
358
- IsFlushingTracesAndProfiles(false )
360
+ IsFlushingTracesAndProfiles(false ),
361
+ FineGrainedTimers(FineGrainedTimers)
359
362
{
360
363
path::append (StatsFilename, makeStatsFileName (ProgramName, AuxName));
361
364
path::append (TraceFilename, makeTraceFileName (ProgramName, AuxName));
@@ -453,20 +456,22 @@ UnifiedStatsReporter::printAlwaysOnStatsAndTimers(raw_ostream &OS) {
453
456
const char *delim = " " ;
454
457
if (FrontendCounters) {
455
458
auto &C = getFrontendCounters ();
456
- #define FRONTEND_STATISTIC (TY, NAME ) \
457
- do { \
458
- OS << delim << " \t\" " #TY " ." #NAME " \" : " << C.NAME ; \
459
- delim = " ,\n " ; \
459
+ #define FRONTEND_STATISTIC (TY, NAME ) \
460
+ do { \
461
+ if (C.NAME ) \
462
+ OS << delim << " \t\" " #TY " ." #NAME " \" : " << C.NAME ; \
463
+ delim = " ,\n " ; \
460
464
} while (0 );
461
465
#include " swift/Basic/Statistics.def"
462
466
#undef FRONTEND_STATISTIC
463
467
}
464
468
if (DriverCounters) {
465
469
auto &C = getDriverCounters ();
466
- #define DRIVER_STATISTIC (NAME ) \
467
- do { \
468
- OS << delim << " \t\" Driver." #NAME " \" : " << C.NAME ; \
469
- delim = " ,\n " ; \
470
+ #define DRIVER_STATISTIC (NAME ) \
471
+ do { \
472
+ if (C.NAME ) \
473
+ OS << delim << " \t\" Driver." #NAME " \" : " << C.NAME ; \
474
+ delim = " ,\n " ; \
470
475
} while (0 );
471
476
#include " swift/Basic/Statistics.def"
472
477
#undef DRIVER_STATISTIC
0 commit comments