<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/utils/analyzer, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-12-21T18:59:38+00:00</updated>
<entry>
<title>[analyzer] exploded-graph-rewriter: Fix string encodings in python3.</title>
<updated>2019-12-21T18:59:38+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-12-21T18:57:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2203089a60d826e882e2ccfc5cc5d361b4f91078'/>
<id>urn:sha1:2203089a60d826e882e2ccfc5cc5d361b4f91078</id>
<content type='text'>
Makes sure that the script works fine both in python2 and python3.

Patch by Pavel Samolysov!

Differential Revision: https://reviews.llvm.org/D71746
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Rename Environment to Expressions.</title>
<updated>2019-10-18T20:15:41+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-18T20:15:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=c6921379f55ee566fb62ba5aa47b217cf7c5d960'/>
<id>urn:sha1:c6921379f55ee566fb62ba5aa47b217cf7c5d960</id>
<content type='text'>
It's less confusing for newcomers.

llvm-svn: 375282
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Fix dump for state 0.</title>
<updated>2019-10-18T20:15:32+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-18T20:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d93b810cd673d37598ed05334a662e6878c32812'/>
<id>urn:sha1:d93b810cd673d37598ed05334a662e6878c32812</id>
<content type='text'>
It shouldn't say "unspecified" when the state is specified to be empty.

llvm-svn: 375279
</content>
</entry>
<entry>
<title>[analyzer] Assign truly stable identifiers to exploded nodes.</title>
<updated>2019-10-17T23:10:09+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-17T23:10:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=14e9eb3d7caed026a805033a9ce7b9e70d18bf04'/>
<id>urn:sha1:14e9eb3d7caed026a805033a9ce7b9e70d18bf04</id>
<content type='text'>
ExplodedGraph nodes will now have a numeric identifier stored in them
which will keep track of the order in which the nodes were created
and it will be fully deterministic both accross runs and across machines.

This is extremely useful for debugging as it allows reliably setting
conditional breakpoints by node IDs.

llvm-svn: 375186
</content>
</entry>
<entry>
<title>[analyzer] Display cast kinds in program point dumps.</title>
<updated>2019-10-17T23:10:05+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-17T23:10:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d325196f19bfecff59252f3d214278fb6ee4ad61'/>
<id>urn:sha1:d325196f19bfecff59252f3d214278fb6ee4ad61</id>
<content type='text'>
Because cast expressions have their own hierarchy, it's extremely useful
to have some information about what kind of casts are we dealing with.

llvm-svn: 375185
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Make node headers a bit lighter.</title>
<updated>2019-10-17T23:10:02+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-17T23:10:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=73b67f0b1a3ca835a4c0481abee87a96a2107b7d'/>
<id>urn:sha1:73b67f0b1a3ca835a4c0481abee87a96a2107b7d</id>
<content type='text'>
The 50% grey color is too dark on some monitors.

llvm-svn: 375184
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Implement displaying Store pointers.</title>
<updated>2019-08-13T23:04:56+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-08-13T23:04:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=daf41722bd54e03cc5a367d35b2208ff652f553d'/>
<id>urn:sha1:daf41722bd54e03cc5a367d35b2208ff652f553d</id>
<content type='text'>
They're useful when trying to understand what's going on
inside your LazyCompoundValues.

Differential Revision: https://reviews.llvm.org/D65427

llvm-svn: 368769
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Implement manual graph trimming.</title>
<updated>2019-08-13T23:04:53+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-08-13T23:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=9289681ea3d000e7d46b2c69bac26b45f960c4dd'/>
<id>urn:sha1:9289681ea3d000e7d46b2c69bac26b45f960c4dd</id>
<content type='text'>
When -trim-egraph is unavailable (say, when you're debugging a crash on
a real-world code that takes too long to reduce), it makes sense to view
the untrimmed graph up to the crashing node's predecessor, then dump the ID
(or a pointer) of the node in the attached debugger, and then trim
the dumped graph in order to keep only paths from the root to the node.

The newly added --to flag does exactly that:

$ exploded-graph-rewriter.py ExprEngine.dot --to 0x12229acd0

Multiple nodes can be specified. Stable IDs of nodes can be used
instead of pointers.

Differential Revision: https://reviews.llvm.org/D65345

llvm-svn: 368768
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: NFC: Refactor explorers into trimmers.</title>
<updated>2019-08-13T23:04:50+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-08-13T23:04:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0b26891f3f2b75dcc8f1a0f3a34342ce27570a2c'/>
<id>urn:sha1:0b26891f3f2b75dcc8f1a0f3a34342ce27570a2c</id>
<content type='text'>
Explorers aren't the right abstraction. For the purposes of displaying svg files
we don't care in which order do we explore the nodes. We may care about this for
other analyses, but we're not there yet.

The function of cutting out chunks of the graph is performed poorly by
the explorers, because querying predecessors/successors on the explored nodes
yields original successors/predecessors even if they aren't being explored.

Introduce a new entity, "trimmers", that do one thing but to it right: cut out
chunks of the graph. Trimmers mutate the graph, so stale edges aren't even
visible to their consumers in the pipeline. Additionally, trimmers are
intrinsically composable: multiple trimmers can be applied to the graph
sequentially.

Refactor the single-path explorer into the single-path trimmer.
Rename the test file for consistency.

Differential Revision: https://reviews.llvm.org/D65344

llvm-svn: 368767
</content>
</entry>
<entry>
<title>[analyzer] exploded-graph-rewriter: Open the converted graph immediately.</title>
<updated>2019-08-13T23:04:47+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-08-13T23:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=e9e36354531e0dde20fbd7dac9749244a52e61be'/>
<id>urn:sha1:e9e36354531e0dde20fbd7dac9749244a52e61be</id>
<content type='text'>
Change the default behavior: the tool no longer dumps the rewritten .dot file
to stdout, but instead it automatically converts it into an .html file
(which essentially wraps an .svg file) and immediately opens it with
the default web browser.

This means that the tool should now be fairly easy to use:

  $ exploded-graph-rewriter.py /tmp/ExprEngine.dot

The benefits of wrapping the .svg file into an .html file are:

    - It'll open in a web browser, which is the intended behavior.
      An .svg file would be open with an image viewer/editor instead.
    - It avoids the white background around the otherwise dark svg area
      in dark mode.

The feature can be turned off by passing a flag '--rewrite-only'.
The LIT substitution is updated to enforce the old mode because
we don't want web browsers opening on our buildbots.

Differential Revision: https://reviews.llvm.org/D65250

llvm-svn: 368766
</content>
</entry>
</feed>
