This patch takes advantage of the Commutative trait on operation
to remove identical commutative operations where the operands are swapped.
The second operation below can be removed since arith.addi is commutative.
%1 = arith.addi %a, %b : i32 %2 = arith.addi %b, %a : i32
nit: Drop the llvm:: here, and can you pre-reserve the number of operands?