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

    <tr>
        <th>Summary</th>
        <td>
            Segfault: SCEV in Loop Data Prefetch
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            SCEV
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            LebedevRI,
            max-quazan
      </td>
    </tr>

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

<pre>
    [testcase.tar.gz](https://github.com/llvm/llvm-project/files/10144362/testcase.tar.gz)

llc -mcpu=z15 -O3  tc_SCEV_LDP.ll -o /dev/null
...
#255 0x000002aa0058a126 llvm::ScalarEvolution::computeExitLimit(
...

The file has nearly 1000 small loops, so it's not a huge surprise that SCEV could get into trouble. I found by bisecting that before 0b74cb4 "[SCEV] Introduce field for storing SymbolicMaxNotTaken. NFCI", this program terminated normally after 15 seconds, but lately it is instead crashing. I am guessing the ideal behaviour would be to abort the optimization with some kind of limit in SCEV, where "uncomputable" would be returned...

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU09vpLgT_TTuS6mRMdB_Dhx60kHKT_nNRpvRXkdlKMA7xmbtciedT78CsjvS3JZDIZVcT-_Vq4cxmsER1aL6IpR6Jk0d3X5_EkoJ9SCUmvB9_1fCD3RLq7ruMPHoQ_0_715i9G6nfXdfppkitxgpYwzZ8CGqq1CnkXmOorgI1QjVDIbHpLPWT0I11t7--e3n4P-kloVqemMpCtXkMi_L4qCEan4FVmchr0JetmptC_upnZMorh95BfvfCgBuv78-PP7x_fn6klkLew9CNR3dhGpcsnabzLLsE0gVqqpAvsvlU4hSVifM1QFWjsVFFJfXFi2Gx5u3iY13W7P105yYHt8NP5vJsFCnX6HX-m0kWITBiBEcYbB3yKWUECe0Fqz3cxTqAaKHBeQYwXkGhDENBDGFOZhIwCMyLLKg9cl2MBCDceyBg0_aUgZP0PvkOtB30CZSy8YN25im3gcCqY9lq0tYrfyyYInqCk-Og-9Su5Ak20HvA0T2YZl-vU_aW9P-H9-_ev6GP8hl8LV5-DwQ4NFEmIMfAk7AFCbjkKkD58Oi7Q7YMwXIK4jUetetOnVisMhk72AYTATjIhN20AaMo3HDIgUnGBLFuGkgMB2hBU0j3oxPAd7WJWgC9oDaB15f-ZnNZD5wMQneDI8Q_UTww7gOfA92sQmMW_e4UHkbKdCyj-Q2N1FbEkr9hA_EKTjq_vV019VFdy7OuKM6PxylzA-5LHZjfTiSrvq2OqkzlVJqfTxUVKninBfFoZPHnamVVCrfSl4WWZH351LrvqS-l6eTFqWkCY3NlsPLfBh2JsZEdXUucrmzqMnGz6RuAtZEhnoNkU5DFKW0JnL8CcCGLdWvNPSYLIvisp2QcfDs_QxXZISXQD1xO-5SsPV_juxKccnsyvLvAAAA__-EbmM0">