A characteristic of commutative operations is that such operations with swapped operands are identical.
This patch creates a pass that applies the SortCommutativeOperands rewrite pattern. The intention is for the sorting pass to be applied first to reorder operands in a deterministic way. This is followed by CSE which simply compares operands in order.
Lets move this below canonicalize for some alphabetical order