[lld] Support --lto-emit-asm and --plugin-opt=emit-asm
authorHongtao Yu <hoy@fb.com>
Wed, 1 Apr 2020 17:01:23 +0000 (10:01 -0700)
committerHongtao Yu <hoy@fb.com>
Mon, 27 Apr 2020 18:00:46 +0000 (11:00 -0700)
commit964ef8eecc98a881489c9bdd51db25dc74f301d0
tree430dae3919047ccb29801cfebce5cf9cd8ad7e95
parent5cfdd829b29568389d517582444d919700a775c1
[lld] Support --lto-emit-asm and --plugin-opt=emit-asm

Summary: The switch --plugin-opt=emit-asm can be used with the gold linker to dump the final assembly code generated by LTO in a user-friendly way. Unfortunately it doesn't work with lld. I'm hooking it up with lld. With that switch, lld emits assembly code into the output file (specified by -o) and if there are multiple input files, each of their assembly code will be emitted into a separate file named by suffixing the output file name with a unique number, respectively. The linking then stops after generating those assembly files.

Reviewers: espindola, wenlei, tejohnson, MaskRay, grimar

Reviewed By: tejohnson, MaskRay, grimar

Subscribers: pcc, emaste, inglorion, arichardson, hiraditya, MaskRay, steven_wu, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77231
lld/ELF/Config.h
lld/ELF/Driver.cpp
lld/ELF/LTO.cpp
lld/ELF/Options.td
lld/test/ELF/lto/emit-asm.ll [new file with mode: 0644]