[llvm] [GlobalIsel] Add Gallery to MIR Patterns (PR #89974)

Thorsten Schütt via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 25 02:42:04 PDT 2024


================
@@ -514,3 +514,29 @@ of operands.
     (match (does_not_bind $tmp, $x)
            (G_MUL $dst, $x, $tmp)),
     (apply (COPY $dst, $x))>;
+
+
+ Gallery
+----------------
+
+We should use precise patterns that state our intentions. Please avoid
+using wip_match_opcode in patterns.
+
+.. code-block:: text
+  :caption: Example fold ext(trunc:nuw)
+
+(match (wip_match_opcode G_ZEXT):$root,
+   [{ return Helper.matchZextOfTrunc(${root}, ${matchinfo}); }]),
+   (apply [{ Helper.applyBuildFnMO(${root}, ${matchinfo}); }])>;
+
+
+(match (G_TRUNC $src, $x),
----------------
tschuett wrote:

It registers on G_ZEXT:
```
(match (wip_match_opcode G_ZEXT):$root,
```
but it states as a comment that it wants to fold zext(trunk(x).

https://github.com/llvm/llvm-project/pull/89974


More information about the llvm-commits mailing list