Fold transpose with unit-dimensions. Seen in the wild: ``` %0 = vector.transpose %arg, [0, 2, 1, 3] : vector<6x1x1x4xi8> to vector<6x1x1x4xi8> ``` This transpose can be folded because (1) it preserves the shape and (2) the shuffled dims are unit extent. Also addresses comment about static vs anonymous namespace: https://github.com/llvm/llvm-project/pull/135841#discussion_r2071869067 --------- Signed-off-by: James Newling <james.newling@gmail.com>