Usage
The compiler creates one file for each source file, with a .o
file extension replacing the file extension on the
input source file.
The -flto
option passes the --lto
option to armlink
to enable link time optimization, unless the -c
option is specified.
-flto
is automatically enabled when
you specify the armclang
-Omax
option.
Note:
Object files produced with -flto
contain bitcode, which cannot be disassembled into meaningful disassembly using the
-S
option or the fromelf
tool.
Caution:
Object files generated using the -flto
option are not suitable for creating static
libraries, or ROPI or RWPI images.
Caution:
LTO performs aggressive optimizations by analyzing the dependencies between bitcode format objects. Such aggressive optimizations can result in the removal of unused variables and functions in the source code.
Note:
LTO does not honor the armclang -mexecute-only
option. If you use the armclang -flto
or -Omax
options, then the compiler cannot generate execute-only code.