Lines Matching defs:CI

27   if (const auto *CI = std::get_if<CowCompilerInvocation>(&BuildInfo))
28 BuildInfo = CI->getCC1CommandLine();
132 void ModuleDepCollector::addOutputPaths(CowCompilerInvocation &CI,
134 CI.getMutFrontendOpts().OutputFile =
136 if (!CI.getDiagnosticOpts().DiagnosticSerializationFile.empty())
137 CI.getMutDiagnosticOpts().DiagnosticSerializationFile =
140 if (!CI.getDependencyOutputOpts().OutputFile.empty()) {
141 CI.getMutDependencyOutputOpts().OutputFile = Controller.lookupModuleOutput(
143 CI.getMutDependencyOutputOpts().Targets =
147 if (!CI.getDependencyOutputOpts().OutputFile.empty() &&
148 CI.getDependencyOutputOpts().Targets.empty()) {
151 quoteMakeTarget(CI.getFrontendOpts().OutputFile, Target);
152 CI.getMutDependencyOutputOpts().Targets.push_back(std::string(Target));
178 makeCommonInvocationForModuleBuild(CompilerInvocation CI) {
179 CI.resetNonModularOptions();
180 CI.clearImplicitModuleBuildOptions();
185 CI.getHeaderSearchOpts().ModulesPruneNonAffectingModuleMaps = false;
190 CI.getFrontendOpts().Inputs.clear();
191 CI.getFrontendOpts().OutputFile.clear();
193 CI.getFrontendOpts().LLVMArgs.clear();
195 resetBenignCodeGenOptions(frontend::GenerateModule, CI.getLangOpts(),
196 CI.getCodeGenOpts());
200 if (!CI.getDiagnosticOpts().DiagnosticSerializationFile.empty())
201 CI.getDiagnosticOpts().DiagnosticSerializationFile = "-";
202 if (!CI.getDependencyOutputOpts().OutputFile.empty())
203 CI.getDependencyOutputOpts().OutputFile = "-";
204 CI.getDependencyOutputOpts().Targets.clear();
206 CI.getFrontendOpts().ProgramAction = frontend::GenerateModule;
207 CI.getFrontendOpts().ARCMTAction = FrontendOptions::ARCMT_None;
208 CI.getFrontendOpts().ObjCMTAction = FrontendOptions::ObjCMT_None;
209 CI.getFrontendOpts().MTMigrateDir.clear();
210 CI.getLangOpts().ModuleName.clear();
213 if (!CI.getHeaderSearchOpts().ModulesIgnoreMacros.empty()) {
215 CI.getPreprocessorOpts().Macros,
216 [&CI](const std::pair<std::string, bool> &Def) {
218 return CI.getHeaderSearchOpts().ModulesIgnoreMacros.contains(
222 CI.getHeaderSearchOpts().ModulesIgnoreMacros.clear();
225 return CI;
232 CowCompilerInvocation CI = CommonInvocation;
234 CI.getMutLangOpts().ModuleName = Deps.ID.ModuleName;
235 CI.getMutFrontendOpts().IsSystemModule = Deps.IsSystem;
238 InputKind ModuleMapInputKind(CI.getFrontendOpts().DashX.getLanguage(),
240 CI.getMutFrontendOpts().Inputs.emplace_back(Deps.ClangModuleMapFile,
249 CI.getMutFrontendOpts().ModuleMapFiles.clear();
271 CI.getMutFrontendOpts().ModuleMapFiles.emplace_back(ModuleMapFile);
276 CI.getMutFrontendOpts().ModuleFiles.push_back(PrebuiltModule.PCMFile);
279 addModuleFiles(CI, Deps.ClangModuleDeps);
281 if (!CI.getDiagnosticOpts().SystemHeaderWarningsModules.empty()) {
283 if (llvm::is_contained(CI.getDiagnosticOpts().SystemHeaderWarningsModules,
285 CI.getMutDiagnosticOpts().Warnings.push_back("system-headers");
287 CI.getMutDiagnosticOpts().SystemHeaderWarningsModules.clear();
290 Optimize(CI);
292 return CI;
310 CompilerInvocation &CI, ArrayRef<ModuleID> ClangModuleDeps) const {
317 CI.getFrontendOpts().ModuleMapFiles.push_back(MD->ClangModuleMapFile);
322 CompilerInvocation &CI, ArrayRef<ModuleID> ClangModuleDeps) const {
327 CI.getFrontendOpts().ModuleFiles.push_back(std::move(PCMPath));
329 CI.getHeaderSearchOpts().PrebuiltModuleFiles.insert(
335 CowCompilerInvocation &CI, ArrayRef<ModuleID> ClangModuleDeps) const {
340 CI.getMutFrontendOpts().ModuleFiles.push_back(std::move(PCMPath));
342 CI.getMutHeaderSearchOpts().PrebuiltModuleFiles.insert(
358 void ModuleDepCollector::applyDiscoveredDependencies(CompilerInvocation &CI) {
359 CI.clearImplicitModuleBuildOptions();
360 resetBenignCodeGenOptions(CI.getFrontendOpts().ProgramAction,
361 CI.getLangOpts(), CI.getCodeGenOpts());
363 if (llvm::any_of(CI.getFrontendOpts().Inputs, needsModules)) {
370 CI.getFrontendOpts().ModuleMapFiles.emplace_back(
379 addModuleMapFiles(CI, DirectDeps);
381 addModuleFiles(CI, DirectDeps);
384 CI.getFrontendOpts().ModuleFiles.push_back(KV.second.PCMFile);
389 const CowCompilerInvocation &CI,
407 CI.generateCC1CommandLine([&](const Twine &Arg) {
433 const CowCompilerInvocation &CI, ModuleDeps &Deps) {
435 Deps, CI, EagerLoadModules, ScanInstance.getVirtualFileSystem());
631 CowCompilerInvocation CI =
646 MDC.associateWithContextHash(CI, MD);
649 MDC.addOutputPaths(CI, MD);
651 MD.BuildInfo = std::move(CI);
769 static StringRef makeAbsoluteAndPreferred(CompilerInstance &CI, StringRef Path,
775 CI.getFileManager().makeAbsolutePath(Storage);