joker-eph wrote: Is the code you're pointing at running alongside canonicalization? If not then it's not clear to me how that would obsolete canonicalization patterns: they runs together until fixed-point, a separate pass does not compose in the same way. https://github.com/llvm/llvm-project/pull/187286