Displaying 3 results from an estimated 3 matches for "dummy_sext".
2015 Jun 11
4
[LLVMdev] Question about NoWrap flag for SCEVAddRecExpr
...bb:
> br label %bb2
>
> bb1: ; preds = %bb2
> ret void
>
> bb2: ; preds = %bb2, %bb
> %k.01 = phi i64 [ 0, %bb ], [ %tmp15, %bb2 ]
> %tmp = shl nsw i64 %k.01, 1
> %dummy_sext = sext i64 %tmp to i128
> %tmp3 = getelementptr inbounds [1024 x float], [1024 x float]* @x,
> i64 0, i64 %tmp
> %tmp4 = load float, float* %tmp3, align 16, !tbaa !2
> %tmp5 = getelementptr inbounds [1024 x float], [1024 x float]* @y,
> i64 0, i64 %k.01
> %tmp6 = load...
2015 Jun 10
3
[LLVMdev] Question about NoWrap flag for SCEVAddRecExpr
I am testing vectorization on the following test case:
float x[1024], y[1024];
void myloop1() {
for (long int k = 0; k < 512; k++) {
x[2*k] = x[2*k]+y[k];
}
}
Vectorization failed due to "unsafe dependent memory operation". I traced
the LoopAccessAnalysis.cpp and found the reason is the NoWrapFlag for
SCEVAddRecExpr is not set and consequently the
2015 Jun 11
2
[LLVMdev] Question about NoWrap flag for SCEVAddRecExpr
...; preds = %bb2
>>> ret void
>>>
>>> bb2: ; preds = %bb2, %bb
>>> %k.01 = phi i64 [ 0, %bb ], [ %tmp15, %bb2 ]
>>> %tmp = shl nsw i64 %k.01, 1
>>> %dummy_sext = sext i64 %tmp to i128
>>> %tmp3 = getelementptr inbounds [1024 x float], [1024 x float]* @x,
>>> i64 0, i64 %tmp
>>> %tmp4 = load float, float* %tmp3, align 16, !tbaa !2
>>> %tmp5 = getelementptr inbounds [1024 x float], [1024 x float]* @y,
>>> i...