[GISel]: Provide standard interface to observe changes in GISel passes
authorAditya Nandakumar <aditya_nandakumar@apple.com>
Wed, 5 Dec 2018 20:14:52 +0000 (20:14 +0000)
committerAditya Nandakumar <aditya_nandakumar@apple.com>
Wed, 5 Dec 2018 20:14:52 +0000 (20:14 +0000)
commitf75d4f329cc45542cac4eaa375bad84e0535f278
treed57ae1047f4b49be9749938b4fa88a084b1c00b0
parent09415a850ec927e45a1639a621c2a3a6aba2687c
[GISel]: Provide standard interface to observe changes in GISel passes

https://reviews.llvm.org/D54980

This provides a standard API across GISel passes to observe and notify
passes about changes (insertions/deletions/mutations) to MachineInstrs.
This patch also removes the recordInsertion method in MachineIRBuilder
and instead provides method to setObserver.

Reviewed by: vkeles.

llvm-svn: 348406
22 files changed:
llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h
llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h [new file with mode: 0644]
llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/lib/CodeGen/GlobalISel/Combiner.cpp
llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
llvm/lib/Target/AArch64/AArch64LegalizerInfo.h
llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
llvm/lib/Target/ARM/ARMLegalizerInfo.h
llvm/lib/Target/Mips/MipsLegalizerInfo.cpp
llvm/lib/Target/Mips/MipsLegalizerInfo.h
llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.h