Enable timing counters in clang's frontend.

This feature can be enabled by setting an env variable ROOT_CLING_TIMING.
It prints some information about how much time different parts of clang
take.
This commit is contained in:
Vassil Vassilev 2018-10-26 08:24:39 -07:00 committed by sftnight
parent 084e96df4c
commit c178d80217

View File

@ -1042,7 +1042,8 @@ static void stringifyPreprocSetting(PreprocessorOptions& PPOpts,
}
}
Invocation.getFrontendOpts().DisableFree = true;
FrontendOptions FrontendOpts = Invocation.getFrontendOpts();
FrontendOpts.DisableFree = true;
// With modules, we now start adding prebuilt module paths to the CI.
// Modules from those paths are treated like they are never out of date
@ -1066,7 +1067,10 @@ static void stringifyPreprocSetting(PreprocessorOptions& PPOpts,
/*UserFilesAreVolatile*/ true);
CI->setSourceManager(SM); // CI now owns SM
if (Invocation.getFrontendOpts().ModulesEmbedAllFiles)
if (FrontendOpts.ShowTimers)
CI->createFrontendTimer();
if (FrontendOpts.ModulesEmbedAllFiles)
CI->getSourceManager().setAllFilesAreTransient(true);
// As main file we want