<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/115989>115989</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR][affine] Proper handling of vector load / stores in Affine dialect and transformations
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dragondracarys007
</td>
</tr>
</table>
<pre>
In the context of [Issue-115849](https://github.com/llvm/llvm-project/issues/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.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk8-O4ygQxp8GX0pt8cfY8cGHpLORIu1Kq36BFTZlm20CEZB0Mk8_wk5mpkdz6wuWVfB91Fc_VIxmcogdkTsi94W6pNmHTgc1eaeDGlS4R0qbovf63h0dpBlh8C7hLYEfgcjdMcYLvjAmN1VL5J7wzZzSORKxJfxA-GEyab705eBPhB-svT4_L-fg_8chEX4wWSISfnio8BYIf4UjRERIs0qgxtE4hBSUi6MPJ5WMd2AinIPXl8G4CYy7Kms0HN_AmneEHq3_gI8ZA8IVh-RD3t9j3huTD6gheVBwwlPAMTcTzTcEdmO3UfCS0D2h28da0_UC5Sr033IeCJcy35Nwqaz1A5E7mv8pkXsgYvuQJuL1IUrEX7m-ihDxWle3unoWfvXjsgYi9vDZ1Xqlv2QmGX9WavrJcFmPkGbj3mHJ0aR7ziTP-4_hR3C4RtgjoJuVG1BDfwfj0o-ZTN5ruGIwo8EQSyh0J3QrWlVgxxrBqkZUbVPMnaB8aNpNo1vac95irUY5to2mVc02CvvCdJzyijEmaCWZaErd8JpqzoQcGin5hlQUT8rYMrNV-jAVC1UdY7LdtIVVPdq4YM75yZpAOM_Ah25hsb9MkVTUmpjiT4Vkkl2exj9_H98y23K3ZpEz_zf4MwaYldM29-rHJ2aPOR1WzCIYB9s1Qm2UxSGBcvr3OItLsN2XXk5u89rx7wEAAP__flE1ug">