search for: multidim_ivs_and_integer_offsets_3d

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++)...