[llvm] [GlobalIsel] Speedup select to integer min/max (PR #92378)
Jay Foad via llvm-commits
llvm-commits at lists.llvm.org
Thu May 16 03:49:16 PDT 2024
================
@@ -1307,6 +1307,13 @@ def select_to_minmax: GICombineRule<
[{ return Helper.matchSimplifySelectToMinMax(*${root}, ${info}); }]),
(apply [{ Helper.applyBuildFn(*${root}, ${info}); }])>;
+def select_to_iminmax: GICombineRule<
+ (defs root:$root, build_fn_matchinfo:$info),
+ (match (G_ICMP $tst, $tst1, $x, $y),
+ (G_SELECT $root, $tst, $x, $y),
+ [{ return Helper.matchSelectIMinMax(${root}, ${info}); }]),
+ (apply [{ Helper.applyBuildFnMO(${root}, ${info}); }])>;
----------------
jayfoad wrote:
Now that we compile apply+match as a single C++ function we should check whether the buildfn here gets inlined. If not, maybe we need to rethink our use of applyBuildFn?
https://github.com/llvm/llvm-project/pull/92378
More information about the llvm-commits
mailing list