Link‐time optimization APIs, including Distributed ThinLTO (DTLTO).

Types

Name

Description

Config

LTO configuration. A linker can configure LTO by setting fields in this data structure and passing it to the lto::LTO constructor.

DTLTO

Prepares inputs for Distributed ThinLTO so that backend compilations use individual bitcode paths and consistent module IDs.

DistributionDriver

Invokes a distributor to compile ThinLTO modules remotely.

InputFile

An input file. This is a symbol table wrapper that only exposes the information that an LTO client should need in order to do symbol resolution.

LTO

Resolution‐based interface to LLVM's LTO functionality.

LTOLLVMContext

LLVMContext initialized from an LTO Config.

LTOLLVMDiagnosticHandler

Diagnostic handler that forwards diagnostics to a function callback.

SymbolResolution

The resolution for a symbol. The linker must provide a SymbolResolution for each global symbol based on its internal resolution of that symbol.

ThinBackend

ThinLTO backend behavior and thread‐pool strategy after the thin‐link.

ThinBackendProc

This class defines the interface to the ThinLTO backend.

Type Aliases

Name

Description

ImportsFilesContainer

Container of imported file paths for a ThinLTO module.

IndexWriteCallback

Callback invoked when a ThinLTO index file is written.

ThinBackendFunction

Callable defining ThinLTO backend behavior after the thin‐link phase.

Functions

Name

Description

backend

Runs a regular LTO backend. The regular LTO backend can also act as the regular LTO phase of ThinLTO, which may need to access the combined index.

createInProcessThinBackend

Create a ThinBackend that runs individual jobs in‐process.

createWriteIndexesThinBackend

Create a ThinBackend that writes module indexes for distributed builds.

finalizeOptimizationRemarks

Finalizes and flushes an optimization remarks output file.

findThinLTOModule

findThinLTOModule overloads

generateModulesOrdering

Produces a container ordering for optimal multi‐threaded processing.

getThinLTODefaultCPU

Return the default ThinLTO CPU name for the given triple.

getThinLTOOutputFile

Rewrite an output path by replacing a matching prefix.

initImportList

Distributed ThinLTO: collect the referenced modules based on module summary and initialize ImportList.

opt

Runs middle‐end LTO optimizations on Mod.

setupLLVMOptimizationRemarks

Setup optimization remarks.

setupStatsFile

Setups the output file for saving statistics.

thinBackend

Runs a ThinLTO backend.

Variables

Name

Description

BCError

Prefix string for DTLTO backend compilation error messages.

Created with MrDocs