From c2d4667697cea22f2aee6e411e7286f9fe859627 Mon Sep 17 00:00:00 2001 From: Chris Leary Date: Thu, 1 Jan 2026 19:32:06 -0800 Subject: [PATCH] [opt] Optimize commutative op operating on explicitly commuted operands. --- xls/ir/node_util.cc | 19 ++++++++ xls/ir/node_util.h | 17 +++++++ xls/ir/node_util_test.cc | 48 ++++++++++++++++++++ xls/passes/basic_simplification_pass.cc | 22 +++++++++ xls/passes/basic_simplification_pass_test.cc | 48 ++++++++++++++++++++ 5 files changed, 154 insertions(+) diff --git a/xls/ir/node_util.cc b/xls/ir/node_util.cc index ed7686dc98..46eadb1e3a 100644 --- a/xls/ir/node_util.cc +++ b/xls/ir/node_util.cc @@ -908,6 +908,25 @@ bool IsBinaryPrioritySelect(Node* node) { return sel->cases().size() == 1; } +absl::StatusOr> MatchBinarySelectLike( + Node* node) { + if (IsBinarySelect(node)) { + Select* sel = node->As