<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp, 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-01-19T08:50:56+00:00</updated>
<entry>
<title>Update the file headers across all of the LLVM projects in the monorepo</title>
<updated>2019-01-19T08:50:56+00:00</updated>
<author>
<name>Chandler Carruth</name>
<email>chandlerc@gmail.com</email>
</author>
<published>2019-01-19T08:50:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2946cd701067404b99c39fb29dc9c74bd7193eb3'/>
<id>urn:sha1:2946cd701067404b99c39fb29dc9c74bd7193eb3</id>
<content type='text'>
to reflect the new license.

We understand that people may be surprised that we're moving the header
entirely to discuss the new license. We checked this carefully with the
Foundation's lawyer and we believe this is the correct approach.

Essentially, all code in the project is now made available by the LLVM
project under our new license, so you will see that the license headers
include that license only. Some of our contributors have contributed
code under our old license, and accordingly, we have retained a copy of
our old license notice in the top-level files in each project and
repository.

llvm-svn: 351636
</content>
</entry>
<entry>
<title>[analyzer] Make sure base-region and its sub-regions are either all alive or all dead.</title>
<updated>2019-01-18T00:08:56+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2019-01-18T00:08:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=2ed0e79bb8efc3d642e3d8212e17a160f5ebb499'/>
<id>urn:sha1:2ed0e79bb8efc3d642e3d8212e17a160f5ebb499</id>
<content type='text'>
SymbolReaper now realizes that our liveness analysis isn't sharp enough
to discriminate between liveness of, say, variables and their fields.
Surprisingly, this didn't quite work before: having a variable live only
through Environment (eg., calling a C++ method on a local variable
as the last action ever performed on that variable) would not keep the
region value symbol of a field of that variable alive.

It would have been broken in the opposite direction as well, but both
Environment and RegionStore use the scanReachableSymbols mechanism for finding
live symbols regions within their values, and due to that they accidentally
end up marking the whole chain of super-regions as live when at least one
sub-region is known to be live.

It is now a direct responsibility of SymbolReaper to maintain this invariant,
and a unit test was added in order to make sure it stays that way.

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

rdar://problem/46914108

llvm-svn: 351499
</content>
</entry>
<entry>
<title>[analyzer] Fix the "Zombie Symbols" bug.</title>
<updated>2018-11-30T03:27:50+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2018-11-30T03:27:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=bbc6d68297c8b0641eb8226dea7746a0d97ae33b'/>
<id>urn:sha1:bbc6d68297c8b0641eb8226dea7746a0d97ae33b</id>
<content type='text'>
It's an old bug that consists in stale references to symbols remaining in the
GDM if they disappear from other program state sections as a result of any
operation that isn't the actual dead symbol collection. The most common example
here is:

   FILE *fp = fopen("myfile.txt", "w");
   fp = 0; // leak of file descriptor

In this example the leak were not detected previously because the symbol
disappears from the public part of the program state due to evaluating
the assignment. For that reason the checker never receives a notification
that the symbol is dead, and never reports a leak.

This patch not only causes leak false negatives, but also a number of other
problems, including false positives on some checkers.

What's worse, even though the program state contains a finite number of symbols,
the set of symbols that dies is potentially infinite. This means that is
impossible to compute the set of all dead symbols to pass off to the checkers
for cleaning up their part of the GDM.

No longer compute the dead set at all. Disallow iterating over dead symbols.
Disallow querying if any symbols are dead. Remove the API for marking symbols
as dead, as it is no longer necessary. Update checkers accordingly.

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

