[PATCH] D20933: Preallocate ExplodedNode hash table

Anna Zaks via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 8 09:36:21 PDT 2016


zaks.anna added a comment.

> For the pile of LLVM projects that I am currently building (llvm, clang, libcxx, libcxxabi), 18.9% of all analyzed

>  functions hit the maximum step count. For the previously discussed large .C file, 37% of the analyzed functions hit the maximum step count.


These look high to me. I've looked up some statistics that I've collected years ago and I see a similar number for sqlite, but much lower numbers for other test cases. I tested with the Preview app (~150 files) and a bunch of preprocessed files we had on hand at that moment in both cases the number of reaching timeout was about 1%. sqlite is special because all source code is in that one file, so we can do much more inlining. Which C test case have you used?

(I do not have any numbers for C++.)

Another wrinkle here is that we support "Analyzer shallow mode" (-analyzer-config mode=shallow) , which dials down inlining quite a bit. We have users who analyze during build (believe it or not) and they use the shallow mode by default.


http://reviews.llvm.org/D20933





More information about the cfe-commits mailing list