]> granicus.if.org Git - clang/commit
Reland "[Remarks] Add -foptimization-record-passes to filter remark emission"
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>
Tue, 12 Mar 2019 21:22:27 +0000 (21:22 +0000)
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>
Tue, 12 Mar 2019 21:22:27 +0000 (21:22 +0000)
commit41572cdade8f51dc0c61dca29787cd136acef338
tree2f457ea5f3b12f340b9e093a85b6cd48f183cb49
parentd4298b95a4d6b833731f9f9e8e369fbef1f0dd42
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@355984 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/clang/Basic/CodeGenOptions.h
include/clang/Driver/CC1Options.td
include/clang/Driver/Options.td
lib/CodeGen/BackendUtil.cpp
lib/CodeGen/CodeGenAction.cpp
lib/Driver/ToolChains/Clang.cpp
lib/Driver/ToolChains/Darwin.cpp
lib/Frontend/CompilerInvocation.cpp
test/CodeGen/opt-record-MIR.c
test/CodeGen/opt-record.c
test/Driver/darwin-ld.c
test/Driver/opt-record.c