Commit Graph

63 Commits

Author SHA1 Message Date
Xin Tong
f9450ea6ab Avoid extraneous generation of AACache and MBCache keys 2015-12-24 09:24:56 -08:00
Xin Tong
47afcd4adc Regenerate cache key after the valueenumeraor is invalidated. Exposed by another painful memory behavior cache bug 2015-12-24 00:30:11 -08:00
Erik Eckstein
f963b5ce70 AliasAnalysis: conservatively assume @inout may alias, part 2
Use the new swift::isNotAliasingArgument utility function to check for a not-aliased arguments.
2015-12-23 16:12:42 -08:00
Xin Tong
17fe37d715 Use a separate valueenumerator for alias cache and memory behavior cache
If we use a shared valueenumerator, imagine the case when one of the AAcache or MBcache
is cleared and we clear the valueenumerator.

This could give rise to collisions (false positives) in the not-yet-cleared cache!
2015-12-22 22:53:32 -08:00
ken0nek
fcd8fcee91 Convert [Cc]an not -> [Cc]annot 2015-12-23 00:55:48 +09:00
Erik Eckstein
79f29e1887 add some comments in AliasAnalysis and EscapeAnalysis 2015-12-21 16:44:52 -08:00
Erik Eckstein
f0645d1b9c Re-apply "AliasAnalysis: use escape analysis for some checks."
This re-applies commit 09c61c61bf [09c61c6]

This should work now with the recent fix in EscapeAnalysis
2015-12-21 16:44:52 -08:00
Erik Eckstein
057323fb15 Partially reverting "AliasAnalysis: use escape analysis for some checks."
Partially revert 09c61c61bf.

In some configuration it triggers an assert in escape analysis.
2015-12-18 17:47:56 -08:00
Erik Eckstein
4aabe88005 ARC: use escape analysis in ARC analysis 2015-12-18 08:02:18 -08:00
Erik Eckstein
09c61c61bf AliasAnalysis: use escape analysis for some checks.
One important additional change here is that alias analsyis doesn't assume that inout is not-aliasing anymore
2015-12-18 08:02:18 -08:00
practicalswift
8ab8847684 Fix typos. 2015-12-16 22:09:32 +01:00
GauravDS
f9f595b9ef fix typo
gaurantee => guarantee
2015-12-13 02:46:25 +05:30
Andrew Trick
739b0e9c56 Reorganize SILOptimizer directories for better discoverability.
(libraries now)

It has been generally agreed that we need to do this reorg, and now
seems like the perfect time. Some major pass reorganization is in the
works.

This does not have to be the final word on the matter. The consensus
among those working on the code is that it's much better than what we
had and a better starting point for future bike shedding.

Note that the previous organization was designed to allow separate
analysis and optimization libraries. It turns out this is an
artificial distinction and not an important goal.
2015-12-11 15:14:23 -08:00