[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2018-01-18 Thread Peter Szecsi via Phabricator via cfe-commits
szepet added inline comments. Comment at: lib/StaticAnalyzer/Core/LoopUnrolling.cpp:28-46 struct LoopState { private: enum Kind { Normal, Unrolled } K; - const Stmt *LoopStmt; - const LocationContext *LCtx; - unsigned maxStep; - LoopState(Kind InK, const Stmt *S, const

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2018-01-18 Thread Peter Szecsi via Phabricator via cfe-commits
szepet updated this revision to Diff 130516. szepet marked 2 inline comments as done. szepet added a comment. First, sorry for this delayed update, however, I was working on this and running this on real projects. I wanted to make sure that this update will be complete enough that this patch

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2018-01-02 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. //*asked stuff in https://reviews.llvm.org/D39398 regarding how indirect gotos are supported*// https://reviews.llvm.org/D41151 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-21 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. Or not. Loop counter has its own whole-loop scope. I guess `LoopContext` can be treated as a sub-class of `ScopeContext`. And i don't mind having `ScopeContext` be split into small distinct sub-classes. Because we're stuck in cornercases for covering all possible scopes,

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-21 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. So, essentially, `LoopContext` is per-loop, while `ScopeContext` is per-iteration? Comment at: lib/StaticAnalyzer/Core/LoopUnrolling.cpp:28-46 struct LoopState { private: enum Kind { Normal, Unrolled } K; - const Stmt *LoopStmt; - const

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-18 Thread Aleksei Sidorin via Phabricator via cfe-commits
a.sidorin added a comment. This thing is very similar to https://reviews.llvm.org/D19979. Do we really need to create a separate LoopContext or we can reuse ScopeContext instead? https://reviews.llvm.org/D41151 ___ cfe-commits mailing list

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-16 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. Just to be sure, this is just a refactoring to make this cleaner or you expect this to have other effects as well, like better performance? https://reviews.llvm.org/D41151 ___ cfe-commits mailing list

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-12 Thread Henry Wong via Phabricator via cfe-commits
MTC added inline comments. Comment at: include/clang/Analysis/ProgramPoint.h:619 /// CallExitBegin and CallExitEnd. The following operations occur between the -/// two program points: +/// two preogram points: /// - CallExitBegin A minor typo, it should be

[PATCH] D41151: [analyzer] Adding LoopContext and improve loop modeling

2017-12-12 Thread Peter Szecsi via Phabricator via cfe-commits
szepet created this revision. szepet added reviewers: dcoughlin, NoQ, zaks.anna, xazax.hun, a.sidorin. Herald added subscribers: dkrupp, baloghadamsoftware, whisperity. Based on the CFGLoopEntrance element, it is possible to have a CFG driven LocationContext update which contains loop