<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/63266>63266</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [BasicAA] Incorrect AA result due to overflow
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            miscompilation
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          nikic
      </td>
    </tr>
</table>

<pre>
    ```llvm
; RUN: opt -passes=aa-eval -print-all-alias-modref-info < %s
define void @test(i1 %c, ptr %base) {
entry:
  %offset16 = getelementptr inbounds i8, ptr %base, i64 16
  %gep1 = getelementptr i8, ptr %base, i64 -9223372036854775792
  br i1 %c, label %if, label %join

if:
  br label %join

join:
  %phi = phi i64 [ -9223372036854775808, %if ], [ 0, %entry ]
  %gep2 = getelementptr i8, ptr %gep1, i64 %phi
  store i8 0, ptr %gep2
  load i8, ptr %offset16
  ret void
}
```
Produces:
```
  NoAlias:      i8* %gep2, i8* %offset16
```
Which is incorrect.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVNGOpCoQ_Rp8qdhBEMUHH-zpdHJfJjc3udlnVOyuWVoMYG_m7zdg98z0zkw2MWLB4XDqWIXyHk-z1i0ReyIOmVrD2bp2xp84ZL0dX1tS0e0x5noh9EBoR_ge_vv_mfAO7BIgX5T32hN-UCrXV2UgXxzOIVfG5Mqg8vnFjk5POc6TBcKfgDDhN65RTzhruFocgZQ0aB8Ik1hEyEDYEyzBxe9eeU1YA6Tebxv1HNwr4d0WQcTYafI6FBUQfoCTDtroi55DZMC5t-s8ekD5ifQJsCqhqD4wnfRSfMXy3ea8YYzzmlFeSVHWtagbdqfrHXxIx6hemxjh9BC-WJxv7qY3Th9y6933wBQ_2LCcMWmPYxRHxP6zQElTLkkIEHFIgdgDvc0me9PCgyvsb65E5-6ubFruBD5YpwHldsQ7_M0oY9X4SHb_oXeE0yFVyi3_-iburUS38F9nx3WIBdl9uQ7wbLtYlgnQxBO7Ny1R-n3i8fg_WH6ccTgDesB5sM7pIeyyseVjwxuV6baoZCVkIaTMzu1UTVUvFRVlU9O-FrwZi0lMNRWiLLnsM2wZZZxWBStKwancCSZ7JSRvWENZXXNSUn1RaHaxC3fWnTL0ftVtxVlVZak4fOphxi7oB3tZ0KiAdiaMxb52bdyY9-vJk5Ia9MG_UwUMJt0Ae-Vx6DoiDvDPPSvoOnDarybAuGoIFuxVu8nYX9nqTHsOYUlGsiNhxxOG89rvBnsh7JgujG3IF2df9BAIOybdnrBjkv47AAD__9oxRmY">