<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/59947>59947</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[OpenMP] "Partially-triangular" loop collapse crashes
</td>
</tr>
<tr>
<th>Labels</th>
<td>
openmp
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
Meinersbur,
alexey-bataev
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jdoerfert
</td>
</tr>
</table>
<pre>
Codegen crashes for the bad function but not for good:
https://godbolt.org/z/K3PeYrTGK
```
void bad(int mp) {
#pragma omp for collapse(3)
for (int j = 0; j < mp; ++j) {
for (int i = j; i < mp; ++i) {
for (int i0 = 0; i0 < 100; ++i0) {
}
}
}
}
void good(int mp) {
#pragma omp for collapse(3)
for (int j = 0; j < mp; ++j) {
for (int i = 0; i < mp; ++i) {
for (int i0 = 0; i0 < 100; ++i0) {
}
}
}
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUVE2PnDAM_TXmEs0oOAwfBw5lRvSwWnUPvfSYkAAZBYKSsOr211ek7M5Mq95bhMCx_Z4tmwf3Xg-zUjWcGkB8VnpWzovVASLgGRC5Ud_V20HwwNXr5j1dEr6G0br6Kq1yvXIhEVa-1Wcr1aBm0jnuR-VJbx0JoyKCS9Kvcxe0nYlYA5ltiMHBWgnsE9AL0P05hrD4zYctYDtYKawJR-sGwPYHYPvEXtQ39_Xz0w7K6X7H46vVcisHWOo5kGkBrAgUzZ6MbHF8mDix0xIb6KwxfPEKsGSA1a80QkgM7iRXAuxCKLAmmueNlTUEsAFsrg8F7mE6wq5bqv4Dph9hd9c9A71VjvaZpJTekdC_skBxeXQ-OD4ON-M2vbiTf2V89D8Z3_tXmMiayYpVPFF1mhcsyzN6SpOx7invaS5KKaUosShlmbG8onlRpkJ0TCW6RoqMpmmaVrRg6TFFWWLWZVl_woJWFDKqJq7N0ZjXaRNEor1fVX2qqqxIDBfK-F3EdlHztrsoVVdvgINYBw8ZNdoHf6MIOpgo_S-Lmp9f4HQhgPjCXdDcmLdDcJrPw2r49jsgxtrlY-fvKk9WZ-rfVKvDuIpjZyfAdqu1vw6Ls1fVBcA29u4B29j-zwAAAP__aas4Kg">