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