[Mlir-commits] [mlir] [mlir][scf] Rewrite vector.transfer_read/write after peeling (PR #88684)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Mon Apr 15 15:58:33 PDT 2024
ShivaChen wrote:
> Thanks for PR. I wanted to get a better idea of what you are looking for. Peeling by itself does not have anything to do with vectorization. So I am trying to see if there is a way to avoid coupling peeling and vectorization. Can this be done as a separate stand alone transformations?
I was trying to avoid generating masks in the vectorized code because the masks could be expensive for some targets.
Peeling produces the main loop which has iteration as multiple of vector size. So the masks can be eliminated.
An alternative could be identifying peeled loops by the loop attributes to separate passes. There are two ways to peel the loops and they are using the same attribute name. Would it be reasonable to introduce "__peeled_first_iteration_loop__"?
So the latter pass can identify "__peeled_loop__" would be the one can be removed masks.
https://github.com/llvm/llvm-project/pull/88684
More information about the Mlir-commits
mailing list