<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/test/Analysis/exploded-graph-rewriter, 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-10-18T20:15:41+00:00</updated>
<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] Fix FieldRegion dumps.</title>
<updated>2019-10-18T20:15:39+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-10-18T20:15:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2b4f6df91775a4f13233a04d3377f8233c7087f6'/>
<id>urn:sha1:2b4f6df91775a4f13233a04d3377f8233c7087f6</id>
<content type='text'>
The '-&gt;' thing has always been confusing; the actual operation '-&gt;'
translates to a pointer dereference together with adding a FieldRegion,
but FieldRegion on its own doesn't imply an additional pointer
dereference.

llvm-svn: 375281
</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>[CallGraph] Take into accound calls that aren't within any function bodies.</title>
<updated>2019-08-20T02:22:37+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-08-20T02:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=8cf3dfea54187769b9c3feeb032f084857e8c79c'/>
<id>urn:sha1:8cf3dfea54187769b9c3feeb032f084857e8c79c</id>
<content type='text'>
This patch improves Clang call graph analysis by adding in expressions
that are not found in regular function bodies, such as default arguments
or member initializers.

Patch by Joshua Cranmer!

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

llvm-svn: 369321
</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>
</feed>
