diff options
| author | Hongtao Yu <hoy@fb.com> | 2020-05-21 13:19:44 -0700 |
|---|---|---|
| committer | Hongtao Yu <hoy@fb.com> | 2020-06-10 15:32:30 -0700 |
| commit | 2638aafe1203f64983017f8998fb09ce986a1b28 (patch) | |
| tree | 158521bc2de7dba1e5bfcd4c51215706bacc4abe /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
| parent | 7e06cf0011a8af96f8c983bcf7a31b952e698de9 (diff) | |
| download | llvm-2638aafe1203f64983017f8998fb09ce986a1b28.zip llvm-2638aafe1203f64983017f8998fb09ce986a1b28.tar.gz llvm-2638aafe1203f64983017f8998fb09ce986a1b28.tar.bz2 | |
[LLD][ThinLTO] Add --thinlto-single-module to allow compiling partial modules.
This change introduces an LLD switch --thinlto-single-module to allow compiling only a part of the input modules. This is specifically enables:
1. Fast investigating/debugging modules of interest without spending time on compiling unrelated modules.
2. Compiler debug dump with -mllvm -debug-only= for specific modules.
It will be useful for large applications which has 1K+ input modules for thinLTO.
The switch can be combined with `--lto-obj-path=` or `--lto-emit-asm` to obtain intermediate object files or assembly files. So far the module name matching is implemented as a fuzzy name lookup where the modules with name containing the switch value are compiled.
E.g,
Command:
ld.lld main.o thin.a --thinlto-single-module=thin.a --lto-obj-path=single.o
log:
[ThinLTO] Selecting thin.a(thin1.o at 168) to compile
[ThinLTO] Selecting thin.a(thin2.o at 228) to compile
Command:
ld.lld main.o thin.a --thinlto-single-module=thin1.o --lto-obj-path=single.o
log:
[ThinLTO] Selecting thin.a(thin1.o at 168) to compile
Differential Revision: https://reviews.llvm.org/D80406
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions
