<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">