]> granicus.if.org Git - llvm/commit
[Remarks] Add -foptimization-record-passes to filter remark emission
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Tue, 12 Mar 2019 20:28:50 +0000 (20:28 +0000)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Tue, 12 Mar 2019 20:28:50 +0000 (20:28 +0000)
commit1bd774409d87a919fb84a6028d19dd817ca77c4d
treee471906453c78fe270adaf2e8d013165cea1c9a4
parent1ca9798456a7214cc2ae574470ce814e1c697632
[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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@355964 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
include/llvm/IR/RemarkStreamer.h
include/llvm/LTO/Config.h
include/llvm/LTO/LTO.h
lib/IR/RemarkStreamer.cpp
lib/LTO/LTO.cpp
lib/LTO/LTOBackend.cpp
lib/LTO/LTOCodeGenerator.cpp
lib/LTO/ThinLTOCodeGenerator.cpp
test/LTO/Resolution/X86/diagnostic-handler-remarks.ll
test/ThinLTO/X86/diagnostic-handler-remarks.ll
tools/gold/gold-plugin.cpp
tools/llc/llc.cpp
tools/llvm-lto2/llvm-lto2.cpp
tools/opt/opt.cpp