[Mlir-commits] [mlir] [mlir][scf] Add simple LICM pattern for `scf.while` (PR #76370)

Thomas Raoux llvmlistbot at llvm.org
Sat Jan 6 05:10:13 PST 2024


ThomasRaoux wrote:

> > I understand the reasoning but in practice it is common for compilers to relying on the original program as fall back when a transformation is not obviously a win.
> 
> I see this as a very fragile way to design compilers, I would say that if you want to design your compiler that way, don't include canonicalization inside your pass pipeline.

But then I cannot access the existing canonicalization patterns so I would have to rewrite them which is obviously not practical.

> > My concern is that this could significantly reduce user control over what transformations are applied as canonicalization
> 
> How is there a "reduction" of control when there is no control already? That is: we don't have canonicalization knobs, almost by design, we just let people either use canonicalization or don't use it.

Because canonicalization doesn't have knobs if we widen what we consider to be canonicalizations we lose in control. 

This reduce the modularity of MLIR patterns which I think is going to be a downside for users.

https://github.com/llvm/llvm-project/pull/76370


More information about the Mlir-commits mailing list