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

    <tr>
        <th>Summary</th>
        <td>
            【opt】legality check fail for one simple case in loop interchange pass
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    ```
void test(float **indices, float init_i, int M, int K) {
  for (int j = 0; j < K; ++j) {
    for (int i = 0; i < M; ++i) {
      indices[i][j] = init_i + i;
    }
  }
}
```

Current loop interchange pass cannot prove legality.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxskdFuqzwMx5_G3FirggMFLnIB69ebac_wKQQP0qUJIqFHe_sjWKtu0pGi-B9HP-tvW8doR8-soOygPGV6TVNYVJy0_4yXwFkfhi8FR3E_or0FO2DimIDqDxd0QqAWqLV-sIYj0Ct-p6236X-7va1P-P4Qb0ANQtWBaBE_woJA9Za_IMgTCpDdLl_xbZNAHVB3-cn8ouyTsjv1_qTsbwrxYbHsLJQnKLsLlKe9wLfXjUML8kFAddrVd7zfP0YBon1dl4V9QhfCvLXHi5m0HxlnHSMa7X1IOC_hxuh41M6mr0M2KDk0stEZq7ySTSGLYy6zSQ3EpujNsa7yIhd1YQYSPAy1rHSRH4kyq0hQKSiXos6PpTxUTdnUeW-kHgbDxxoKwVdt3cG52_UQljGzMa6scqoENZnTPbu475rI8x_cf4FoW_2iNuilX8cIhXA2pvgsk2xyrOA_CbWARoQ5PXT-6AvNxOYTP7R1-4aCZ4z2OjtGoyOj9f-eUrYuTk0pzRFkC3QGOo82TWt_MOEKdN483MPLvIQLmwR03p1HoPO9tZuivwEAAP__HRTSww">