[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-17 Thread Gábor Horváth via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG05c7dc664809: [DataFlow] Factor two worklist implementations out (authored by xazax.hun). Changed prior to commit: https://reviews.llvm.org/D72380?vs=238592=238785#toc Repository: rG LLVM Github

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-17 Thread Dmitri Gribenko via Phabricator via cfe-commits
gribozavr2 accepted this revision. gribozavr2 added a comment. This revision is now accepted and ready to land. Thank you for factoring our this library! I briefly read the UninitializedValues analysis and I also think that this change is a no-op. Comment at:

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-16 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun updated this revision to Diff 238592. xazax.hun added a comment. - Fix typo. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380 Files: clang/include/clang/Analysis/FlowSensitive/DataflowValues.h

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-15 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. Here is an example: void f() { int i; while (i < 42 && i) { if (i) } } This takes 17 visits before, 16 after. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-15 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. In D72380#1823019 , @xazax.hun wrote: > In D72380#1822927 , @NoQ wrote: > > > The change in uninitialized values analysis gives me a bit of anxiety. > > Could you explain what exactly

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-15 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. In D72380#1822927 , @NoQ wrote: > The change in uninitialized values analysis gives me a bit of anxiety. Could > you explain what exactly has changed that caused the change in the stats and > why you think it doesn't make a

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-15 Thread Artem Dergachev via Phabricator via cfe-commits
NoQ added a comment. I'm excited about this effort!~ The change in uninitialized values analysis gives me a bit of anxiety. Could you explain what exactly has changed that caused the change in the stats and why you think it doesn't make a difference, maybe give an example? (an example could

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-15 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. Ping for the other reviewers :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-09 Thread Matthias Gehre via Phabricator via cfe-commits
mgehre added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h:20 +namespace clang { +template class DataflowWorklistBase { + llvm::BitVector EnqueuedBlocks; xazax.hun wrote: > xazax.hun wrote: > > mgehre wrote: > > >

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun updated this revision to Diff 236886. xazax.hun added a comment. - Added doxygen comments and unit tests. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380 Files: clang/include/clang/Analysis/FlowSensitive/DataflowValues.h

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun marked 2 inline comments as done. xazax.hun added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h:20 +namespace clang { +template class DataflowWorklistBase { + llvm::BitVector EnqueuedBlocks; xazax.hun

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun marked an inline comment as done. xazax.hun added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h:20 +namespace clang { +template class DataflowWorklistBase { + llvm::BitVector EnqueuedBlocks; mgehre wrote:

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Matthias Gehre via Phabricator via cfe-commits
mgehre added inline comments. Comment at: clang/include/clang/Analysis/FlowSensitive/DataflowWorklist.h:20 +namespace clang { +template class DataflowWorklistBase { + llvm::BitVector EnqueuedBlocks; Should this class have a bit of doxygen and a unit test?

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun added a comment. Fortunately, UninitializedValues has some statistics. So I printed it for a big translation unit (SemaExpr.cpp) before and after this change. Before: *** Analysis Based Warnings Stats: 33023 functions analyzed (0 w/o CFGs). 161696 CFG blocks built. 4

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-08 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun updated this revision to Diff 236873. xazax.hun added a comment. - Prepopulating the worklist for UninitializedValues seems to be redundant. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380 Files:

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-07 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun updated this revision to Diff 236734. xazax.hun added a comment. - Add missing new line at the end of file. - Populate the initial worklist in UninitializedValues more efficiently. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72380/new/ https://reviews.llvm.org/D72380

[PATCH] D72380: [DataFlow] Factor two worklist implementations out

2020-01-07 Thread Gábor Horváth via Phabricator via cfe-commits
xazax.hun created this revision. xazax.hun added reviewers: gribozavr2, NoQ, Szelethus, rsmith. xazax.hun added a project: clang. Herald added subscribers: Charusso, gamesh411, dkrupp, rnkovacs. In Clang, we have the tendency to have ad-hoc worklist implementations everywhere. This patch is a