llvm/llvm-project

[MLIR][affine] Proper handling of vector load / stores in Affine dialect and transformations

Open

#115.989 aberto em 13 de nov. de 2024

Ver no GitHub
 (11 comments) (0 reactions) (0 assignees)C++ (10.782 forks)batch import
good first issuemlir:affine

Métricas do repositório

Stars
 (26.378 stars)
Métricas de merge de PR
 (Mesclagem média 1d 2h) (1.000 fundiu PRs em 30d)

Description

In the context of Issue-115849 , I see that affine transformation is producing invalid IR like below where vector is being stored to a memref of size 1x1xf32.

affine.vector_store %5, %alloc[0, 0] : memref<1x1xf32>, vector<64x64xf32>

%6 = affine.vector_load %alloc[0, 0] : memref<1x1xf32>, vector<64x512xf32>

I think validity of the affine transformations need to be enhanced by introducing good verifiers.

Guia do colaborador