Expand description

Abstract link time optimization.

ThinLTO

ThinLTO is designed to do LTO while requiring fewer resources than regular LTO. It can run much faster and in less memory (comparable to linking without LTO) than regular LTO, with essentially no loss in optimization.

Structs

Type to wrap a single object returned by ThinLTO.

Enums

Functions

Returns the runtime API version.
Generates code for the optimized merged module into one native object file.
Runs optimization for the merged module.
Sets the object module for code gneeration. This will transfer ownership of the module to the code generator.
Set whether to embed uselists in bitcode.
Sets if we should run the itnernalize pass during optimization and code generation.
Create an LTO input file from a buffer.
Free all memory allocated by the input file.
Get the ith dependent library specifier for the given input file.
Get the number of dependent library specifiers for the given input.
Returns the module’s linker options.
Return true if Buffer contains a bitcode file with ObjC code (category or class) in it.
Checks if a buffer is a loadable object file.
Test if a module has ThinLTO linking support.
Add a symbol to the list of global symbols that are cross-referenced between ThinLTO files.
Add a module to a code generator.
Add a symbol to the list of global symbols that must exist in the final generated code.
Disable code generation (running all stages until codegen).
Frees a code generator.
Optimize and codegen all modules attached to the code generator.
Set the expiration (in seconds) for cache entries.
Set the cache pruning interval, in seconds.
Set the maximum size of the cache directory (in bytes). A value over the amount of available space on the disk will be reduced to the amount of available space. An unspecified default value will be applied. A value of 0 will be ignored.
Sets the maximum number of files in the cache directory. An unspecified default value will be applied. A value of 0 will be ignored.
Same as thinlto_codegen_set_cache_size_bytes, except the maximum size is in megabytes (2^20 bytes).
Perform codegen only; disable all other stages.
Set the CPU to generate code for.
Set the maximum cache size to persist across builds.
Set which PIC code model to generate.
Set the path to a directory to use as temporary bitcode storage.
Instantiates a ThinLTO code generator.
Parse -mllvm style debug options.
Return the number of object files produced by the code generator.
Return the number of object files produced by the code generator.
Return a reference to the indexth object file produced by the code generator.
Return the path to the ith output object file.
Set the path to a directory to save generated object files.

Type Definitions