summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen/MemAccess
Commit message (Collapse)AuthorAgeFilesLines
...
* Relax the condition on the jsop accesses regarding the alignment.Johannes Doerfert2014-10-102-0/+62
| | | | | | | | | | | We restricted the new access functions to be a subset of the old one because we want to keep the alignment, however if the alignment is "not special", thus the default for the type, we can allow any access. Differential Revision: http://reviews.llvm.org/D5680 llvm-svn: 219503
* Use the new access function (if present) to compute the access stride.Johannes Doerfert2014-10-101-0/+47
| | | | | | Differential Revision: http://reviews.llvm.org/D5661 llvm-svn: 219499
* Allow the VectorBlockGenerator to use the IslExprBuilder.Johannes Doerfert2014-10-081-1/+29
| | | | | | | This also enables the VectorBlockGenerator to build load store accesses according to the newAccessRelation of a MemoryAccess. llvm-svn: 219321
* Introduce the ScopArrayInfo class.Johannes Doerfert2014-10-055-7/+7
| | | | | | | | | | | | | | | | | | | 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
* Align copied load/store instructions as the original.Johannes Doerfert2014-10-022-0/+53
| | | | | | | | | | This also forbids the json importer to access other memory locations than the original instruction as we to reuse the alignment of the original load/store. Differential Revision: http://reviews.llvm.org/D5560 llvm-svn: 218883
* [RTC] Runtime Alias Checks for the ISL backend (missing tests)Johannes Doerfert2014-09-184-0/+168
| | | | | | Test files missing in r218046. llvm-svn: 218047
* [RTC] Runtime Alias Checks for the ISL backendJohannes Doerfert2014-09-181-2/+2
| | | | | | | | | | | | | | | | | This change will build all alias groups (minimal/maximal accesses to possible aliasing base pointers) we have to check before we can assume an alias free environment. It will also use these to create Runtime Alias Checks (RTC) in the ISL code generation backend, thus allow us to optimize SCoPs despite possibly aliasing pointers when this backend is used. This feature will be enabled for the isl code generator, e.g., --polly-code-generator=isl, but disabled for: - The cloog code generator (still the default). - The case delinearization is enabled. - The case non-affine accesses are allowed. llvm-svn: 218046
* Fix the modifiable access creationJohannes Doerfert2014-08-031-16/+17
| | | | | | | | | | | | + Remove the class IslGenerator which duplicates the functionality of IslExprBuilder. + Use the IslExprBuilder to create code for memory access relations. + Also handle array types during access creation. + Enable scev codegen for one of the transformed memory access tests, thus access creation without canonical induction variables available. + Update one test case to the new output. llvm-svn: 214659
* Update the jscop tests and port them to isl codegen.Johannes Doerfert2014-08-0316-0/+492
The updated tests use a different context than the old ones did. Other than that only their path and the code generation we use changed. llvm-svn: 214657
OpenPOWER on IntegriCloud