[clang] [analyzer] Fix performance of getTaintedSymbolsImpl() (PR #89606)

Balazs Benics via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 22 08:16:55 PDT 2024


steakhal wrote:

Ah, I think rushed ahead of myself.
I applied the patch to clang-17, where it of course we didn't have any issues even with this broken `isTainted`.
Now that I applied the patch to our clang-18 based branch, the file analyzes in 1:40, which is still far off from the baseline run 32 seconds. But 1:40 is arguably a lot better than 1.23 hours.

I perfed again, and it shows this:
![image](https://github.com/llvm/llvm-project/assets/6280485/1706b0c7-bd5e-4de2-88f2-e49d801d0e12)

This is much better, and showcases the next slowdown bug I'm hunting for the days since I reported this one :D
The remaining 1 extra minute is lost during Z3 refutation.

So, yea, this PR fixes the bug I reported in #89045, so we can close that once this is merged.
And stay tuned for the next slowdown bug. I can already tell you that the bitwise shift checker introduces new constraints, after which we can now refute more bugs! - but also spends more time for finding a valid bug report in an EQClass , while previously we just picked the first one as we found those path constraints `sat`. But I'll come back to that once I have something concrete to share.

https://github.com/llvm/llvm-project/pull/89606


More information about the cfe-commits mailing list