1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/lib
Jamie Schmeiser 60c5153584 Add new hidden option -print-changed which only reports changes to IR
A new hidden option -print-changed is added along with code to support
printing the IR as it passes through the opt pipeline in the new pass
manager. Only those passes that change the IR are reported, with others
only having the banner reported, indicating that they did not change the
IR, were filtered out or ignored. Filtering of output via the
-filter-print-funcs is supported and a new supporting hidden option
-filter-passes is added. The latter takes a comma separated list of pass
names and filters the output to only show those passes in the list that
change the IR. The output can also be modified via the -print-module-scope
function.

The code introduces a template base class that generalizes the comparison
of IRs that takes an IR representation as template parameter. The
constructor takes a series of lambdas that provide an event based API
for generalized reporting of IRs as they are changed in the opt pipeline
through the new pass manager.

The first of several instantiations is provided that prints the IR
in a form similar to that produced by -print-after-all with the above
mentioned filtering capabilities. This version, and the others to
follow will be introduced at the upcoming developer's conference.
See https://hotcrp.llvm.org/usllvm2020/paper/29 for more information.

Reviewed By: yrouban (Yevgeny Rouban)

Differential Revision: https://reviews.llvm.org/D86360
2020-09-03 15:52:35 +00:00
..
Analysis Revert "[NewPM][Lint] Port -lint to NewPM" 2020-09-02 21:34:29 -07:00
AsmParser
BinaryFormat
Bitcode
Bitstream
CodeGen GlobalISel/Utils.h - remove unused includes. NFCI. 2020-09-03 15:59:12 +01:00
DebugInfo [llvm-dwarfdump] Warn user when it encounters no null terminated strings. 2020-09-03 08:49:57 +08:00
Demangle
DWARFLinker
ExecutionEngine
Extensions
FileCheck
Frontend
Fuzzer
FuzzMutate
InterfaceStub
IR Add new hidden option -print-changed which only reports changes to IR 2020-09-03 15:52:35 +00:00
IRReader
LineEditor
Linker [ThinLTO] Fix a metadata lost issue with DICompileUnit import. 2020-09-02 14:40:41 -07:00
LTO
MC [PowerPC] Fix missing TLS symbol type. 2020-09-03 05:57:04 -05:00
MCA
Object
ObjectYAML
Option
Passes Add new hidden option -print-changed which only reports changes to IR 2020-09-03 15:52:35 +00:00
ProfileData
Remarks
Support [lldb] Add reproducer verifier 2020-09-02 22:00:00 -07:00
TableGen
Target X86/X86TargetObjectFile.cpp - remove unused headers. NFCI. 2020-09-03 15:17:44 +01:00
Testing
TextAPI
ToolDrivers
Transforms [IR][GVN] add/allow commutative intrinsics with >2 args 2020-09-03 10:14:53 -04:00
WindowsManifest
XRay
CMakeLists.txt
LLVMBuild.txt