summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorAndreas Simbuerger <simbuerg@fim.uni-passau.de>2017-08-07 20:54:20 +0000
committerAndreas Simbuerger <simbuerg@fim.uni-passau.de>2017-08-07 20:54:20 +0000
commit81fb6b3e4085cd7f21f0633629532c718047fa9b (patch)
treede8da630ea5b0aff147a8c5fb54e67cd8674354f /clang/lib/Frontend/CompilerInvocation.cpp
parentc85d26b0f3dbef5d78c330c4610e355766fdbb0f (diff)
downloadbcm5719-llvm-81fb6b3e4085cd7f21f0633629532c718047fa9b.tar.gz
bcm5719-llvm-81fb6b3e4085cd7f21f0633629532c718047fa9b.zip
[Polly] Fully-Indexed static expansion
This commit implements the initial version of fully-indexed static expansion. ``` for(int i = 0; i<Ni; i++) for(int j = 0; j<Ni; j++) S: B[j] = j; T: A[i] = B[i] ``` After the pass, we want this : ``` for(int i = 0; i<Ni; i++) for(int j = 0; j<Ni; j++) S: B[i][j] = j; T: A[i] = B[i][i] ``` For now we bail (fail) in the following cases: - Scalar access - Multiple writes per SAI - MayWrite Access - Expansion that leads to an access to the original array Furthermore: We still miss checks for escaping references to the array base pointers. A future commit will add the missing escape-checks to stay correct in those cases. The expansion is still locked behind a CLI-Option and should not yet be used. Patch contributed by: Nicholas Bonfante <bonfante.nicolas@gmail.com> Reviewers: simbuerg, Meinersbur, bollu Reviewed By: Meinersbur Subscribers: mgorny, llvm-commits, pollydev Differential Revision: https://reviews.llvm.org/D34982 llvm-svn: 310304
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud