[PATCH] D157700: [GlobalIsSel] Allow using PatFrags with multiple defs as the root of a combine rule

Pierre van Houtryve via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 21 23:58:12 PDT 2023


Pierre-vh marked 2 inline comments as done.
Pierre-vh added inline comments.


================
Comment at: llvm/test/TableGen/GlobalISelCombinerMatchTableEmitter/patfrag-errors.td:266
+    [
+      (pattern (G_UNMERGE_VALUES $foo, $z, $y))
+    ]>;
----------------
arsenm wrote:
> It's somewhat confusing all the defs go to the right of the opcode name unlike in the actual mir
I agree, but not sure if we have an alternative unless we want to use something ugly like `(pattern $foo, $z, G_UNMERGE_VALUES $y)` everywhere because `($foo` doesn't work I think?

I'm open to suggestions if you have a proposal with a better syntax, but IMO I think it's fine as-is. It's a small quirk of TableGen we have to deal with and unless we want to add some new TableGen syntax for infix/postfix operators, or parse MIR strings, we have to work with this



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D157700



More information about the llvm-commits mailing list