llvm/llvm-project

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

Open

#115 989 ouverte le 13 nov. 2024

Voir sur GitHub
 (11 commentaires) (0 réactions) (0 assignés)C++ (10 782 forks)batch import
good first issuemlir:affine

Métriques du dépôt

Stars
 (26 378 stars)
Métriques de merge PR
 (Merge moyen 1j 2h) (1 000 PRs mergées en 30 j)

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.

Guide contributeur