hanchenye-llvm-project/polly/lib
Michael Kruse ee6a4fc680 Unique phi write accesses
Ensure that there is at most one phi write access per PHINode and
ScopStmt. In particular, this would be possible for non-affine
subregions with multiple exiting blocks. We replace multiple MAY_WRITE
accesses by one MUST_WRITE access. The written value is constructed
using a PHINode of all exiting blocks. The interpretation of the PHI
WRITE's "accessed value" changed from the incoming value to the PHI like
for PHI READs since there is no unique incoming value.

Because region simplification shuffles around PHI nodes -- particularly
with exit node PHIs -- the PHINodes at analysis time does not always
exist anymore in the code generation pass. We instead remember the
incoming block/value pair in the MemoryAccess.

Differential Revision: http://reviews.llvm.org/D15681

llvm-svn: 258809
2016-01-26 13:33:27 +00:00
..
Analysis Unique phi write accesses 2016-01-26 13:33:27 +00:00
CodeGen Unique phi write accesses 2016-01-26 13:33:27 +00:00
Exchange Do not check JSON alignment of scalar accesses 2016-01-15 16:49:33 +00:00
External Update to ISL 0.16.1 2016-01-15 15:54:45 +00:00
JSON Added arcanist linters and cleaned errors and warnings 2014-08-18 00:40:13 +00:00
Support Print "null" for ISL objects that are nullptr 2015-12-13 19:35:26 +00:00
Transform Adjust formatting to clang-format changes in 256149 2015-12-21 12:38:56 +00:00
CMakeLists.txt IR cleanup after CodeGeneration 2015-11-26 12:36:25 +00:00
Makefile Remove independent blocks pass 2015-10-18 12:28:00 +00:00
Polly.cpp