llvm-svn: 347953
</content>
</entry>
<entry>
<title>[analyzer] Fix dumping for SymbolConjured conjured at no particular statement.</title>
<updated>2018-10-22T20:11:10+00:00</updated>
<author>
<name>Artem Dergachev</name>
<email>artem.dergachev@gmail.com</email>
</author>
<published>2018-10-22T20:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7e4edbdd1b4d2fa97478fc16be2efff4de9afdf9'/>
<id>urn:sha1:7e4edbdd1b4d2fa97478fc16be2efff4de9afdf9</id>
<content type='text'>
llvm-svn: 344944
</content>
</entry>
<entry>
<title>[analyzer] Further printing improvements: use declarations,</title>
<updated>2018-09-15T02:34:45+00:00</updated>
<author>
<name>George Karpenkov</name>
<email>ekarpenkov@apple.com</email>
</author>
<published>2018-09-15T02:34:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=64c431c90095995a6bad74c34ce03367f09e5fa4'/>
<id>urn:sha1:64c431c90095995a6bad74c34ce03367f09e5fa4</id>
<content type='text'>
skip pointers whenever redundant, use unique prefixes.

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

llvm-svn: 342316
</content>
</entry>
<entry>
<title>[analyzer] Memoize complexity of SymExpr</title>
<updated>2018-07-19T17:03:12+00:00</updated>
<author>
<name>Mikhail R. Gadelha</name>
<email>mikhail.ramalho@gmail.com</email>
</author>
<published>2018-07-19T17:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=ddd4229cc402cc74c656501614f694c977f45519'/>
<id>urn:sha1:ddd4229cc402cc74c656501614f694c977f45519</id>
<content type='text'>
Summary:
This patch introduces a new member to SymExpr, which stores the symbol complexity, avoiding recalculating it every time computeComplexity() is called.

Also, increase the complexity of conjured Symbols by one, so it's clear that it has a greater complexity than its underlying symbols.

Reviewers: NoQ, george.karpenkov

Reviewed By: NoQ, george.karpenkov

Subscribers: xazax.hun, szepet, a.sidorin

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

llvm-svn: 337472
</content>
</entry>
<entry>
<title>[analyzer] [NFC] A convenient getter for getting a current stack frame</title>
<updated>2018-06-27T01:51:55+00:00</updated>
<author>
<name>George Karpenkov</name>
<email>ekarpenkov@apple.com</email>
</author>
<published>2018-06-27T01:51:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=dd18b11b8e0ad9e8ff7e2d1bc3ebdc3c690e97ed'/>
<id>urn:sha1:dd18b11b8e0ad9e8ff7e2d1bc3ebdc3c690e97ed</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D44756

llvm-svn: 335701
</content>
</entry>
<entry>
<title>[StaticAnalyzer] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).</title>
<updated>2018-03-06T00:47:41+00:00</updated>
<author>
<name>Eugene Zelenko</name>
<email>eugene.zelenko@gmail.com</email>
</author>
<published>2018-03-06T00:47:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b8b9af2ad46ff1ed901956c155c48c15cb585fa9'/>
<id>urn:sha1:b8b9af2ad46ff1ed901956c155c48c15cb585fa9</id>
<content type='text'>
llvm-svn: 326757
</content>
</entry>
<entry>
<title>[analyzer] Dump signed integers in SymIntExpr and IntSymExpr correctly</title>
<updated>2017-10-19T11:58:21+00:00</updated>
<author>
<name>Gabor Horvath</name>
<email>xazax.hun@gmail.com</email>
</author>
<published>2017-10-19T11:58:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d3a85702310f686e380b599fc3429b5bb51d69be'/>
<id>urn:sha1:d3a85702310f686e380b599fc3429b5bb51d69be</id>
<content type='text'>
Patch by: Adam Balogh!

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

llvm-svn: 316157
</content>
</entry>
<entry>
<title>[analyzer] Print type for SymbolRegionValues when dumping to stream</title>
<updated>2016-12-05T20:30:11+00:00</updated>
<author>
<name>Dominic Chen</name>
<email>d.c.ddcc@gmail.com</email>
</author>
<published>2016-12-05T20:30:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=0dd2306538e48c69bb41d2e3f81f25acedb18af6'/>
<id>urn:sha1:0dd2306538e48c69bb41d2e3f81f25acedb18af6</id>
<content type='text'>
Reviewers: NoQ, dcoughlin, zaks.anna

Subscribers: cfe-commits

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

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