[PATCH] D158975: [TableGen][GlobalISel] Add MIR Pattern Builtins

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 28 03:25:31 PDT 2023


Pierre-vh created this revision.
Pierre-vh added reviewers: arsenm, foad, aemerson.
Herald added a subscriber: StephenFan.
Herald added a project: All.
Pierre-vh requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Adds a new feature to MIR patterns: builtin instructions.
They offer some additional capabilities that currently cannot be expressed without falling back to C++ code.
There are two builtins added with this patch, but more can be added later as new needs arise:

- GIReplaceReg
- GIEraseRoot

Depends on D158714 <https://reviews.llvm.org/D158714>, D158713 <https://reviews.llvm.org/D158713>


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D158975

Files:
  llvm/docs/GlobalISel/MIRPatterns.rst
  llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
  llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
  llvm/include/llvm/Target/GlobalISel/Combine.td
  llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-trivial-arith.mir
  llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/builtin-pattern-errors.td
  llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/builtin-pattern-parrsing.td
  llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-eraseroot.td
  llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
  llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td
  llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-parsing.td
  llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
  llvm/utils/TableGen/GlobalISelMatchTable.cpp
  llvm/utils/TableGen/GlobalISelMatchTable.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158975.553885.patch
Type: text/x-patch
Size: 52490 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230828/15583e13/attachment.bin>


More information about the llvm-commits mailing list