diff options
author | Siddharth Bhat <siddu.druid@gmail.com> | 2017-05-19 15:07:45 +0000 |
---|---|---|
committer | Siddharth Bhat <siddu.druid@gmail.com> | 2017-05-19 15:07:45 +0000 |
commit | b7f68b8c9e2c499d04a9cc8d8cf4df783ae34bff (patch) | |
tree | dee824225e7f63b3efea13b1d36a2fc9d54bbc11 /polly/test/ScopInfo | |
parent | ce941c9c380d37a670e3cd3e283ae4070a52859f (diff) | |
download | bcm5719-llvm-b7f68b8c9e2c499d04a9cc8d8cf4df783ae34bff.tar.gz bcm5719-llvm-b7f68b8c9e2c499d04a9cc8d8cf4df783ae34bff.zip |
[Fortran Support] Materialize outermost dimension for Fortran array.
- We use the outermost dimension of arrays since we need this
information to generate GPU transfers.
- In general, if we do not know the outermost dimension of the array
(because the indexing expression is non-affine, for example) then we
simply cannot generate transfer code.
- However, for Fortran arrays, we can use the Fortran array
representation which stores the dimensions of all arrays.
- This patch uses the Fortran array representation to generate code that
computes the outermost dimension size.
Differential Revision: https://reviews.llvm.org/D32967
llvm-svn: 303429
Diffstat (limited to 'polly/test/ScopInfo')
-rw-r--r-- | polly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/polly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll b/polly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll index f291d1d2152..480eb2ed577 100644 --- a/polly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll +++ b/polly/test/ScopInfo/fortran_array_param_nonmalloc_nonvectored_read_and_write.ll @@ -88,6 +88,6 @@ return: ; preds = %return.loopexit, %e } ; CHECK: ReadAccess := [Reduction Type: NONE] [Fortran array descriptor: xs] [Scalar: 0] -; CHECK-NEXT: [p_0_loaded_from_n] -> { Stmt_9[i0] -> MemRef0[o0] }; +; CHECK-NEXT: [p_0_loaded_from_n, MemRef0_fortranarr_size, MemRef1_fortranarr_size] -> { Stmt_9[i0] -> MemRef0[o0] }; ; CHECK-NEXT: MayWriteAccess := [Reduction Type: NONE] [Fortran array descriptor: ys] [Scalar: 0] -; CHECK-NEXT: [p_0_loaded_from_n] -> { Stmt_9[i0] -> MemRef1[o0] }; +; CHECK-NEXT: [p_0_loaded_from_n, MemRef0_fortranarr_size, MemRef1_fortranarr_size] -> { Stmt_9[i0] -> MemRef1[o0] }; |