<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59360>59360</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[BasicAA] Assertion `!empty()' failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
regression,
llvm:crash
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
nikic
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
danilaml
</td>
</tr>
</table>
<pre>
After https://github.com/llvm/llvm-project/commit/6c269a3f89edde33a472d53ed017c1adfb62afcb it's become possible to trigger assert inside `isPotentiallyReachableFromMany` via this code:
```
define void @foo() {
entry:
br label %outer
loopexit: ; No predecessors!
br label %outer
outer: ; preds = %loopexit, %entry
%0 = phi ptr addrspace(1) [ %1, %loopexit ], [ null, %entry ]
store i32 0, ptr addrspace(1) %0, align 4
%1 = load ptr addrspace(1), ptr null, align 8
%2 = load i32, ptr addrspace(1) %1, align 4
ret void
}
```
https://godbolt.org/z/9hnx3WYGc
Pretty sure it happens, because it gets passes an empty Worklist (`Succs` here: https://github.com/llvm/llvm-project/commit/6c269a3f89edde33a472d53ed017c1adfb62afcb#diff-8671a2d9fbb3313fd605b1277fdb364e48b263c76f2c5309114f8239311fef8bR1710)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VE2P5CYQ_TX0pbQjKPx58KF7W51TotXmsMqRj6JNljYW4NF2fn2Ep2d3FI2i5LKSZRsoHq-qHk_l7K8L0cTaE0Nc_FdvGCJrzwe1lTmmyarFB3ULBx3tfTq6QgnmUtbM5JHhheHl6su86ScTbwwvITy_fj6sKf5JpjC8mHi7-frTGexGJd0wkrUkpWp6tK0ky0VvhLJOd6ic0VCj-wyaTLwRrDFnrwNBiVCSv14pgcqZUgG_ZG8JWMd9_hQLLcWrEO6fSZlZ6UCXFG-_quXOOg7PXkGZfQYTLVX-_Mz4kXX88exDS84vBM_RW2ANdzEyHBiOwPrTSwQtJd2_bwfQCYLSFIBhG7dC6YG7v0OMK33zhckjMHmC3yKsiSwZyjmmzFD8J5iXiQdGBcjA5LmGfj8AP9bhC7kHJMOW73Hr7GEtCZS1Ka_KEMNB7Em1pxolHrtfwYC1532qPcGyhfAWfF97HJBLTAReIvAa8v4R2O6LKvjrAs0bbmLnFqKy7-58RXwl8AIwvAHAHwBe4r8xEO8wSFT2Nj_q3J_f1cM_xB6tjqE8xXRlePmL4WWcl2_yyx-_mLft-pSolDvkrVanwKzWlZZcOWgyasv77JVKhrXqOINagG5rucOXmL4GnwtU1XX8982YXLU7U6qS_Ql3j6G03rkPQ9cLhXZ0WksppLMdb7XAvndWy66hZtDYSdN3Dk0r-ShE4waUoxTCkRv0Z9ELznA82EnaUY7qQJPoei4bPg54mCc38E6PupXj0PeDU-S47czYSGGdanV78BNyRIG8E63sxPCkXEOWN9pK0zRtj6zhdFM-PNWca08OPueNpnaUHT_styk_rC3RNVHOPi7V3_AjQ9zrJY8mqTw_TC9Ne_X0ds2s4bUP-Qd28SXsTnlS2ZvjkbVnOO4u5ONSHYih2Jv4YhgMe3DKB7KHLYXpfzduTyUzvOzZ_B0AAP__H1-yWg">