search for: cmp14

Displaying 9 results from an estimated 9 matches for "cmp14".

Did you mean: cmp1
2013 Oct 30
2
[LLVMdev] loop vectorizer
..., float* %arrayidx11, align 4 to store float %add14, float* %arrayidx15, align 4: ((4 * %add8)<nsw> + (-4 * %add2)) Non-consecutive pointer access LV: We don't need a runtime memory check. LV: Can't vectorize due to memory conflicts LV: Not vectorizing. Here the code: entry: %cmp14 = icmp ult i64 %start, %end br i1 %cmp14, label %for.body, label %for.end for.body: ; preds = %entry, %for.body %i.015 = phi i64 [ %inc, %for.body ], [ %start, %entry ] %div = lshr i64 %i.015, 2 %mul = shl i64 %div, 3 %rem = and i64 %i.015, 3...
2013 Jul 05
0
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
On 07/04/2013 01:39 PM, Stéphane Letz wrote: > Hi, > > Our DSL can generate C or directly generate LLVM IR. With LLVM 3.3, we can vectorize the C produced code using clang with -O3, or clang with -O1 then opt -O3 -vectorize-loops. But the same program generating LLVM IR version cannot be vectorized with opt -O3 -vectorize-loops. So our guess is that our generated LLVM IR lacks some
2013 Jul 04
3
[LLVMdev] Enabling vectorization with LLVM 3.3 for a DSL emitting LLVM IR
Hi, Our DSL can generate C or directly generate LLVM IR. With LLVM 3.3, we can vectorize the C produced code using clang with -O3, or clang with -O1 then opt -O3 -vectorize-loops. But the same program generating LLVM IR version cannot be vectorized with opt -O3 -vectorize-loops. So our guess is that our generated LLVM IR lacks some informations that are needed by the vectorization passes to
2013 Oct 30
0
[LLVMdev] loop vectorizer
...Vectorizing a list of length = 2. SLP: Vectorizing a list of length = 2. SLP: Vectorizing a list of length = 2. IR produced: define void @_Z3barmmPfS_S_(i64 %start, i64 %end, float* noalias nocapture %c, float* noalias nocapture readonly %a, float* noalias nocapture readonly %b) #3 { entry: %cmp14 = icmp ult i64 %start, %end br i1 %cmp14, label %for.body, label %for.end for.body: ; preds = %entry, %for.body %i.015 = phi i64 [ %inc, %for.body ], [ %start, %entry ] %div = lshr i64 %i.015, 2 %mul = shl i64 %div, 3 %rem = and i64 %i.015, 3...
2013 Oct 30
0
[LLVMdev] loop vectorizer
...float %add14, float* %arrayidx15, align 4: ((4 * %add8)<nsw> + (-4 * %add2)) > Non-consecutive pointer access > LV: We don't need a runtime memory check. > LV: Can't vectorize due to memory conflicts > LV: Not vectorizing. > > Here the code: > > entry: > %cmp14 = icmp ult i64 %start, %end > br i1 %cmp14, label %for.body, label %for.end > > for.body: ; preds = %entry, %for.body > %i.015 = phi i64 [ %inc, %for.body ], [ %start, %entry ] > %div = lshr i64 %i.015, 2 > %mul = shl i64 %div, 3 >...
2013 Oct 30
3
[LLVMdev] loop vectorizer
----- Original Message ----- > > > I ran the BB vectorizer as I guess this is the SLP vectorizer. No, while the BB vectorizer is doing a form of SLP vectorization, there is a separate SLP vectorization pass which uses a different algorithm. You can pass -vectorize-slp to opt. -Hal > > BBV: using target information > BBV: fusing loop #1 for for.body in _Z3barmmPfS_S_...
2013 Oct 30
2
[LLVMdev] loop vectorizer
...t; SLP: Vectorizing a list of length = 2. > SLP: Vectorizing a list of length = 2. > > IR produced: > > define void @_Z3barmmPfS_S_(i64 %start, i64 %end, float* noalias nocapture %c, float* noalias nocapture readonly %a, float* noalias nocapture readonly %b) #3 { > entry: > %cmp14 = icmp ult i64 %start, %end > br i1 %cmp14, label %for.body, label %for.end > > for.body: ; preds = %entry, %for.body > %i.015 = phi i64 [ %inc, %for.body ], [ %start, %entry ] > %div = lshr i64 %i.015, 2 > %mul = shl i64 %div, 3 >...
2013 Oct 30
0
[LLVMdev] loop vectorizer
...of length = 2. >> SLP: Vectorizing a list of length = 2. >> >> IR produced: >> >> define void @_Z3barmmPfS_S_(i64 %start, i64 %end, float* noalias nocapture %c, float* noalias nocapture readonly %a, float* noalias nocapture readonly %b) #3 { >> entry: >> %cmp14 = icmp ult i64 %start, %end >> br i1 %cmp14, label %for.body, label %for.end >> >> for.body: ; preds = %entry, %for.body >> %i.015 = phi i64 [ %inc, %for.body ], [ %start, %entry ] >> %div = lshr i64 %i.015, 2 >> %m...
2013 Feb 14
1
[LLVMdev] LiveIntervals analysis problem
...16* %incdec.ptr.9.i.i, align 2, !tbaa !5 %285 = load i16* %incdec.ptr1.10.i.i, align 2, !tbaa !5 store i16 %285, i16* %incdec.ptr.10.i.i, align 2, !tbaa !5 store i16 0, i16* %arrayidx147.i, align 2, !tbaa !5 %sub191.i = add nsw i32 %expon.5984.i, -1 %inc193.i = add nsw i32 %i.0983.i, 1 %cmp144.i = icmp slt i32 %inc193.i, 43 br i1 %cmp144.i, label %for.body146.i, label %for.end194.i for.end194.i: ; preds = %if.end188.i, %while.end175.i, %for.body146.i %expon.5.lcssa.i = phi i32 [ %expon.5984.i, %while.end175.i ], [ %expon.5984.i, %for.body146.i ],...