OSDN Git Service

[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)
commita47a91a7f34c15e52a09a635be23f4279f9839d6
treead0bd2673702ac0a7c44a85f3efd80fa9fffcb9b
parente1363b44fe306fa9bf0f1cb9da43582775bc5050
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@348406 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
include/llvm/CodeGen/GlobalISel/Combiner.h
include/llvm/CodeGen/GlobalISel/CombinerHelper.h
include/llvm/CodeGen/GlobalISel/CombinerInfo.h
include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h [new file with mode: 0644]
include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
lib/CodeGen/GlobalISel/Combiner.cpp
lib/CodeGen/GlobalISel/CombinerHelper.cpp
lib/CodeGen/GlobalISel/Legalizer.cpp
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/CodeGen/GlobalISel/LegalizerInfo.cpp
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
lib/Target/AArch64/AArch64LegalizerInfo.cpp
lib/Target/AArch64/AArch64LegalizerInfo.h
lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
lib/Target/ARM/ARMLegalizerInfo.cpp
lib/Target/ARM/ARMLegalizerInfo.h
lib/Target/Mips/MipsLegalizerInfo.cpp
lib/Target/Mips/MipsLegalizerInfo.h
unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
unittests/CodeGen/GlobalISel/LegalizerHelperTest.h