Lines Matching full:config
10 #include "Config.h"
23 #include "llvm/LTO/Config.h"
71 std::string(modulePath), std::string(config->thinLTOPrefixReplace.first), in getThinLTOOutputFile()
72 std::string(config->thinLTOPrefixReplace.second)); in getThinLTOOutputFile()
75 static lto::Config createConfig() { in createConfig()
76 lto::Config c; in createConfig()
81 for (StringRef C : config->mllvmOpts) in createConfig()
92 if (!config->ltoBasicBlockSections.empty()) { in createConfig()
93 if (config->ltoBasicBlockSections == "all") { in createConfig()
95 } else if (config->ltoBasicBlockSections == "labels") { in createConfig()
97 } else if (config->ltoBasicBlockSections == "none") { in createConfig()
101 MemoryBuffer::getFile(config->ltoBasicBlockSections.str()); in createConfig()
103 error("cannot open " + config->ltoBasicBlockSections + ":" + in createConfig()
113 config->ltoUniqueBasicBlockSectionNames; in createConfig()
117 else if (config->relocatable) in createConfig()
119 else if (config->isPic) in createConfig()
125 c.DisableVerify = config->disableVerify; in createConfig()
127 c.OptLevel = config->ltoo; in createConfig()
130 c.CGOptLevel = args::getCGOptLevel(config->ltoo); in createConfig()
136 c.OptPipeline = std::string(config->ltoNewPmPasses); in createConfig()
137 c.AAPipeline = std::string(config->ltoAAPipeline); in createConfig()
140 c.RemarksFilename = std::string(config->optRemarksFilename); in createConfig()
141 c.RemarksPasses = std::string(config->optRemarksPasses); in createConfig()
142 c.RemarksWithHotness = config->optRemarksWithHotness; in createConfig()
143 c.RemarksHotnessThreshold = config->optRemarksHotnessThreshold; in createConfig()
144 c.RemarksFormat = std::string(config->optRemarksFormat); in createConfig()
147 c.StatsFile = std::string(config->optStatsFilename); in createConfig()
149 c.SampleProfile = std::string(config->ltoSampleProfile); in createConfig()
150 for (StringRef pluginFn : config->passPlugins) in createConfig()
152 c.DebugPassManager = config->ltoDebugPassManager; in createConfig()
153 c.DwoDir = std::string(config->dwoDir); in createConfig()
155 c.HasWholeProgramVisibility = config->ltoWholeProgramVisibility; in createConfig()
156 c.AlwaysEmitRegularLTOObj = !config->ltoObjPath.empty(); in createConfig()
158 for (const llvm::StringRef &name : config->thinLTOModulesToCompile) in createConfig()
161 c.TimeTraceEnabled = config->timeTraceEnabled; in createConfig()
162 c.TimeTraceGranularity = config->timeTraceGranularity; in createConfig()
164 c.CSIRProfile = std::string(config->ltoCSProfileFile); in createConfig()
165 c.RunCSIRInstr = config->ltoCSProfileGenerate; in createConfig()
166 c.PGOWarnMismatch = config->ltoPGOWarnMismatch; in createConfig()
168 c.OpaquePointers = config->opaquePointers; in createConfig()
170 if (config->emitLLVM) { in createConfig()
173 openLTOOutputFile(config->outputFile)) in createConfig()
179 if (config->ltoEmitAsm) { in createConfig()
184 if (!config->saveTempsArgs.empty()) in createConfig()
185 checkError(c.addSaveTemps(config->outputFile.str() + ".", in createConfig()
187 config->saveTempsArgs)); in createConfig()
193 if (!config->thinLTOIndexOnlyArg.empty()) in BitcodeCompiler()
194 indexFile = openFile(config->thinLTOIndexOnlyArg); in BitcodeCompiler()
199 if (config->thinLTOIndexOnly) { in BitcodeCompiler()
201 std::string(config->thinLTOPrefixReplace.first), in BitcodeCompiler()
202 std::string(config->thinLTOPrefixReplace.second), in BitcodeCompiler()
203 config->thinLTOEmitImportsFiles, indexFile.get(), onIndexWrite); in BitcodeCompiler()
206 llvm::heavyweight_hardware_concurrency(config->thinLTOJobs), in BitcodeCompiler()
207 onIndexWrite, config->thinLTOEmitIndexFiles, in BitcodeCompiler()
208 config->thinLTOEmitImportsFiles); in BitcodeCompiler()
212 config->ltoPartitions); in BitcodeCompiler()
231 bool isExec = !config->shared && !config->relocatable; in add()
233 if (config->thinLTOEmitIndexFiles) in add()
261 r.VisibleToRegularObj = config->relocatable || sym->isUsedInRegularObj || in add()
269 (config->exportDynamic || sym->exportDynamic || sym->inDynamicList); in add()
314 if (config->thinLTOEmitImportsFiles) in thinLTOCreateEmptyIndexFiles()
330 if (!config->thinLTOCacheDir.empty()) in compile()
331 cache = check(localCache("ThinLTO", "Thin", config->thinLTOCacheDir, in compile()
346 if (config->thinLTOModulesToCompile.empty()) { in compile()
350 if (config->thinLTOEmitImportsFiles) in compile()
355 if (config->thinLTOEmitIndexFiles) in compile()
358 if (config->thinLTOIndexOnly) { in compile()
359 if (!config->ltoObjPath.empty()) in compile()
360 saveBuffer(buf[0], config->ltoObjPath); in compile()
370 if (!config->thinLTOCacheDir.empty()) in compile()
371 pruneCache(config->thinLTOCacheDir, config->thinLTOCachePolicy, files); in compile()
373 if (!config->ltoObjPath.empty()) { in compile()
374 saveBuffer(buf[0], config->ltoObjPath); in compile()
376 saveBuffer(buf[i], config->ltoObjPath + Twine(i)); in compile()
379 if (config->saveTempsArgs.contains("prelink")) { in compile()
381 saveBuffer(buf[0], config->outputFile + ".lto.o"); in compile()
383 saveBuffer(buf[i], config->outputFile + Twine(i) + ".lto.o"); in compile()
386 if (config->ltoEmitAsm) { in compile()
387 saveBuffer(buf[0], config->outputFile); in compile()
389 saveBuffer(buf[i], config->outputFile + Twine(i)); in compile()