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

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Mon Jun 1 00:40:31 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7a435caaf3faa8ac36ac8bb57a34e9042f2bf63a
      https://github.com/llvm/llvm-project/commit/7a435caaf3faa8ac36ac8bb57a34e9042f2bf63a
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-06-01 (Mon, 01 Jun 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/.cpp (#200153)

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