[lld] Preliminary fat-lto-object support
This patch adds support to lld for --fat-lto-objects. We add a new --fat-lto-objects flag to LLD, and slightly change how it chooses input files in the driver when the flag is set. Fat LTO objects contain both LTO compatible IR, as well as generated object code. This allows users to defer the choice of whether to use LTO or not to link-time. This is a feature available in GCC for some time, and makes the existing -ffat-lto-objects flag functional in the same way as GCC's. If the --fat-lto-objects option is passed to LLD and the input files are fat object files, then the linker will chose the LTO compatible bitcode sections embedded within the fat object and link them together using LTO. Otherwise, standard object file linking is done using the assembly section in the object files. Original RFC: https://discourse.llvm.org/t/rfc-ffat-lto-objects-support/63977 Depends on D146777 Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D146778
Loading
Please sign in to comment