summaryrefslogtreecommitdiffstats
path: root/polly/test/ScopInfo/multidim_single_and_multidim_array.ll
Commit message (Collapse)AuthorAgeFilesLines
* Do not use wrapping ranges to bound non-affine accessesTobias Grosser2017-02-121-1/+1
| | | | | | | | | | | | | When deriving the range of valid values of a scalar evolution expression might be a range [12, 8), where the upper bound is smaller than the lower bound and where the range is expected to possibly wrap around. We theoretically could model such a range as a union of two non-wrapping ranges, but do not do this as of yet. Instead, we just do not derive any bounds. Before this change, we could have obtained bounds where the maximal possible value is strictly smaller than the minimal possible value, which is incorrect and also caused assertions during scop modeling. llvm-svn: 294891
* [GSoC 2016]New function pass ScopInfoWrapperPassJohannes Doerfert2016-06-271-0/+4
| | | | | | | | | | | | This patch adds a new function pass ScopInfoWrapperPass so that the polyhedral description of a region, the SCoP, can be constructed and used in a function pass. Patch by Utpal Bora <cs14mtech11017@iith.ac.in> Differential Revision: http://reviews.llvm.org/D20962 llvm-svn: 273856
* Drop explicit -polly-delinearize parameterTobias Grosser2016-03-231-2/+2
| | | | | | | Delinearization is now enabled by default and does not need to explicitly need to be enabled in our tests. llvm-svn: 264154
* [FIX] Two "off-by-one" error in constant range usageJohannes Doerfert2016-02-071-1/+1
| | | | llvm-svn: 260031
* Update to ISL 0.16.1Michael Kruse2016-01-151-5/+5
| | | | llvm-svn: 257898
* Prepare unit tests for update to ISL 0.16Michael Kruse2016-01-151-15/+35
| | | | | | | | | | | | | | | | | | | | | ISL 0.16 will change how sets are printed which breaks 117 unit tests that text-compare printed sets. This patch re-formats most of these unit tests using a script and small manual editing on top of that. When actually updating ISL, most work is done by just re-running the script to adapt to the changed output. Some tests that compare IR and tests with single CHECK-lines that can be easily updated manually are not included here. The re-format script will also be committed afterwards. The per-test formatter invocation command lines options will not be added in the near future because it is ad hoc and would overwrite the manual edits. Ideally it also shouldn't be required anymore because ISL's set printing has become more stable in 0.16. Differential Revision: http://reviews.llvm.org/D16095 llvm-svn: 257851
* tests: Drop -polly-detect-unprofitable and -polly-no-early-exitTobias Grosser2015-10-061-4/+4
| | | | | | | | These flags are now always passed to all tests and need to be disabled if not needed. Disabling these flags, rather than passing them to almost all tests, significantly simplfies our RUN: lines. llvm-svn: 249422
* Strip constant factors from SCoP parametersJohannes Doerfert2015-03-291-2/+2
| | | | | | | | This will strip the constant factor of a parameter befor we add it to the SCoP. As a result the access functions are simplified, e.g., for the attached test case. llvm-svn: 233501
* Update test cases to work independently of delinearization defaultTobias Grosser2015-03-081-2/+2
| | | | llvm-svn: 231594
* Update Polly tests to handle explicitly typed gep changes in LLVMDavid Blaikie2015-02-271-2/+2
| | | | llvm-svn: 230784
* Add ScalarEvolution bounds to non-affine access functionsJohannes Doerfert2015-02-241-1/+1
| | | | llvm-svn: 230328
* ScopDetection: Only detect scops that have at least one read and one writeTobias Grosser2015-02-191-4/+4
| | | | | | | | | | Scops that only read seem generally uninteresting and scops that only write are most likely initializations where there is also little to optimize. To not waste compile time we bail early. Differential Revision: http://reviews.llvm.org/D7735 llvm-svn: 229820
* Delinearize _all_ accesses to a multi-dimensional arrayTobias Grosser2014-09-131-0/+68
Even though we previously correctly detected the multi-dimensional access pattern for accesses with a certain base address, we only delinearized non-affine accesses to this address. Affine accesses have not been touched and remained as single dimensional accesses. The result was an inconsistent description of accesses to the same array, with some being one dimensional and some being multi-dimensional. This patch ensures that all accesses are delinearized with the same dimensionality as soon as a single one of them has been detected as non-affine. While writing this patch, it became evident that the options -polly-allow-nonaffine and -polly-detect-keep-going have not been properly supported in case delinearization has been turned on. This patch adds relevant test coverage and addresses these issues as well. We also added some more documentation to the functions that are modified in this patch. This fixes llvm.org/PR20123 Differential Revision: http://reviews.llvm.org/D5329 llvm-svn: 217728
OpenPOWER on IntegriCloud