Displaying 3 results from an estimated 3 matches for "multidim_ivs_and_integer_offsets_3d".
2012 Sep 12
1
[LLVMdev] Multi-dimensional array accesses in LLVM-IR | Thoughts
...izes are the only ones that
> appear on the right hand sides ('8 * %m * %o' and '8 * %o').
I guess this is the key observation. When we have a multi-dimensional access,
the coefficients of the iterators have to form an increasing chain w.r.t.
divisibility. For the example
> multidim_ivs_and_integer_offsets_3d.ll:
> ; void foo(long n, long m, long o, double A[n][m][o]) {
> ; for (long i = 0; i < n; i++)
> ; for (long j = 0; j < m; j++)
> ; for (long k = 0; k < o; k++)
> ; A[i+3][j-4][k+7] = 1.0;
> ; }
with access function
> ; {{{(56 + (8 * (-4 + (3 *...
2012 Sep 12
0
[LLVMdev] Multi-dimensional array accesses in LLVM-IR | Thoughts
...on the right hand sides ('8 * %m * %o' and '8
> > * %o').
>
> I guess this is the key observation. When we have a multi-dimensional
> access, the coefficients of the iterators have to form an increasing
> chain w.r.t. divisibility. For the example
>
> > multidim_ivs_and_integer_offsets_3d.ll:
> > ; void foo(long n, long m, long o, double A[n][m][o]) {
> > ; for (long i = 0; i < n; i++)
> > ; for (long j = 0; j < m; j++)
> > ; for (long k = 0; k < o; k++)
> > ; A[i+3][j-4][k+7] = 1.0;
> > ; }
>
> with access fun...
2012 Sep 12
5
[LLVMdev] Multi-dimensional array accesses in LLVM-IR | Thoughts
...; }
; Access function: {{{0,+,(%m * %o)}<%for.i>,+,%o}<%for.j>,+,1}<nw><%for.k>
multidim_ivs_and_integer_offsets_3d.ll:
; void foo(long n, long m, long o, double A[n][m][o]) {
; for (long i = 0; i < n; i++)
; for (long j = 0; j < m; j++)
; for (long k = 0; k < o; k++)...