llvm/llvm-project

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

Open

#115,989 opened on 2024年11月13日

GitHub で見る
 (11 comments) (0 reactions) (0 assignees)C++ (10,782 forks)batch import
good first issuemlir:affine

Repository metrics

Stars
 (26,378 stars)
PR merge metrics
 (平均マージ 1d 2h) (30d で 1,000 merged PRs)

説明

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.

コントリビューターガイド