Displaying 2 results from an estimated 2 matches for "add109".
Did you mean:
add10
2012 May 04
3
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
...*void z1(long int n, long int A[][100][100]) {
** for (long int i = 0; i < n; i++)
** for (long int j = 0; j < n; j++)
** for (long int k = 0; k < n; k++)
** **A[1 + 2*i][3 + 4*j][5 + 6*k] = 0;*
}
we'll see
*%arrayidx12 = getelementptr inbounds [100 x [100 x i64]]* %A, i64 %add109,
i64 %add88, i64 %add*
*store i64 0, i64* %arrayidx12, align 8*
*{1,+,2}<%for.cond1.preheader>*
*{3,+,4}<%for.cond4.preheader>*
*{5,+,6}<%for.body6>*
which looks great; 3 simple indices, no problem.
But consider this:
*void z2(long int n, long int A[][n][n][100][100]) {*
* for...
2012 May 04
3
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
...for (long int i = 0; i < n; i++)
>> ** for (long int j = 0; j < n; j++)
>> ** for (long int k = 0; k < n; k++)
>> ****A[1 + 2*i][3 + 4*j][5 + 6*k] = 0;*
>> }
>>
>> *%arrayidx12 = getelementptr inbounds [100 x [100 x i64]]* %A, i64 %add109,
>
>
> Here neither.
Right again, another simple example. In both cases, we've basically
got a vector of fixed-sized elements. I'll note however, that because
of the general weakness of GEPs, I'm going to have to try and
delinearize everything that comes at me, 'cause I...