OSDN Git Service

[GISel]: Add support for CSEing continuously during GISel passes.
authorAditya Nandakumar <aditya_nandakumar@apple.com>
Wed, 16 Jan 2019 00:40:37 +0000 (00:40 +0000)
committerAditya Nandakumar <aditya_nandakumar@apple.com>
Wed, 16 Jan 2019 00:40:37 +0000 (00:40 +0000)
commit66f2370bc225b1e253cd8a220857a588a055ba37
treeae643d5b4e64b16488178bdc62ec1d986cb8cada
parentbbf3052e90f1c587577950d84f85653c6818ad51
[GISel]: Add support for CSEing continuously during GISel passes.

https://reviews.llvm.org/D52803

This patch adds support to continuously CSE instructions during
each of the GISel passes. It consists of a GISelCSEInfo analysis pass
that can be used by the CSEMIRBuilder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351283 91177308-0d34-0410-b5e6-96231b3b80d8
34 files changed:
include/llvm/CodeGen/GlobalISel/CSEInfo.h [new file with mode: 0644]
include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h [new file with mode: 0644]
include/llvm/CodeGen/GlobalISel/Combiner.h
include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h
include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h
include/llvm/CodeGen/GlobalISel/GISelWorkList.h
include/llvm/CodeGen/GlobalISel/IRTranslator.h
include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
include/llvm/CodeGen/GlobalISel/Utils.h
include/llvm/CodeGen/MachineFunction.h
include/llvm/InitializePasses.h
include/llvm/Support/LowLevelTypeImpl.h
lib/CodeGen/GlobalISel/CMakeLists.txt
lib/CodeGen/GlobalISel/CSEInfo.cpp [new file with mode: 0644]
lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp [new file with mode: 0644]
lib/CodeGen/GlobalISel/Combiner.cpp
lib/CodeGen/GlobalISel/GISelChangeObserver.cpp
lib/CodeGen/GlobalISel/IRTranslator.cpp
lib/CodeGen/GlobalISel/Legalizer.cpp
lib/CodeGen/GlobalISel/LegalizerHelper.cpp
lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
lib/CodeGen/GlobalISel/Utils.cpp
lib/CodeGen/MachineFunction.cpp
lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
lib/Target/Mips/MipsPreLegalizerCombiner.cpp
test/CodeGen/AArch64/GlobalISel/call-translator-cse.ll [new file with mode: 0644]
test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
test/CodeGen/AArch64/GlobalISel/legalize-ext-cse.mir [new file with mode: 0644]
test/CodeGen/AArch64/O0-pipeline.ll
unittests/CodeGen/GlobalISel/CMakeLists.txt
unittests/CodeGen/GlobalISel/CSETest.cpp [new file with mode: 0644]
unittests/CodeGen/GlobalISel/GISelMITest.h [moved from unittests/CodeGen/GlobalISel/LegalizerHelperTest.h with 85% similarity]
unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp