[PATCH] D69745: [analyzer] Checker: check::BeginAnalysis

Artem Dergachev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 4 10:29:54 PST 2019


NoQ added a comment.

> I think we need to merge the `BeginFunction` into the `BeginWorklist`.

Basically this, but the other way round: your `BeginAnalysis` is `BeginFunction` with extra steps (namely, checking `C.inTopFrame()`).

Backstory: I wanted to add `BeginAnalysis` a few years ago because i wanted to mark `argc` and `argv` as tainted when analyzing `main()`. But then i noticed that we already have `BeginFunction` so i decided not to add it. No, i didn't mark them as tainted yet :/

> YES PLEASE. Debug checkers that only dump from check::EndAnalysis won't rely on the analysis not actually crashing.

There are currently two such checkers: `debug.ViewExplodedGraph` and `debug.Stats`. It doesn't make sense to move them to `BeginAnalysis` though, because the data that they're dumping isn't available yet. If the checker dumps data that isn't collected during path sensitive analysis, it should subscribe to `ASTCodeBody` instead. This way activating the checker won't trigger path-sensitive analysis to occur.


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

https://reviews.llvm.org/D69745





More information about the cfe-commits mailing list