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 internalize pass during optimization and code generation.
- Create an LTO input file from a buffer.
- Free all memory allocated by the input file.
- Get the
i
th 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 the module has either the
@llvm.global_ctors
or the@llvm.global_dtors
symbol. - 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.
- Return the list of libcall symbols that can be generated by LTO that might not be visible from the symbol table of bitcode files.
- 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
index
th 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.