diff options
| author | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2014-10-05 11:32:18 +0000 |
|---|---|---|
| committer | Johannes Doerfert <doerfert@cs.uni-saarland.de> | 2014-10-05 11:32:18 +0000 |
| commit | 1a28a8938ef66d03fe1d29115853a5901df14b27 (patch) | |
| tree | 05847dbd28ed615faa138713f53f500772b86077 /polly/lib/Exchange/JSONExporter.cpp | |
| parent | a00381fb739b38fe5cb646413d293b21c13bcd7e (diff) | |
| download | bcm5719-llvm-1a28a8938ef66d03fe1d29115853a5901df14b27.tar.gz bcm5719-llvm-1a28a8938ef66d03fe1d29115853a5901df14b27.zip | |
Introduce the ScopArrayInfo class.
This class allows to store information about the arrays in the SCoP.
For each base pointer in the SCoP one object is created storing the
type and dimension sizes of the array. The objects can be obtained via
the SCoP, a MemoryAccess or the isl_id associated with the output
dimension of a MemoryAccess (the description of what is accessed).
So far we use the information in the IslExprBuilder to create the
right base type before indexing into the base array. This fixes the
bug http://llvm.org/bugs/show_bug.cgi?id=21113 (both test cases are
included). On top of that we can now build runtime alias checks for
delinearized arrays as the dimension sizes are also part of the
ScopArrayInfo objects.
Differential Revision: http://reviews.llvm.org/D5613
llvm-svn: 219077
Diffstat (limited to 'polly/lib/Exchange/JSONExporter.cpp')
| -rw-r--r-- | polly/lib/Exchange/JSONExporter.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/polly/lib/Exchange/JSONExporter.cpp b/polly/lib/Exchange/JSONExporter.cpp index 36e302b1522..e462ece9791 100644 --- a/polly/lib/Exchange/JSONExporter.cpp +++ b/polly/lib/Exchange/JSONExporter.cpp @@ -277,6 +277,9 @@ bool JSONImporter::runOnScop(Scop &scop) { return false; } + isl_id *OutId = isl_map_get_tuple_id(currentAccessMap, isl_dim_out); + newAccessMap = isl_map_set_tuple_id(newAccessMap, isl_dim_out, OutId); + // We keep the old alignment, thus we cannot allow accesses to memory // locations that were not accessed before. isl_set *newAccessSet = isl_map_range(isl_map_copy(newAccessMap)); |

