https://github.com/banach-space approved this pull request. LGTM, thanks! @dcaballe , looks like tests in canonicalize.mlir cover all TODOs (apart from scalable vectors, but I can handle that). WDYT? https://github.com/llvm/llvm-project/pull/117939