[PATCH] D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher

Kai Nacke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 9 08:59:44 PST 2023


Kai updated this revision to Diff 487460.
Kai edited the summary of this revision.
Kai added a comment.

- Visit of changed instructions in the Combiner is now done iteratively.
- The array with the rules to execute in the generated source is a bit more compact.

Running LLVM test suite with `-fglobal-isel` on an AArch64 EC2 instance (2 CPUs, 4GB):
Current implementation:  22m43.224s
Bottom-up implementation: 22m47.165s

Size of the binaries:
Current implementation: llc 127.280.024, clang 217.540.416
Bottom-up implementation: llc 127.026.960, clang 217.291.456


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

https://reviews.llvm.org/D141135

Files:
  llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h
  llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h
  llvm/lib/CodeGen/GlobalISel/Combiner.cpp
  llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
  llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
  llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
  llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
  llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
  llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
  llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
  llvm/test/TableGen/GICombinerEmitter/match-tree-automaton-1.td
  llvm/test/TableGen/GICombinerEmitter/match-tree.td
  llvm/test/TableGen/GICombinerEmitter/parse-match-pattern.td
  llvm/utils/TableGen/GICombinerEmitter.cpp
  llvm/utils/TableGen/GlobalISel/CMakeLists.txt
  llvm/utils/TableGen/GlobalISel/GIMatchTreeAutomaton.cpp
  llvm/utils/TableGen/GlobalISel/GIMatchTreeAutomaton.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141135.487460.patch
Type: text/x-patch
Size: 114627 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230109/c7089418/attachment-0001.bin>


More information about the llvm-commits mailing list