|
void | llvm::thinLTOResolvePrevailingInIndex (const lto::Config &C, ModuleSummaryIndex &Index, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, function_ref< void(StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage, const DenseSet< GlobalValue::GUID > &GUIDPreservedSymbols) |
| Resolve linkage for prevailing symbols in the Index .
|
|
void | llvm::thinLTOInternalizeAndPromoteInIndex (ModuleSummaryIndex &Index, function_ref< bool(StringRef, ValueInfo)> isExported, function_ref< bool(GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing) |
| Update the linkages in the given Index to mark exported values as external and non-exported values as internal.
|
|
std::string | llvm::computeLTOCacheKey (const lto::Config &Conf, const ModuleSummaryIndex &Index, StringRef ModuleID, const FunctionImporter::ImportMapTy &ImportList, const FunctionImporter::ExportSetTy &ExportList, const std::map< GlobalValue::GUID, GlobalValue::LinkageTypes > &ResolvedODR, const GVSummaryMapTy &DefinedGlobals, const DenseSet< GlobalValue::GUID > &CfiFunctionDefs={}, const DenseSet< GlobalValue::GUID > &CfiFunctionDecls={}) |
| Computes a unique hash for the Module considering the current list of export/import and other global analysis results.
|
|
std::string | llvm::recomputeLTOCacheKey (const std::string &Key, StringRef ExtraID) |
| Recomputes the LTO cache key for a given key with an extra identifier.
|
|
StringLiteral | llvm::lto::getThinLTODefaultCPU (const Triple &TheTriple) |
|
std::string | llvm::lto::getThinLTOOutputFile (StringRef Path, StringRef OldPrefix, StringRef NewPrefix) |
| Given the original Path to an output file, replace any path prefix matching OldPrefix with NewPrefix .
|
|
Expected< std::unique_ptr< ToolOutputFile > > | llvm::lto::setupLLVMOptimizationRemarks (LLVMContext &Context, StringRef RemarksFilename, StringRef RemarksPasses, StringRef RemarksFormat, bool RemarksWithHotness, std::optional< uint64_t > RemarksHotnessThreshold=0, int Count=-1) |
| Setup optimization remarks.
|
|
Expected< std::unique_ptr< ToolOutputFile > > | llvm::lto::setupStatsFile (StringRef StatsFilename) |
| Setups the output file for saving statistics.
|
|
std::vector< int > | llvm::lto::generateModulesOrdering (ArrayRef< BitcodeModule * > R) |
| Produces a container ordering for optimal multi-threaded processing.
|
|
void | llvm::lto::updateMemProfAttributes (Module &Mod, const ModuleSummaryIndex &Index) |
| Updates MemProf attributes (and metadata) based on whether the index has recorded that we are linking with allocation libraries containing the necessary APIs for downstream transformations.
|
|
ThinBackend | llvm::lto::createInProcessThinBackend (ThreadPoolStrategy Parallelism, IndexWriteCallback OnWrite=nullptr, bool ShouldEmitIndexFiles=false, bool ShouldEmitImportsFiles=false) |
| This ThinBackend runs the individual backend jobs in-process.
|
|
ThinBackend | llvm::lto::createWriteIndexesThinBackend (ThreadPoolStrategy Parallelism, std::string OldPrefix, std::string NewPrefix, std::string NativeObjectPrefix, bool ShouldEmitImportsFiles, raw_fd_ostream *LinkedObjectsFile, IndexWriteCallback OnWrite) |
| This ThinBackend writes individual module indexes to files, instead of running the individual backend jobs.
|
|