Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Artem Dergachev via cfe-commits
Hi all, I'm perfectly fine with reducing this test case to only test the `conj_$3\{int, LC3, no stmt, #1\}` part and drop everything else, because that's what i've been testing when i originally introduced this test. The lack of determinism here indeed only affects our own self-debugging fa

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Csaba Dabis via cfe-commits
I have not said there is determinism to print out a map as Static Analyzer cannot provide that. We have no plans to make it deterministic, as it is just dumping out the ExplodedGraph in JSON format, which is an internal stuff. This non-deterministic behaviour has been seen first only some days ago

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Russell Gallop via cfe-commits
Hi Csaba, I see what Roman means. Output should be deterministic for given input (unless there is a very good reason not to (e.g. timing or deliberate randomness)). You can check whether the output is the same with a script like below. It looks like the node numbers are different every time. Is t

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Roman Lebedev via cfe-commits
I think we're still talking past each other. I'm saying that *any* commit that does not fix the underlying nondeterminizm, but only hides it by deleting tests that showed that said determinism exists in the first place, is not a fix. Roman. On Thu, May 30, 2019 at 6:14 PM Csaba Dabis wrote: > >

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Csaba Dabis via cfe-commits
Hm, the first `CHECK: constructing_objects` contains only one element, which is fine, the second `CHECK: constructing_objects` has two, which could be non-determinism, but surprisingly it is worked as excepted. Because of the edge-case I have changed my mind: https://github.com/llvm/llvm-project/co

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Roman Lebedev via cfe-commits
On Thu, May 30, 2019 at 5:48 PM Csaba Dabis via cfe-commits wrote: > > Thanks you! > > Fixed by > https://github.com/llvm/llvm-project/commit/17604c3486cbe7c27cadac1757cd0a9109a92792 The non-determinism is still there though, so this isn't correct fix. > On Thu, May 30, 2019 at 4:16 PM Russell G

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Csaba Dabis via cfe-commits
Thanks you! Fixed by https://github.com/llvm/llvm-project/commit/17604c3486cbe7c27cadac1757cd0a9109a92792 On Thu, May 30, 2019 at 4:16 PM Russell Gallop wrote: > Hi Csaba, > > Failing example attached. Note that the output is different every time so > there is potentially more than one failure

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Russell Gallop via cfe-commits
Hi Csaba, Failing example attached. Note that the output is different every time so there is potentially more than one failure mode. Thanks Russ On Thu, 30 May 2019 at 15:05, Csaba Dabis wrote: > Hey! > > When it fails, could you provide the DOT dump? The path > is: > llvm-project/build/tools

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Csaba Dabis via cfe-commits
Hey! When it fails, could you provide the DOT dump? The path is: llvm-project/build/tools/clang/test/Analysis/Output/dump_egraph.cpp.tmp.dot Thanks, Csaba. On Thu, May 30, 2019 at 4:00 PM Russell Gallop wrote: > Hi Csaba, > > The test dump_egraph.cpp appears to be flaky on Windows. For example

Re: r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-30 Thread Russell Gallop via cfe-commits
Hi Csaba, The test dump_egraph.cpp appears to be flaky on Windows. For example here: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/26183 . C:\ps4-buildslave2\llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast\llvm.src\tools\clang\test\Analysis\dump_egraph

r361997 - [analyzer] print() JSONify: getNodeLabel implementation

2019-05-29 Thread Csaba Dabis via cfe-commits
Author: charusso Date: Wed May 29 11:05:53 2019 New Revision: 361997 URL: http://llvm.org/viewvc/llvm-project?rev=361997&view=rev Log: [analyzer] print() JSONify: getNodeLabel implementation Summary: This patch also rewrites the ProgramPoint printing. Reviewers: NoQ, xazax.hun, ravikandhadai, ba