Lines Matching +full:fat +full:- +full:mach +full:- +full:o

14 FatLTO objects are a special type of `fat object file
18 to use LTO or not to link-time, and has been a feature available in other
20 <https://gcc.gnu.org/onlinedocs/gccint/LTO-Overview.html>`_, for some time.
32 #) Run the pre-link (Thin)LTO pipeline on the current module.
33 #) Embed the pre-link bitcode in a special ``.llvm.lto`` section.
47 Bit-for-bit compatibility is not (and never was) a guarantee, and we reserve
49 the produced bitcode or object code to match their non-LTO counterparts
51 not be bit-for-bit the same.
56 ``ThinLTODefaultPipeline`` runs and the compiler can emit the fat object file.
62 -------
64 Currently, using LTO with LLVM fat lto objects is supported by LLD and by the
69 For standard linking the fat object files should be usable by any
74 ----------------------
78 or ``Mach-O``.
83 Clang users can specify ``-ffat-lto-objects`` with ``-flto`` or ``-flto=thin``.
84 Without the ``-flto`` option, ``-ffat-lto-objects`` has no effect.
88 .. code-block:: console
90 $ clang -flto -ffat-lto-objects example.c -c -o example.o
92 Link using the object code from the fat object without LTO. This turns
93 ``-ffat-lto-objects`` into a no-op, when ``-fno-lto`` is specified:
95 .. code-block:: console
97 $ clang -fno-lto -ffat-lto-objects -fuse-ld=lld example.o
99 Alternatively, you can omit any references to LTO with fat objects and retain standard linker behav…
101 .. code-block:: console
103 $ clang -fuse-ld=lld example.o
105 Link using the LLVM bitcode from the fat object with Full LTO:
107 .. code-block:: console
109 …$ clang -flto -ffat-lto-objects -fuse-ld=lld example.o # clang will pass --lto=full --fat-lto-obj…
111 Link using the LLVM bitcode from the fat object with Thin LTO:
113 .. code-block:: console
115 …$ clang -flto=thin -ffat-lto-objects -fuse-ld=lld example.o # clang will pass --lto=thin --fat-lt…