[llvm] [GlobalIsel] Combine ADDO (PR #82927)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 25 10:20:20 PST 2024
================
@@ -1260,6 +1254,12 @@ def match_ors : GICombineRule<
[{ return Helper.matchOr(*${root}, ${matchinfo}); }]),
(apply [{ Helper.applyBuildFn(*${root}, ${matchinfo}); }])>;
+def match_addos : GICombineRule<
+ (defs root:$root, build_fn_matchinfo:$matchinfo),
+ (match (wip_match_opcode G_SADDO, G_UADDO):$root,
+ [{ return Helper.matchAddOverflow(*${root}, ${matchinfo}); }]),
+ (apply [{ Helper.applyBuildFn(*${root}, ${matchinfo}); }])>;
+
----------------
s-barannikov wrote:
I don't know about the current direction, but if we're going to tablegen as much as possible, then we would need separate rules for each of the transformations (constant folding / swapping constant to RHS / replacing with G_ADD etc.).
https://github.com/llvm/llvm-project/pull/82927
More information about the llvm-commits
mailing list