llvm-project/lld/ELF
Francis Visoiu Mistrih dd42236c6c Reland "[Remarks] Add -foptimization-record-passes to filter remark emission"
Currently we have -Rpass for filtering the remarks that are displayed as
diagnostics, but when using -fsave-optimization-record, there is no way
to filter the remarks while generating them.

This adds support for filtering remarks by passes using a regex.
Ex: `clang -fsave-optimization-record -foptimization-record-passes=inline`

will only emit the remarks coming from the pass `inline`.

This adds:

* `-fsave-optimization-record` to the driver
* `-opt-record-passes` to cc1
* `-lto-pass-remarks-filter` to the LTOCodeGenerator
* `--opt-remarks-passes` to lld
* `-pass-remarks-filter` to llc, opt, llvm-lto, llvm-lto2
* `-opt-remarks-passes` to gold-plugin

Differential Revision: https://reviews.llvm.org/D59268

Original llvm-svn: 355964

llvm-svn: 355984
2019-03-12 21:22:27 +00:00
..
Arch [mips] Create LA25 thunks for MIPS R6 code 2019-02-19 11:11:12 +00:00
AArch64ErrataFix.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
AArch64ErrataFix.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt Fail early if an output file is not writable 2019-03-11 16:30:55 +00:00
CallGraphSort.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CallGraphSort.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Config.h Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
DWARF.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DWARF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Driver.cpp Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
Driver.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DriverUtils.cpp Remove a function from header and move the implementation to a .cpp file. NFC. 2019-02-22 23:59:43 +00:00
EhFrame.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
EhFrame.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ICF.cpp COFF, ELF: ICF: Perform 2 rounds of relocation hash propagation. 2019-01-22 23:54:49 +00:00
ICF.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InputFiles.cpp [ELF] Print a better error for an archive containing a non-ELF file. 2019-03-12 01:24:39 +00:00
InputFiles.h LLD/AMDGPU: Preserve ABI version during linking ELF for AMDGPU 2019-02-14 23:59:44 +00:00
InputSection.cpp ELF: Use bump pointer allocator for uncompressed section buffers. NFCI. 2019-03-12 20:32:30 +00:00
InputSection.h ELF: Use bump pointer allocator for uncompressed section buffers. NFCI. 2019-03-12 20:32:30 +00:00
LTO.cpp Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
LTO.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
LinkerScript.cpp ELF: Simplify. NFCI. 2019-03-12 19:19:23 +00:00
LinkerScript.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MapFile.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MapFile.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MarkLive.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Options.td Reland "[Remarks] Add -foptimization-record-passes to filter remark emission" 2019-03-12 21:22:27 +00:00
OutputSections.cpp ELF: Remove dead code. NFCI. 2019-03-12 02:18:03 +00:00
OutputSections.h ELF: De-template OutputSection::finalize() and MipsGotSection::build(). NFCI. 2019-03-06 03:07:57 +00:00
README.md
Relocations.cpp [LLD][ELF] - Show symbols visibility in "undefined symbol..." error messages. 2019-03-12 11:10:29 +00:00
Relocations.h Sort enum members so that arch-dependent members are at the right place. NFC. 2019-02-20 00:01:21 +00:00
ScriptLexer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScriptLexer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
ScriptParser.cpp Recover elf32-bigmips and elf32-powerpc support in LLD 2019-02-13 18:51:15 +00:00
ScriptParser.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolTable.cpp [ELF] Support --{,no-}allow-shlib-undefined 2019-02-01 02:25:05 +00:00
SymbolTable.h [ELF] Support --{,no-}allow-shlib-undefined 2019-02-01 02:25:05 +00:00
Symbols.cpp [MIPS] Handle cross-mode (regular <-> microMIPS) jumps 2019-02-19 10:36:58 +00:00
Symbols.h [WebAssembly] Don't mark lazy symbols as `IsUsedInRegularObj` 2019-03-08 21:10:48 +00:00
SyntheticSections.cpp ELF: Don't add .dynamic strings to .dynstr early. 2019-03-12 20:58:34 +00:00
SyntheticSections.h ELF: De-template OutputSection::finalize() and MipsGotSection::build(). NFCI. 2019-03-06 03:07:57 +00:00
Target.cpp ELF: Write .eh_frame_hdr explicitly after writing .eh_frame. 2019-02-28 23:11:35 +00:00
Target.h [PPC64] Sort .toc sections accessed with small code model relocs. 2019-02-12 15:35:49 +00:00
Thunks.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Thunks.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Writer.cpp ELF: Don't add .dynamic strings to .dynstr early. 2019-03-12 20:58:34 +00:00
Writer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00

README.md

See docs/NewLLD.rst