Link‐time optimization APIs, including Distributed ThinLTO (DTLTO).
Types
Name |
Description |
LTO configuration. A linker can configure LTO by setting fields in this data structure and passing it to the lto::LTO constructor. |
|
Prepares inputs for Distributed ThinLTO so that backend compilations use individual bitcode paths and consistent module IDs. |
|
Invokes a distributor to compile ThinLTO modules remotely. |
|
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. |
|
Resolution‐based interface to LLVM's LTO functionality. |
|
LLVMContext initialized from an LTO Config. |
|
Diagnostic handler that forwards diagnostics to a function callback. |
|
The resolution for a symbol. The linker must provide a SymbolResolution for each global symbol based on its internal resolution of that symbol. |
|
ThinLTO backend behavior and thread‐pool strategy after the thin‐link. |
|
This class defines the interface to the ThinLTO backend. |
Type Aliases
Name |
Description |
Container of imported file paths for a ThinLTO module. |
|
Callback invoked when a ThinLTO index file is written. |
|
Callable defining ThinLTO backend behavior after the thin‐link phase. |
Functions
Name |
Description |
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. |
|
Create a ThinBackend that runs individual jobs in‐process. |
|
Create a ThinBackend that writes module indexes for distributed builds. |
|
Finalizes and flushes an optimization remarks output file. |
|
|
|
Produces a container ordering for optimal multi‐threaded processing. |
|
Return the default ThinLTO CPU name for the given triple. |
|
Rewrite an output path by replacing a matching prefix. |
|
Distributed ThinLTO: collect the referenced modules based on module summary and initialize ImportList. |
|
Runs middle‐end LTO optimizations on |
|
Setup optimization remarks. |
|
Setups the output file for saving statistics. |
|
Runs a ThinLTO backend. |