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

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 25 02:27:15 PDT 2024


Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>,
Thorsten =?utf-8?q?Schütt?= <schuett at gmail.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/89974 at github.com>


================
@@ -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),
----------------
jayfoad wrote:

I think it's a good idea to have some examples. I'd like it even more if each one had a comment explaining what it matches, either in English or in some pseudocode like `Match (zext (trunc x))`.

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


More information about the llvm-commits mailing list