[PATCH] D52803: [GISel]: Add support for CSEing continuously during GISel passes

Aditya Nandakumar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 7 15:40:46 PST 2019


aditya_nandakumar updated this revision to Diff 180580.
aditya_nandakumar marked an inline comment as done.
aditya_nandakumar added a comment.
Herald added subscribers: atanasyan, jrtc27, sdardis.

Rebased, and updated to the new MachineIRBuilder interface.
By default the CSE is enabled during IRTranslator and Legalizer now (disable with -enable-cse-in-legalizer/irtranslator=0).
Added a helper class called GISelObserverWrapper which provides a single observer that can call several observers which can be used to register as the delegate to MachineFunction.
I've also updated most tests (except some tests where it's not obvious what the test is doing where CSE is disabled).


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52803/new/

https://reviews.llvm.org/D52803

Files:
  include/llvm/CodeGen/GlobalISel/CSEInfo.h
  include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h
  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
  lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
  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
  test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
  test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
  test/CodeGen/AArch64/GlobalISel/call-translator.ll
  test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
  test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
  test/CodeGen/AArch64/GlobalISel/legalize-div.mir
  test/CodeGen/AArch64/GlobalISel/legalize-ext.mir
  test/CodeGen/AArch64/GlobalISel/legalize-load-store-fewerElts.mir
  test/CodeGen/AArch64/GlobalISel/legalize-load-store-s128-unaligned.mir
  test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
  test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
  test/CodeGen/AArch64/GlobalISel/legalize-rem.mir
  test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
  test/CodeGen/AArch64/GlobalISel/legalize-simple.mir
  test/CodeGen/AArch64/GlobalISel/legalize-vaarg.mir
  test/CodeGen/AArch64/GlobalISel/translate-constant-dag.ll
  test/CodeGen/AArch64/O0-pipeline.ll
  test/CodeGen/ARM/GlobalISel/arm-legalize-bitcounts.mir
  test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
  test/CodeGen/ARM/GlobalISel/arm-legalize-fp.mir
  test/CodeGen/ARM/GlobalISel/arm-param-lowering.ll
  test/CodeGen/Mips/GlobalISel/legalizer/add.mir
  test/CodeGen/Mips/GlobalISel/legalizer/rem_and_div.mir
  test/CodeGen/Mips/GlobalISel/llvm-ir/add.ll
  test/CodeGen/Mips/GlobalISel/llvm-ir/rem_and_div.ll
  test/CodeGen/X86/GlobalISel/callingconv.ll
  test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
  test/CodeGen/X86/GlobalISel/legalize-add.mir
  test/CodeGen/X86/GlobalISel/legalize-and-scalar.mir
  test/CodeGen/X86/GlobalISel/legalize-memop-scalar.mir
  test/CodeGen/X86/GlobalISel/legalize-mul-scalar.mir
  test/CodeGen/X86/GlobalISel/legalize-or-scalar.mir
  test/CodeGen/X86/GlobalISel/legalize-sub.mir
  test/CodeGen/X86/GlobalISel/legalize-trunc.mir
  test/CodeGen/X86/GlobalISel/legalize-xor-scalar.mir
  unittests/CodeGen/GlobalISel/CMakeLists.txt
  unittests/CodeGen/GlobalISel/CSETest.cpp
  unittests/CodeGen/GlobalISel/GISelMITest.h
  unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
  unittests/CodeGen/GlobalISel/LegalizerHelperTest.h
  unittests/CodeGen/GlobalISel/PatternMatchTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D52803.180580.patch
Type: text/x-patch
Size: 152816 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190107/8c3a2378/attachment-0001.bin>


More information about the llvm-commits mailing list