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

    <tr>
        <th>Summary</th>
        <td>
            Changing ArrayBoundV2 callback type increased symbol complexity
        </td>
    </tr>

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

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

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

<pre>
    While investigating #89045 @steakhal noticed that the complexity of symbols seen by the ArrayBoundV2 checker increased significantly when that checker switched to using `check::PostStmt` callbacks instead of the previously used `check::Location`.

> [...] prior to this change, the maximum Sym->computeComplexity() within getTaintedSymbolsImpl was significantly lower [4-5] than after the change. After the change this maximal complexity was more around the threshold (35), 30-33.

That slowdown was fixed by #89606 which restored the efficiency of `getTaintedSymbolsImpl` and ensured that it runs quickly even when the symbols are complex. However, it would be still good to investigate the cause of this complexity increase.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsk1-P6yYQxT8NeRnFYsF24gc_ZHdv1EpVVWmv2meMx4YuhhTG8frbVzj7X_clkQzM_ObMOSolO3rEllX3rHrcqZlMiO2falwfg1e060K_tv8Y6xCsv2IiOyqyfgQm5LHhZQWs5IlQPRvlwAeyGnsgowjIIOgwXRy-WFohDJDWqQsuQUL00K3bjVOMar0Ps-__FqAN6meMYL2OqBL2kPHsYLXy5FZYDPpb8bebabGkTW4ZYE4bWM23QyZPTJ7-ComeaCJWc9DKuU7p5wTWZ-Q-M2WGS8SrDXNyK8y56dcSfwStyAbPal4w_sj46fVX_gBW3RdFwapHuEQbYqYgYxNoo_yITDxs9Sf1Yqd5gqd12jP5I4syEz68a8PEkYkGFkvGehiRfirrCfunm16_TxcHi0rfxHBhwZgJyn2VCcgoD2ogjDfpN4QCTt--3AA3JOU-Lyh3mEJEUDGvY3tCJmIywfXAxFFWTDR5Jsn3Un7R4mfeSXJh6cPit0qDfcE-L3kzSs1rWIzVBiImChFv5XEYrLbo9WYPVvNfzp53p3wP6NMc39xlCeLsE_w3W_3sVsAr-jd_4LvTVHz3YAG_hQWvGPMElmAJs-uhQ0hknYMxhM1EHy7Hm2hqTngzSt7rh1xvHn3VYde3sm9ko3bY3h3u5LG-O4h6Z9phGCSvsGmOpWr4XSe7XuJB9IeukaVU3c62gouSl0LyYyl4VRyGpu7LrtEHyStdHVjJcVLWFc5dpyLEcWdTmrE9NgfBd0516NIWYCE8LrAdMiFynmOb3-y7eUys5M4mSh9VyJLD9iG7IgfnaxJfswK0XvBzHjdhP-mwm6NrDdEl5bSIMxPn0ZKZu0KHiYlz7vb6t7_E8C9qYuK8MSYmztsM_wcAAP__HLGKmA">