<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/82657>82657</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
MachineScheduler Alias analysis broken for vp.strided.load/store with negative stride
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
topperc
</td>
</tr>
</table>
<pre>
SLP vectorizer recently started using vp.strided.load/store and now I'm seeing miscompiles in our downstream.
Even though we set the MachineMemOperand size to unknown, there's still an assumption that we only access memory after the pointer.
I fixed this for llvm.riscv.strided.load/store intrinsics a few weeks ago by removing the pointer from the MachineMemOperand. a12390e6202eaf1e5d7810109756e10079b9144b. We need to do the same for vp.strided.load/store or fix the underlying memory operand issue.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8kkFvpDgQhX-NuZSCjIGmOXDIbralSBvtSjnMubAL8MTYyGWa6fz6EXSkmZEyc4HL83uvvipktqMn6kT9l6ifMlzTFGKXwrJQ1FkfzK17_fd_uJJOIdp3ihBJk0_uBpwwJjKwsvUjXJecU7SGTO4CGqEunEIkQG_Ahw2ehWpmYKJdPFvWYV6sIwbrIawRTNg8p0g450I-Cfl4__5zJQ9pCus4wUbAlCBNBC-oJ-vpheb_Fop7Btt3ghRg9W8-bF6ov3dhJKEaBk7WOUAPyLzOS7JhN8W0WwbvboBaEzPMNId4AxwSxSNnCdYnir9UeobBfiMDabIMQ4jg3HXOo2V9_RyB9Slaz1YzIAy0wUb0xoBjgP4GkeZw3aH8lAdDDPPng-aAhSpbSSclFeFQUG2acyEL2Tb1iQopm7Zvi6rqc_hC4GlvGsCEw45xpqPz79YV4j7doV29oehux77uXMIHa8u8Up6ZrjRt2WJGXdHI80mVRaGyqdO1llWpJLa6RqmwxaJXpSkHQ0rjUGW2U1JVUilVNGVRNXlbS5RDb2Tbnmpdn0UlaUbr8gNtiGN2RHZndaqbzGFPjo-TVcrTdu8jlNovOHb7m4d-HVlU0llO_MMl2eSo-2D6qicyq6MIj84iA3p0N7YMfQxv5P-IabNpAk8jJnsluEuyNbpuSmlhUT4KdRHqMto0rX2uwyzUZW_x8XtYYvhKOgl1ObqzUJdjtu8BAAD__5qYN_M">