[PATCH] D62619: [analyzer][IDF] Add a control dependency calculator + a new debug checker
Artem Dergachev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 2 10:56:48 PDT 2019
NoQ added a comment.
Static Analyzer bits look great to me as well!
================
Comment at: clang/include/clang/Analysis/Analyses/Dominators.h:257
+ // Dumps immediate control dependencies for each block.
+ void dump() {
+ CFG *cfg = PostDomTree.getCFG();
----------------
kuhar wrote:
> kuhar wrote:
> > Can `dump` be const?
> In LLVM, `dump`s are usually annotated with the `LLVM_DUMP_METHOD` attribute and not compiled in release builds. Is the convention different in the static analyzer?
`LLVM_DUMP_METHOD` is great. Hiding dump methods under `#ifndef NDEBUG` is something i've seen very rarely. It's fairly annoying to me that exploded graph dumps are unavailable in release builds, but apart from that i don't have any immediate opinion, so this sounds like a global LLVM policy that we're historically not paying much attention to, but i don't mind complying.
================
Comment at: clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp:90
+ if (AnalysisDeclContext *AC = mgr.getAnalysisDeclContext(D)) {
+ ControlDependencyCalculator dom(AC->getCFG());
+ dom.dump();
----------------
CaPiTaLiZe VaRiAbLeS.
(*doesn't really care*)
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62619/new/
https://reviews.llvm.org/D62619
More information about the cfe-commits
mailing list