summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen/invariant-load-dimension.ll
Commit message (Collapse)AuthorAgeFilesLines
* [test] Fix two testcases. NFC.Michael Kruse2017-04-031-2/+2
| | | | | | | | | | | | Trivial fix for two testcases. When Polly isn't linked into opt, independent of whether it's built in-tree or not, these testcases forget to load the appropriate library. Contributed-by: Philip Pfaffe <philip.pfaffe@gmail.com> Differential Revision: https://reviews.llvm.org/D31596 llvm-svn: 299357
* [ScopInfo] Fold constant coefficients in array dimensions to the rightTobias Grosser2016-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This allows us to delinearize code such as the one below, where the array sizes are A[][2 * n] as there are n times two elements in the innermost dimension. Alternatively, we could try to generate another dimension for the struct in the innermost dimension, but as the struct has constant size, recovering this dimension is easy. struct com { double Real; double Img; }; void foo(long n, struct com A[][n]) { for (long i = 0; i < 100; i++) for (long j = 0; j < 1000; j++) A[i][j].Real += A[i][j].Img; } int main() { struct com A[100][1000]; foo(1000, A); llvm-svn: 288489
* Handle multi-dimensional invariant load.Eli Friedman2016-10-171-0/+54
If the address of a load depends on another load, make sure to emit the loads in the right order. llvm-svn: 284426
OpenPOWER on IntegriCloud