Displaying 3 results from an estimated 3 matches for "arrayidx21".
Did you mean:
arrayidx2
2013 Nov 08
3
[LLVMdev] Loads moving across barriers
...= getelementptr <2 x float> addrspace(3)* %data0, i32 %tmp16
store <2 x float> %tmp10, <2 x float> addrspace(3)* %arrayidx17, align 8
br label %if.end
if.end: ; preds = %if.then, %entry
tail call void @__amdil_barrier_local() #0
%arrayidx21 = getelementptr <2 x float> addrspace(1)* %out, i32 %1
%tmp25 = load <2 x float> addrspace(3)* %arrayidx, align 8
store <2 x float> %tmp25, <2 x float> addrspace(1)* %arrayidx21, align 8
ret void
}
attributes #0 = { noduplicate nounwind }
attributes #1 = { nounwind re...
2012 May 04
0
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
Hi Preston,
On Fri, May 4, 2012 at 9:12 AM, Preston Briggs <preston.briggs at gmail.com> wrote:
>
> which produces
>
> %arrayidx24 = getelementptr inbounds [100 x [100 x i64]]* %A, i64
> %arrayidx21.sum, i64 %add1411, i64 %add
> store i64 0, i64* %arrayidx24, align 8
> {{{(5 + ((3 + %n) * %n)),+,(2 * %n * %n)}<%for.cond1.preheader>,+,(4 * %n)}<%for.cond4.preheader>,+,6}<%for.cond7.preheader>
This expression is not straight forward because llvm always fold the
loop invar...
2012 May 04
3
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
...int j = 0; j < n; j++)*
* for (long int k = 0; k < n; k++)*
* **for (long int l = 0; l < n; l++)*
* **for (long int m = 0; m < n; m++)*
* **A[1 + 2*i][3 + 4*j][5 + 6*k][7 + 8*l][9 + 10*m] = 0;*
}
which produces
*%arrayidx24 = getelementptr inbounds [100 x [100 x i64]]* %A, i64
%arrayidx21.sum, i64 %add1411, i64 %add*
*store i64 0, i64* %arrayidx24, align 8*
*{{{(5 + ((3 + %n) * %n)),+,(2 * %n * %n)}<%for.cond1.preheader>,+,(4 *
%n)}<%for.cond4.preheader>,+,6}<%for.cond7.preheader>*
*{7,+,8}<%for.cond10.preheader>*
*{9,+,10}<%for.body12>*
This is more...