search for: cmp4

Displaying 20 results from an estimated 37 matches for "cmp4".

Did you mean: cmp
2013 Aug 14
2
[LLVMdev] BranchInst comparison
Hi All, How could I use BranchInst to implement for example br label %if.else7 br label %if.then5 br i1 %cmp4, label %if.then5, label %if.else7 I can use BranchInst for only one instruction but how could I compare between two branches Thanks -- * Rasha Salah Omar Msc Student at E-JUST Demonestrator at Faculty of Computers and Informatics Benha University* * e-mail: rasha.omar a...
2013 Aug 14
3
[LLVMdev] BranchInst comparison
Your question isn't clear; please restate what specifically isn't working. -Eli On Wed, Aug 14, 2013 at 11:57 AM, Rasha Omar <rasha.sala7 at gmail.com> wrote: > or like this > > %cmp4 = icmp eq i32 %rem, 0 > > br i1 %cmp4, label %if.then5, label %if.else7 > > > On 14 August 2013 20:08, Rasha Omar <rasha.sala7 at gmail.com> wrote: > >> Hi All, >> >> How could I use BranchInst to implement for example >> br label %if.else7 >&gt...
2013 Aug 14
0
[LLVMdev] BranchInst comparison
or like this %cmp4 = icmp eq i32 %rem, 0 br i1 %cmp4, label %if.then5, label %if.else7 On 14 August 2013 20:08, Rasha Omar <rasha.sala7 at gmail.com> wrote: > Hi All, > > How could I use BranchInst to implement for example > br label %if.else7 > br label %if.then5 > br i1 %cmp4, labe...
2020 Feb 19
2
i1 true ^= -1 in DAG matcher?
Hello, It looks like that in the DAG matcher, the DAG has a xor with '-1' for checking a true value vector for instance, %cmp4.i = icmp ne <8 x i32> %6, %5 %7 = xor <8 x i1> %cmp4.i, <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true> [use of %7] results in vector of '-1' in the DAG. This also seems the reason why LLVM's vnot PatFrag doesn't match in this case. I'...
2015 Dec 09
2
persuading licm to do the right thing
...iles, no surprise. The first looks like double *v; double zap(long n) { double sum = 0; for (long i = 0; i < n; i++) sum += v[i]; return sum; } yielding @v = common global double* null, align 8 ; Function Attrs: nounwind readonly uwtable define double @zap(i64 %n) #0 { entry: %cmp4 = icmp sgt i64 %n, 0 br i1 %cmp4, label %for.body.lr.ph, label %for.end for.body.lr.ph: ; preds = %entry %0 = load double** @v, align 8, !tbaa !1 br label %for.body for.body: ; preds = %for.body, % for.body.lr.ph %i...
2013 Aug 15
0
[LLVMdev] BranchInst comparison
...Eli Friedman <eli.friedman at gmail.com> wrote: > Your question isn't clear; please restate what specifically isn't working. > > -Eli > > On Wed, Aug 14, 2013 at 11:57 AM, Rasha Omar <rasha.sala7 at gmail.com>wrote: > >> or like this >> >> %cmp4 = icmp eq i32 %rem, 0 >> >> br i1 %cmp4, label %if.then5, label %if.else7 >> >> >> On 14 August 2013 20:08, Rasha Omar <rasha.sala7 at gmail.com> wrote: >> >>> Hi All, >>> >>> How could I use BranchInst to implement for example...
2015 Dec 09
2
persuading licm to do the right thing
...) { > double sum = 0; > for (long i = 0; i < n; i++) > sum += v[i]; > return sum; > } > > > yielding > > @v = common global double* null, align 8 > > ; Function Attrs: nounwind readonly uwtable > define double @zap(i64 %n) #0 { > entry: > %cmp4 = icmp sgt i64 %n, 0 > br i1 %cmp4, label %for.body.lr.ph, label %for.end > > for.body.lr.ph: ; preds = %entry > %0 = load double** @v, align 8, !tbaa !1 > br label %for.body > > for.body: ; preds =...
2020 Feb 19
2
i1 true ^= -1 in DAG matcher?
...drik, > > On Wed, 19 Feb 2020 at 11:01, Hendrik Greving via llvm-dev > <llvm-dev at lists.llvm.org> wrote: > > It looks like that in the DAG matcher, the DAG has a xor with '-1' for > checking a true value vector > > > > for instance, > > > > %cmp4.i = icmp ne <8 x i32> %6, %5 > > %7 = xor <8 x i1> %cmp4.i, <i1 true, i1 true, i1 true, i1 true, i1 true, > i1 true, i1 true, i1 true> > > [use of %7] > > > > results in vector of '-1' in the DAG. > > This should be controlled by TargetLow...
2015 Dec 09
2
persuading licm to do the right thing
...< n; i++) >> sum += v[i]; >> return sum; >> } >> >> >> yielding >> >> @v = common global double* null, align 8 >> >> ; Function Attrs: nounwind readonly uwtable >> define double @zap(i64 %n) #0 { >> entry: >> %cmp4 = icmp sgt i64 %n, 0 >> br i1 %cmp4, label %for.body.lr.ph, label %for.end >> >> for.body.lr.ph: ; preds = %entry >> %0 = load double** @v, align 8, !tbaa !1 >> br label %for.body >> >> for.body:...
2015 Dec 09
2
persuading licm to do the right thing
...> return sum; >>> } >>> >>> >>> yielding >>> >>> @v = common global double* null, align 8 >>> >>> ; Function Attrs: nounwind readonly uwtable >>> define double @zap(i64 %n) #0 { >>> entry: >>> %cmp4 = icmp sgt i64 %n, 0 >>> br i1 %cmp4, label %for.body.lr.ph, label %for.end >>> >>> for.body.lr.ph: ; preds = %entry >>> %0 = load double** @v, align 8, !tbaa !1 >>> br label %for.body >>> >>> for...
2020 Feb 19
2
i1 true ^= -1 in DAG matcher?
...eving via llvm-dev >>> <llvm-dev at lists.llvm.org> wrote: >>> > It looks like that in the DAG matcher, the DAG has a xor with '-1' for >>> checking a true value vector >>> > >>> > for instance, >>> > >>> > %cmp4.i = icmp ne <8 x i32> %6, %5 >>> > %7 = xor <8 x i1> %cmp4.i, <i1 true, i1 true, i1 true, i1 true, i1 >>> true, i1 true, i1 true, i1 true> >>> > [use of %7] >>> > >>> > results in vector of '-1' in the DAG. >>...
2014 Oct 24
2
[LLVMdev] Virtual register def doesn't dominate all uses
..., Boris ----8<---- C source-code: int simple_loop(int end_loop_index) { int sum = 0; for(int i = 0; i < end_loop_index; i++) { sum += i; } return(sum); } LLVm byte-code disassembly: ; Function Attrs: nounwind readnone define i32 @simple_loop(i32 %end_loop_index) #1 { entry: %cmp4 = icmp sgt i32 %end_loop_index, 0 br i1 %cmp4, label %for.cond.for.end_crit_edge, label %for.end for.cond.for.end_crit_edge: ; preds = %entry %0 = add i32 %end_loop_index, -2 %1 = add i32 %end_loop_index, -1 %2 = zext i32 %0 to i33 %3 = zext i32 %1 to i33 %4 = mul...
2012 Apr 23
0
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi, When I write various test cases and explore how they're handled by the code in LoopDependenceAnalysis::analysePair, I'm surprised. This loop collects pairs of subscripts from the source and destination refs. * // Collect GEP operand pairs (FIXME: use GetGEPOperands from BasicAA), adding* * // trailing zeroes to the smaller GEP, if needed.* * GEPOpdsTy destOpds, srcOpds;* *
2015 Dec 09
3
persuading licm to do the right thing
...t;>> >>>> >>>> yielding >>>> >>>> @v = common global double* null, align 8 >>>> >>>> ; Function Attrs: nounwind readonly uwtable >>>> define double @zap(i64 %n) #0 { >>>> entry: >>>> %cmp4 = icmp sgt i64 %n, 0 >>>> br i1 %cmp4, label %for.body.lr.ph, label %for.end >>>> >>>> for.body.lr.ph: ; preds = %entry >>>> %0 = load double** @v, align 8, !tbaa !1 >>>> br label %for.body >>&...
2013 Dec 31
4
[LLVMdev] [Patch][RFC] Change R600 data layout
...st go ahead and promote the variable i to i64. Which would be all good if i64 was actually a native type. By changing the native types to n32 *only*. clang emits better code for r600, such as ; Function Attrs: nounwind define void @if_eq(i64 addrspace(1)* nocapture %out, i32 %arg0) #0 { entry: %cmp4 = icmp eq i32 %arg0, 0 br i1 %cmp4, label %for.end, label %for.body for.body: ; preds = %for.body, %entry %i.05 = phi i32 [ %inc, %for.body ], [ 0, %entry ] %conv = sext i32 %i.05 to i64 %arrayidx = getelementptr inbounds i64 addrspace(1)* %out, i64...
2013 Oct 09
4
[LLVMdev] Related constant folding of floating point values
...onv, 8.100000e+00 %cmp = fcmp oge double %sub, 0x3E8000000102F4FD br i1 %cmp, label %if.then, label %lor.lhs.false lor.lhs.false: ; preds = %entry %1 = load float* %a, align 4 %conv2 = fpext float %1 to double %sub3 = fsub double %conv2, 8.100000e+00 %cmp4 = fcmp ole double %sub3, 0xBE8000000102F4FD br i1 %cmp4, label %if.then, label %if.else ... during the transformation the %conv is replaced with "double 0x4020333340000000" and then the result of comparison is resolved incorrectly. Is not this a bug? I have also searched for a simila...
2014 Oct 29
2
[LLVMdev] Virtual register def doesn't dominate all uses
...t; for(int i = 0; i < end_loop_index; i++) { >> sum += i; >> } >> return(sum); >> } >> >> >> LLVm byte-code disassembly: >> ; Function Attrs: nounwind readnone >> define i32 @simple_loop(i32 %end_loop_index) #1 { >> entry: >> %cmp4 = icmp sgt i32 %end_loop_index, 0 >> br i1 %cmp4, label %for.cond.for.end_crit_edge, label %for.end >> >> for.cond.for.end_crit_edge: ; preds = %entry >> %0 = add i32 %end_loop_index, -2 >> %1 = add i32 %end_loop_index, -1 >> %2 = zext i32...
2015 Dec 09
3
persuading licm to do the right thing
...>>>> yielding >>>>> >>>>> @v = common global double* null, align 8 >>>>> >>>>> ; Function Attrs: nounwind readonly uwtable >>>>> define double @zap(i64 %n) #0 { >>>>> entry: >>>>> %cmp4 = icmp sgt i64 %n, 0 >>>>> br i1 %cmp4, label %for.body.lr.ph, label %for.end >>>>> >>>>> for.body.lr.ph: ; preds = %entry >>>>> %0 = load double** @v, align 8, !tbaa !1 >>>>> br label...
2014 Oct 31
2
[LLVMdev] Virtual register def doesn't dominate all uses
...;> } >>>> return(sum); >>>> } >>>> >>>> >>>> LLVm byte-code disassembly: >>>> ; Function Attrs: nounwind readnone >>>> define i32 @simple_loop(i32 %end_loop_index) #1 { >>>> entry: >>>> %cmp4 = icmp sgt i32 %end_loop_index, 0 >>>> br i1 %cmp4, label %for.cond.for.end_crit_edge, label %for.end >>>> >>>> for.cond.for.end_crit_edge: ; preds = %entry >>>> %0 = add i32 %end_loop_index, -2 >>>> %1 = add i32 %en...
2012 Apr 12
6
[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch
Hi, Here is a preliminary (monolithic) version you can comment on. This is still buggy, however, and I'll be testing for and fixing bugs over the next few days. I've used your version of the strong siv test. Thanks! -- Sanjoy Das. http://playingwithpointers.com -------------- next part -------------- A non-text attachment was scrubbed... Name: patch.diff Type: application/octet-stream