[PATCH] D62883: [analyzer] Track conditions of terminator statements on which the reported node depends on

Csaba Dabis via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jun 17 08:00:03 PDT 2019


Charusso accepted this revision.
Charusso added a comment.

My opinion based on the Summary, which is the kind of the opposite what we have. No invalidation happens, so no swap happens, so it is kind of misleading like writing out "Returning something" where we cannot be sure what we return ("resulting in new notes being placed at for the call to foo() on line 14 and a note about flag being invalidated on line 5.").
Please update the Summary according to the changes in the patch.

Also please note that, we are very pessimistic and everything is uninteresting (like returning unknown values), you only could `markInteresting()`.

In D62883#1545347 <https://reviews.llvm.org/D62883#1545347>, @Szelethus wrote:

> I like to think that most of the unimportant notes can be easily categorized, as seen above. With some, admittedly crude heuristics, we could cut these down greatly, and leave some breathing room for fine-tuning it.


I am not against that direction, just you throw oil on fire, and we already have a huge fire (D62978 <https://reviews.llvm.org/D62978>). I believe with that we could see more bad-patterns and we could answer "In which range do we track?".
I hope you find the answer, and thanks for working on that to solve the problem!


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62883/new/

https://reviews.llvm.org/D62883





More information about the cfe-commits mailing list