[all-commits] [llvm/llvm-project] aa0d01: [NFC][TableGen] Reorganize GlobalISelMatchTable.h

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Thu May 28 03:25:58 PDT 2026


  Branch: refs/heads/users/pierre-vh/rfc-reorg-tablegen-matchtable
  Home:   https://github.com/llvm/llvm-project
  Commit: aa0d012d0478686ca3929abc024f8fef82306199
      https://github.com/llvm/llvm-project/commit/aa0d012d0478686ca3929abc024f8fef82306199
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2026-05-28 (Thu, 28 May 2026)

  Changed paths:
    M llvm/utils/TableGen/Common/CMakeLists.txt
    R llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    R llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTableExecutorEmitter.cpp
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/MatchTable.cpp
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/MatchTable.h
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.cpp
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Matchers.h
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Types.cpp
    A llvm/utils/TableGen/Common/GlobalISel/MatchTable/Types.h
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [NFC][TableGen] Reorganize GlobalISelMatchTable.h

This file was a bit of a kitchen sink, and the implementation of the
match table is sufficiently difficult to get comfortable with already.
I spent the past few weeks looking at it, finding improvements, etc. and
I think a nice way to make it a bit easier to approach is to split up
the file a bit so that the main implementation (Matchers.h/.cpp) only
contains the code pertaining to the Matchers (RuleMatchers, Preds, etc.).

We now have 3 files:

- One for type (LLT) related utilities.
- One for the MatchTable emission logic, which is generic and should not
  be tied to any specific implementation. It just has the tools to emit
  the opcodes for the table.
- One for the entire Matcher system, including PredicateMatchers and so on.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list