Displaying 20 results from an estimated 21 matches for "arrayidx14".
Did you mean:
arrayidx1
2017 May 19
4
memcmp code fragment
...d: ; preds = %entry
%inc = add i32 %i1, 1
%inc10 = add i32 %i2, 1
%idxprom11 = zext i32 %inc to i64
%arrayidx12 = getelementptr inbounds i8, i8* %block, i64 %idxprom11
%2 = load i8, i8* %arrayidx12, align 1
%idxprom13 = zext i32 %inc10 to i64
%arrayidx14 = getelementptr inbounds i8, i8* %block, i64 %idxprom13
%3 = load i8, i8* %arrayidx14, align 1
%cmp17 = icmp eq i8 %2, %3
br i1 %cmp17, label %if.end25, label %if.then19
if.then19: ; preds = %if.end
%cmp22 = icmp ugt i8 %2, %3
br label %return
..
....
2017 Dec 19
4
MemorySSA question
...yidx10 = getelementptr inbounds i32, i32* %a, i64 %indvars.iv
*; MemoryUse(4)*
%5 = load i32, i32* %arrayidx10, align 4, !tbaa !2
%arrayidx12 = getelementptr inbounds i32, i32* %d, i64 %indvars.iv
; MemoryUse(4)
%6 = load i32, i32* %arrayidx12, align 4, !tbaa !2
%mul = mul nsw i32 %6, %5
%arrayidx14 = getelementptr inbounds i32, i32* %e, i64 %indvars.iv
*; 2 = MemoryDef(4)*
store i32 %mul, i32* %arrayidx14, align 4, !tbaa !2
%indvars.iv.next = add nuw nsw i64 %indvars.iv, 5
%cmp7 = icmp slt i64 %indvars.iv.next, %4
br i1 %cmp7, label %for.body8, label %for.end17
I have highlighted t...
2014 Sep 18
2
[LLVMdev] [Vectorization] Mis match in code generated
...> %add7, %5 %arrayidx10 = getelementptr inbounds i32* %a, i32 6 %6 = load
> i32* %arrayidx10, align 4, !tbaa !1 %add11 = add nsw i32 %add9, %6
> %arrayidx12 = getelementptr inbounds i32* %a, i32 7 %7 = load i32*
> %arrayidx12, align 4, !tbaa !1 %add13 = add nsw i32 %add11, %7
> %arrayidx14 = getelementptr inbounds i32* %a, i32 8 %8 = load i32*
> %arrayidx14, align 4, !tbaa !1 %add15 = add nsw i32 %add13, %8
> %arrayidx16 = getelementptr inbounds i32* %a, i32 9 %9 = load i32*
> %arrayidx16, align 4, !tbaa !1 %add17 = add nsw i32 %add15, %9
> %arrayidx18 = getelementptr...
2014 Sep 19
3
[LLVMdev] [Vectorization] Mis match in code generated
...9 = add nsw i32 %add7, %5
%arrayidx10 = getelementptr inbounds i32* %a, i32 6
%6 = load i32* %arrayidx10, align 4, !tbaa !1
%add11 = add nsw i32 %add9, %6
%arrayidx12 = getelementptr inbounds i32* %a, i32 7
%7 = load i32* %arrayidx12, align 4, !tbaa !1
%add13 = add nsw i32 %add11, %7
%arrayidx14 = getelementptr inbounds i32* %a, i32 8
%8 = load i32* %arrayidx14, align 4, !tbaa !1
%add15 = add nsw i32 %add13, %8
%arrayidx16 = getelementptr inbounds i32* %a, i32 9
%9 = load i32* %arrayidx16, align 4, !tbaa !1
%add17 = add nsw i32 %add15, %9
%arrayidx18 = getelementptr inbounds i3...
2014 Sep 18
2
[LLVMdev] [Vectorization] Mis match in code generated
...!1 %add9 = add nsw i32
%add7, %5 %arrayidx10 = getelementptr inbounds i32* %a, i32 6 %6 = load
i32* %arrayidx10, align 4, !tbaa !1 %add11 = add nsw i32 %add9, %6
%arrayidx12 = getelementptr inbounds i32* %a, i32 7 %7 = load i32*
%arrayidx12, align 4, !tbaa !1 %add13 = add nsw i32 %add11, %7
%arrayidx14 = getelementptr inbounds i32* %a, i32 8 %8 = load i32*
%arrayidx14, align 4, !tbaa !1 %add15 = add nsw i32 %add13, %8
%arrayidx16 = getelementptr inbounds i32* %a, i32 9 %9 = load i32*
%arrayidx16, align 4, !tbaa !1 %add17 = add nsw i32 %add15, %9
%arrayidx18 = getelementptr inbounds i32* %a, i...
2013 Nov 08
1
[LLVMdev] loop vectorizer and storing to uniform addresses
...%arrayidx10 = getelementptr inbounds [4 x float]* %sum, i32 0, i64 1
%14 = load float* %arrayidx10, align 4
%add11 = fadd float %13, %14
%arrayidx12 = getelementptr inbounds [4 x float]* %sum, i32 0, i64 2
%15 = load float* %arrayidx12, align 4
%add13 = fadd float %add11, %15
%arrayidx14 = getelementptr inbounds [4 x float]* %sum, i32 0, i64 3
%16 = load float* %arrayidx14, align 4
%add15 = fadd float %add13, %16
ret float %add15
}
Thus, the inner loop is not unrolled.
opt -basicaa -loop-vectorize -debug-only=loop-vectorize
-vectorizer-min-trip-count=4 -S sum.ll
LV:...
2013 Nov 01
2
[LLVMdev] loop vectorizer: this loop is not worth vectorizing
...c19, %for.body4 ], [ %div,
%for.body4.preheader ]
%mul5 = shl i64 %storemerge10, 3
%add82 = or i64 %mul5, 4
%arrayidx = getelementptr inbounds float* %a, i64 %mul5
%arrayidx11 = getelementptr inbounds float* %b, i64 %mul5
%arrayidx13 = getelementptr inbounds float* %c, i64 %mul5
%arrayidx14 = getelementptr inbounds float* %a, i64 %add82
%arrayidx15 = getelementptr inbounds float* %b, i64 %add82
%arrayidx17 = getelementptr inbounds float* %c, i64 %add82
%0 = bitcast float* %arrayidx to <4 x float>*
%1 = load <4 x float>* %0, align 4
%2 = bitcast float* %array...
2013 Oct 28
2
[LLVMdev] loop vectorizer says Bad stride
...addr, align 8
%arrayidx10 = getelementptr inbounds float* %15, i64 %idxprom9
%16 = load float* %arrayidx10, align 4
%add11 = fadd float %13, %16
%17 = load i32* %i, align 4
%add12 = add nsw i32 256, %17
%idxprom13 = sext i32 %add12 to i64
%18 = load float** %c.addr, align 8
%arrayidx14 = getelementptr inbounds float* %18, i64 %idxprom13
store float %add11, float* %arrayidx14, align 4
br label %for.inc
for.inc: ; preds = %for.body
%19 = load i32* %i, align 4
%inc = add nsw i32 %19, 1
store i32 %inc, i32* %i, align 4
br la...
2014 Nov 10
2
[LLVMdev] [Vectorization] Mis match in code generated
...> %6 = load i32* %arrayidx10, align 4, !tbaa !1
> > > %add11 = add nsw i32 %add9, %6
> > > %arrayidx12 = getelementptr inbounds i32* %a, i32 7
> > > %7 = load i32* %arrayidx12, align 4, !tbaa !1
> > > %add13 = add nsw i32 %add11, %7
> > > %arrayidx14 = getelementptr inbounds i32* %a, i32 8
> > > %8 = load i32* %arrayidx14, align 4, !tbaa !1
> > > %add15 = add nsw i32 %add13, %8
> > > %arrayidx16 = getelementptr inbounds i32* %a, i32 9
> > > %9 = load i32* %arrayidx16, align 4, !tbaa !1
> > >...
2017 Dec 19
2
MemorySSA question
...gt;> *; MemoryUse(4)*
>> %5 = load i32, i32* %arrayidx10, align 4, !tbaa !2
>> %arrayidx12 = getelementptr inbounds i32, i32* %d, i64 %indvars.iv
>> ; MemoryUse(4)
>> %6 = load i32, i32* %arrayidx12, align 4, !tbaa !2
>> %mul = mul nsw i32 %6, %5
>> %arrayidx14 = getelementptr inbounds i32, i32* %e, i64 %indvars.iv
>> *; 2 = MemoryDef(4)*
>> store i32 %mul, i32* %arrayidx14, align 4, !tbaa !2
>> %indvars.iv.next = add nuw nsw i64 %indvars.iv, 5
>> %cmp7 = icmp slt i64 %indvars.iv.next, %4
>> br i1 %cmp7, label %for.bo...
2013 Oct 28
2
[LLVMdev] Loop vectorizer dosen't find loop bounds
...unidentified read ptr: float* %a
LV: Found an unidentified read ptr: float* %b
LV: Found an unidentified read ptr: float* %a
LV: Found an unidentified read ptr: float* %b
LV: Found a runtime check ptr: %arrayidx4 = getelementptr inbounds
float* %c, i64 %indvars.iv
LV: Found a runtime check ptr: %arrayidx14 = getelementptr inbounds
float* %c, i64 %2
LV: Found a runtime check ptr: %arrayidx = getelementptr inbounds
float* %a, i64 %indvars.iv
LV: Found a runtime check ptr: %arrayidx2 = getelementptr inbounds
float* %b, i64 %indvars.iv
LV: Found a runtime check ptr: %arrayidx7 = getelementptr inbou...
2013 Oct 28
0
[LLVMdev] loop vectorizer says Bad stride
...ayidx10 = getelementptr inbounds float* %15, i64 %idxprom9
> %16 = load float* %arrayidx10, align 4
> %add11 = fadd float %13, %16
> %17 = load i32* %i, align 4
> %add12 = add nsw i32 256, %17
> %idxprom13 = sext i32 %add12 to i64
> %18 = load float** %c.addr, align 8
> %arrayidx14 = getelementptr inbounds float* %18, i64 %idxprom13
> store float %add11, float* %arrayidx14, align 4
> br label %for.inc
>
> for.inc: ; preds = %for.body
> %19 = load i32* %i, align 4
> %inc = add nsw i32 %19, 1
> store i32 %inc,...
2013 Nov 01
0
[LLVMdev] loop vectorizer: this loop is not worth vectorizing
...gt; %for.body4.preheader ]
> %mul5 = shl i64 %storemerge10, 3
> %add82 = or i64 %mul5, 4
> %arrayidx = getelementptr inbounds float* %a, i64 %mul5
> %arrayidx11 = getelementptr inbounds float* %b, i64 %mul5
> %arrayidx13 = getelementptr inbounds float* %c, i64 %mul5
> %arrayidx14 = getelementptr inbounds float* %a, i64 %add82
> %arrayidx15 = getelementptr inbounds float* %b, i64 %add82
> %arrayidx17 = getelementptr inbounds float* %c, i64 %add82
> %0 = bitcast float* %arrayidx to <4 x float>*
> %1 = load <4 x float>* %0, align 4
> %2 = b...
2013 Oct 28
0
[LLVMdev] Loop vectorizer dosen't find loop bounds
...%a
> LV: Found an unidentified read ptr: float* %b
> LV: Found an unidentified read ptr: float* %a
> LV: Found an unidentified read ptr: float* %b
> LV: Found a runtime check ptr: %arrayidx4 = getelementptr inbounds
> float* %c, i64 %indvars.iv
> LV: Found a runtime check ptr: %arrayidx14 = getelementptr inbounds
> float* %c, i64 %2
> LV: Found a runtime check ptr: %arrayidx = getelementptr inbounds
> float* %a, i64 %indvars.iv
> LV: Found a runtime check ptr: %arrayidx2 = getelementptr inbounds
> float* %b, i64 %indvars.iv
> LV: Found a runtime check ptr: %arra...
2013 Nov 08
0
[LLVMdev] loop vectorizer and storing to uniform addresses
On 7 November 2013 17:18, Frank Winter <fwinter at jlab.org> wrote:
> LV: We don't allow storing to uniform addresses
>
This is triggering because it didn't recognize as a reduction variable
during the canVectorizeInstrs() but did recognize that sum[q] is loop
invariant in canVectorizeMemory().
I'm guessing the nested loop was unrolled because of the low trip-count,
and
2013 Oct 28
2
[LLVMdev] Loop vectorizer dosen't find loop bounds
...n unidentified read ptr: float* %b
>> LV: Found an unidentified read ptr: float* %a
>> LV: Found an unidentified read ptr: float* %b
>> LV: Found a runtime check ptr: %arrayidx4 = getelementptr inbounds
>> float* %c, i64 %indvars.iv
>> LV: Found a runtime check ptr: %arrayidx14 = getelementptr inbounds
>> float* %c, i64 %2
>> LV: Found a runtime check ptr: %arrayidx = getelementptr inbounds
>> float* %a, i64 %indvars.iv
>> LV: Found a runtime check ptr: %arrayidx2 = getelementptr inbounds
>> float* %b, i64 %indvars.iv
>> LV: Found a r...
2013 Nov 08
3
[LLVMdev] loop vectorizer and storing to uniform addresses
I am trying my luck on this global reduction kernel:
float foo( int start , int end , float * A )
{
float sum[4] = {0.,0.,0.,0.};
for (int i = start ; i < end ; ++i ) {
for (int q = 0 ; q < 4 ; ++q )
sum[q] += A[i*4+q];
}
return sum[0]+sum[1]+sum[2]+sum[3];
}
LV: Checking a loop in "foo"
LV: Found a loop: for.cond1
LV: Found an induction variable.
LV: We
2013 Oct 28
0
[LLVMdev] Loop vectorizer dosen't find loop bounds
...>> LV: Found an unidentified read ptr: float* %a
> >> LV: Found an unidentified read ptr: float* %b
> >> LV: Found a runtime check ptr: %arrayidx4 = getelementptr
> >> inbounds
> >> float* %c, i64 %indvars.iv
> >> LV: Found a runtime check ptr: %arrayidx14 = getelementptr
> >> inbounds
> >> float* %c, i64 %2
> >> LV: Found a runtime check ptr: %arrayidx = getelementptr inbounds
> >> float* %a, i64 %indvars.iv
> >> LV: Found a runtime check ptr: %arrayidx2 = getelementptr
> >> inbounds
> >&...
2013 Oct 29
2
[LLVMdev] Loop vectorizer dosen't find loop bounds
...ound an unidentified read ptr: float* %a
>>>> LV: Found an unidentified read ptr: float* %b
>>>> LV: Found a runtime check ptr: %arrayidx4 = getelementptr
>>>> inbounds
>>>> float* %c, i64 %indvars.iv
>>>> LV: Found a runtime check ptr: %arrayidx14 = getelementptr
>>>> inbounds
>>>> float* %c, i64 %2
>>>> LV: Found a runtime check ptr: %arrayidx = getelementptr inbounds
>>>> float* %a, i64 %indvars.iv
>>>> LV: Found a runtime check ptr: %arrayidx2 = getelementptr
>>>> i...
2013 Oct 29
0
[LLVMdev] Loop vectorizer dosen't find loop bounds
...ptr: float* %a
> >>>> LV: Found an unidentified read ptr: float* %b
> >>>> LV: Found a runtime check ptr: %arrayidx4 = getelementptr
> >>>> inbounds
> >>>> float* %c, i64 %indvars.iv
> >>>> LV: Found a runtime check ptr: %arrayidx14 = getelementptr
> >>>> inbounds
> >>>> float* %c, i64 %2
> >>>> LV: Found a runtime check ptr: %arrayidx = getelementptr
> >>>> inbounds
> >>>> float* %a, i64 %indvars.iv
> >>>> LV: Found a runtime check ptr:...