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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to