How to configurate the Clang Static Analyzer to tuning its IPA?

Hi all,

I find that Clang Static Analyzer can support Inter-Procedural Analysis (IPA) in one single TranslationUnit. But I was confused by its IPA’s result for my testcase (C program) with the default arguments and configuration of Static Analyzer. For example, one function was called again in the middle of its evaluation. And the function itself is not a recursive function.
My testcase contains three functions in one single file. And there are some loops in two of functions. There is no any recursive function in my testcase.

I guess the default analysis-related arguments/configuration will guarantee that the Static Analyzer will archieve precise analysis results, in the meanwhile it will also guarantee an appropriate memory space utilization.

However, for my testcase, I feel that the default configuration spent too much attention on the memory aspect, so that it scarificed the integrity of the analysis. In this way, the result of the IPA evaluation confused me. My test machine has 32GB RAM. So for the primary tests current, I paid more attention on the correctness of my checker than the low memory utilization. So I began to search the arguments of Static Analyzer, which may/will limit the scale of the evaluation. I tuned the values of analyzer_max_loop and analyzer_inline_max_stack_depth with bigger number values. And I also set UserMode from UMK_NotSet to UMK_Deep, and set IPAMode from IPAK_NotSet to IPAK_Inlining. However, it seems that it doesn’t work and the results still cunfused me.

Now I’m wondering that whether there is any other argument that will limit/modify the function’s evaluation according to scale or the number of the ExplodedNodes of the function.

What’s more, are there any other arguments I can tune, which can loose/relax the limitations of the Static Analyzer, so that it can archieve more precise analysis results, in spite of the fact that it may protentially lead to more memory occupation? If there are, where and what are they?

Thanks a lot.