LTO configuration. A linker can configure LTO by setting fields in this data structure and passing it to the lto::LTO constructor.
Synopsis
Declared in <llvm/LTO/Config.h>
struct Config;
Type Aliases
Name |
Description |
Callback invoked after per‐module indexes are combined. |
|
Callback invoked on a module at a point in the LTO pipeline. |
Enums
Name |
Description |
Visibility scheme for non‐imported definitions. |
Member Functions
Name |
Description |
Configure this Config to write temporary files for each LTO phase. |
Data Members
Name |
Description |
Alias analysis pipeline string for the new pass manager. |
|
Add FSAFDO discriminators. |
|
If all native vtables have corresponding type infos, allow usage of RTTI to block devirtualization on types used in native files. |
|
Always emit a Regular LTO object even when empty. |
|
Output file type produced by the code generator. |
|
Optimization level for the code generator. |
|
Target CPU name. |
|
Context Sensitive PGO profile path. |
|
Disable entirely the optimizer, including importing for ThinLTO |
|
Code model for code generation. |
|
Combined index hook for ThinLTO. |
|
Whether to emit the pass manager debuggging informations. |
|
Setting this field will replace unspecified target triples in input files with this triple. |
|
Diagnostic handler callback for LTO. |
|
Skip IR verification when true. |
|
This flag is used as one of parameters to calculate cache entries and to ensure that in‐process cache and out‐of‐process (DTLTO) cache are distinguished. |
|
The directory to store .dwo files. |
|
Flag to indicate that the optimizer should not assume builtins are present on the target. |
|
Callback that provides storage for a bitcode module's cache key. |
|
Callback that provides storage for a bitcode module's imports list. |
|
Callback that provides a stream for a bitcode module's summary index. |
|
Asserts whether we can assume whole program visibility during the LTO link. |
|
Whether LTO creates its own copies of symbol names. |
|
Pass plugins already loaded by the LTO client. |
|
Target feature attributes (e.g. +sse4.2). |
|
Extra ‐mllvm arguments passed through to LLVM. |
|
Optimization level for the middle‐end optimizer. |
|
Pass pipeline string for the middle‐end optimizer. |
|
Target options for code generation. |
|
Setting this field will replace target triples in input files with this triple. |
|
Turn on/off the warning about a hash mismatch in the PGO profile data. |
|
Tunable parameters for passes in the default pipelines. |
|
Filenames of pass plugins to load and register. |
|
This hook is called after importing from other modules (ThinLTO‐specific). |
|
This hook is called after internalizing the module. |
|
This module hook is called after optimization is complete. |
|
This hook is called after promoting any internal functions (ThinLTO‐specific). |
|
Module hook called before code generation. |
|
For adding passes that run right before codegen. |
|
This module hook is called after linking (regular LTO) or loading (ThinLTO) the module, before modifying it. |
|
Name remapping file for profile data. |
|
Relocation model for code generation. |
|
Optimization remarks file path. |
|
The format used for serializing remarks (default: YAML). |
|
The minimum hotness value a diagnostic needs in order to be included in optimization diagnostics. |
|
Optimization remarks pass filter. |
|
Whether to emit optimization remarks with hotness informations. |
|
Stream for writing symbol resolutions in llvm‐lto2 flag format. |
|
Run PGO context sensitive IR instrumentation. |
|
Sample PGO profile path. |
|
Whether to discard value names from the IR. |
|
Split DWARF .dwo file name for the skeleton CU attribute. |
|
Output path for writing a .dwo file. |
|
Statistics output file path. |
|
Specific thinLTO modules to compile. |
|
Time trace enabled. |
|
Time trace granularity. |
|
We're validating that all native vtables have corresponding type infos. |
|
Verify the IR after each pass when true. |
|
Visibility scheme for non‐imported definitions. |
Non-Member 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. |
|
Runs middle‐end LTO optimizations on |
|
Runs a ThinLTO backend. |
|
Compute a unique LTO cache key for a module. |
|
|
Resolve linkage for prevailing symbols in the index. |
Created with MrDocs