Displaying 20 results from an estimated 33 matches for "cmp3".
Did you mean:
cmp
2013 Feb 07
2
[LLVMdev] Rotated loop identification
...(i = 0; i < b/2; ++i) {
x(i);
}
return 0;
}
/////////////////////////////////////
the correspondent optimized IR is:
///////////////////////////////////////////////////////////////////////////////
define i32 @foo_int(i32 %a, i32 %b) nounwind uwtable {
entry:
%div = sdiv i32 %b, 2
%cmp3 = icmp sgt i32 %b, 1
br i1 %cmp3, label %for.body, label %for.end
for.body: ; preds = %entry, %for.body
%i.04 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
tail call void @x(i32 %i.04) nounwind
%inc = add nsw i32 %i.04, 1
%cmp = icmp slt i32 %inc, %...
2013 Feb 06
0
[LLVMdev] Rotated loop identification
On Feb 4, 2013, at 10:48 AM, Michele Scandale <michele.scandale at gmail.com> wrote:
> Dear all,
>
> I'm working on a late IR target dependent optimization on loops. A part of this
> optimization requires to derive "by hand" the trip-count expression of a given
> loop. In order to handle correctly these cases I need to check if the loop has
> an entry guard
2013 Feb 07
0
[LLVMdev] Rotated loop identification
...rn 0;
> }
> /////////////////////////////////////
>
> the correspondent optimized IR is:
>
> ///////////////////////////////////////////////////////////////////////////////
> define i32 @foo_int(i32 %a, i32 %b) nounwind uwtable {
> entry:
> %div = sdiv i32 %b, 2
> %cmp3 = icmp sgt i32 %b, 1
> br i1 %cmp3, label %for.body, label %for.end
>
> for.body: ; preds = %entry, %for.body
> %i.04 = phi i32 [ %inc, %for.body ], [ 0, %entry ]
> tail call void @x(i32 %i.04) nounwind
> %inc = add nsw i32 %i.04, 1
>...
2013 Jul 03
2
[LLVMdev] [Polly] Assert in Scope construction
...*Comp) const { ...
> ICmpInst *ICmp = dyn_cast<ICmpInst>(&V);
> assert(ICmp && "Only ICmpInst of constant as condition supported!"); ...
>
> The code it chokes on looks like this (see below). The problem is this
OR-ed
> compare result:
>
> %cmp3 = icmp sgt i32 %j.0, 2
> %cmp5 = icmp eq i32 %j.0, 1
> %or.cond13 = or i1 %cmp3, %cmp5
> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ==
> Value V
>
>
> My question - is th...
2013 Feb 04
3
[LLVMdev] Rotated loop identification
Dear all,
I'm working on a late IR target dependent optimization on loops. A part of this
optimization requires to derive "by hand" the trip-count expression of a given
loop. In order to handle correctly these cases I need to check if the loop has
an entry guard or not. The problem I have is that starting from the information
I derive during my analysis (initial IV value, last IV
2013 Jul 05
0
[LLVMdev] [Polly] Assert in Scope construction
...mp = dyn_cast<ICmpInst>(&V);
> > assert(ICmp && "Only ICmpInst of constant as condition supported!");
> ...
> >
> > The code it chokes on looks like this (see below). The problem is this
> OR-ed
> > compare result:
> >
> > %cmp3 = icmp sgt i32 %j.0, 2
> > %cmp5 = icmp eq i32 %j.0, 1
> > %or.cond13 = or i1 %cmp3, %cmp5
> > <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ==
> > Value V
> >
> &...
2012 Nov 26
2
[LLVMdev] RFC: change BoundsChecking.cpp to use address-based tests
...i64*
%ptr = getelementptr inbounds i64* %memobj, i64 %index
%4 = load i64* %ptr, align 8
Currently, the IR for bounds checking this load looks like this:
%size = mul i64 8, %elements
%offset = mul i64 %index, 8
%objsize = sub i64 %size, %offset
%cmp2 = icmp ult i64 %size, %offset
%cmp3 = icmp ult i64 %objsize, 8
%cmp1 = icmp slt i64 %offset, 0
%9 = or i1 %cmp2, %cmp3
%11 = or i1 %cmp1, %9
br i1 %11, label %trap, label %12
┆ ┆
│ │
╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┢━━━━━━━┪╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶
↑ ┃ ┃...
2017 Mar 01
2
error en el cambio de formato desde factor a numerico USANDO LAPPLY
...Simplemente eliminando esa segunda fila, las columnas acaban teniendo la
clase que deben..
#-------------------------------- Lectura del fichero de entrada sin
corregir -----
> head(datIn)
TIMESTAMP RECORD batt_volt WinVel WinDir Taire Haire BP_hPA cgr3_T_C
cgr3_T_K Lnet long_up_corr CMP3
1 TS RN volts mV mV c % hPA deg_C
NA NA W/m^2 W/m^2
2 2016-03-22 0.00 14.13 0.00 240.90 8.67 14.76 687.43 9.83
282.98 -141.02 222.56 767.82
3 2016-03-22 1.00 14.12 3.98 224.30 8.57 16.38 642.69 9.77
282.93 -140.14...
2012 Nov 26
0
[LLVMdev] RFC: change BoundsChecking.cpp to use address-based tests
...* %memobj, i64 %index
> %4 = load i64* %ptr, align 8
>
> Currently, the IR for bounds checking this load looks like this:
>
> %size = mul i64 8, %elements
> %offset = mul i64 %index, 8
> %objsize = sub i64 %size, %offset
>
> %cmp2 = icmp ult i64 %size, %offset
> %cmp3 = icmp ult i64 %objsize, 8
> %cmp1 = icmp slt i64 %offset, 0
>
> %9 = or i1 %cmp2, %cmp3
> %11 = or i1 %cmp1, %9
> br i1 %11, label %trap, label %12
>
> ┆ ┆
> │ │
> ╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴╴┢━━━━━━━┪╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶╶...
2013 Jul 02
0
[LLVMdev] [LNT] Question about results reliability in LNT infrustructure
On 07/01/2013 09:41 AM, Renato Golin wrote:
> On 1 July 2013 02:02, Chris Matthews <chris.matthews at apple.com> wrote:
>
>> One thing that LNT is doing to help “smooth” the results for you is by
>> presenting the min of the data at a particular revision, which (hopefully)
>> is approximating the actual runtime without noise.
>>
>
> That's an
2013 Jan 11
3
[LLVMdev] llvm get Value* iterators
...I
need to use the value %c in some computations.
First, I tried
for (llvm::Value::use_iterator VI=(*I1->getOperand(0)).use_begin(),
VE=(*I1->getOperand(0)).use_end(); VI != VE ; ++VI)
{
errs()<<"\n "<<**VI<<" \n";
//printed : %cmp3 = icmp ne i32 %3, 0
}
But it is not getting Value* fields. Also, it is printing only one VI per
for, so VI cannot increment.
Second, it is a solution of taking the output of errs() in a string and
parse the string for %c ? If so, how I can do it? I have problems while
trying to declare `stat...
2019 Aug 26
2
SCEV related question
...for (; i < 16; i++) {
a[i] = 1;
}
}
Here is the IR before the pass where I expect SCEV to return trip-count
value
; Function Attrs: nofree norecurse nounwind uwtable writeonly
define dso_local void @topup(i32* nocapture %a, i64 %i) local_unnamed_addr
#0 {
entry:
%cmp3 = icmp ult i64 %i, 16
br i1 %cmp3, label %for.body.preheader, label %for.end
for.body.preheader: ; preds = %entry
br label %for.body
for.body: ; preds =
%for.body.preheader, %for.body
%i.addr.04 = phi i64 [ %inc, %fo...
2013 Jul 01
2
[LLVMdev] [LNT] Question about results reliability in LNT infrustructure
On 1 July 2013 02:02, Chris Matthews <chris.matthews at apple.com> wrote:
> One thing that LNT is doing to help “smooth” the results for you is by
> presenting the min of the data at a particular revision, which (hopefully)
> is approximating the actual runtime without noise.
>
That's an interesting idea, as you said, if you run multiple times on every
revision.
On ARM,
2020 May 05
2
Missing vectorization of loop due to load late in the loop
....preheader ], [ %sub, %inner.body
]
%hp.1 = getelementptr inbounds i32, i32* %h.pn4, i64 1
%0 = shl i32 %h.15, 16
%conv7 = ashr exact i32 %0, 16
%add = sub i32 %real.02, %h.15
%sub = add i32 %add, %conv7
%j.1 = add nuw nsw i16 %j.03, 1
%h.1 = load i32, i32* %hp.1, align 1, !tbaa !4
%cmp3 = icmp ult i16 %j.03, 99
br i1 %cmp3, label %inner.body, label %inner.end, !llvm.loop !8
And the vectorizer bails out since the load is placed "late" in the
loop, so
RecurrenceDescriptor::isFirstOrderRecurrence
returns false.
If we just move the load before the definition of %0 in th...
2016 Jul 27
2
Remove zext-unfolding from InstCombine
...` just before they are passed to InstCombine:
```
define signext i8 @foo_before_InstCombine(i8 signext %a, i8 signext %b) local_unnamed_addr #0 {
entry:
%conv = sext i8 %a to i32
%and = and i32 %conv, 1
%cmp = icmp eq i32 %and, 0
%conv1 = zext i1 %cmp to i32
%conv2 = sext i8 %b to i32
%cmp3 = icmp eq i32 %conv2, 0
%conv4 = zext i1 %cmp3 to i32
%or = or i32 %conv1, %conv4
%conv5 = trunc i32 %or to i8
ret i8 %conv5
}
; Function Attrs: nounwind ssp uwtable
define signext i8 @goo_before_InstCombine(i8 signext %a, i8 signext %b) local_unnamed_addr #0 {
entry:
%conv = sext i8 %a...
2013 Jan 11
2
[LLVMdev] LLVM Instruction*->getOperand() not working properly for ICMP
...ed. Now I want to get %c from the previous to use "%c" in
comparisons. I tried :
for (llvm::Value::use_iterator VI=(*I1->getOperand(0)).use_begin(),
VE=(*I1->getOperand(0)).use_end(); VI != VE ; ++VI)
{
errs()<<"\n "<<**VI<<" \n";
// %cmp3 = icmp ne i32 %3, 0
}
Not as expected. It is printing the I1 instruction.
Do you know how I can get %c from the "load instruction"?
Thank you a lot !
On Thu, Jan 10, 2013 at 11:21 AM, Duncan Sands <baldrick at free.fr> wrote:
> Hi,
>
>
> On 10/01/13 10:56, Ale...
2013 Aug 16
2
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
...bitcast (i32 (...)* @atoi to i32 (i8*,
>> ...)*)(i8* %0) #3
>> %cmp117 = icmp sgt i32 %call, 0
>> br i1 %cmp117, label %for.cond2.preheader.lr.ph, label %for.end8
>> for.cond2.preheader.lr.ph:
>> %cond22 = phi i32 [ %call, %cond.end ], [ 46, %entry ]
>> %cmp314 = icmp sgt i32 %cond22, 0
>> br label %for.cond2.preheader
>> for.cond2.preheader:
>> %x.019 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %x.1.lcssa,
>> %for.inc6 ]
>> %a.018 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %inc7, %for.inc6 ]
>> br i1 %...
2013 Aug 15
0
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
...ail call i32 (i8*, ...)* bitcast (i32 (...)* @atoi to i32 (i8*,
> ...)*)(i8* %0) #3
> %cmp117 = icmp sgt i32 %call, 0
> br i1 %cmp117, label %for.cond2.preheader.lr.ph, label %for.end8
> for.cond2.preheader.lr.ph:
> %cond22 = phi i32 [ %call, %cond.end ], [ 46, %entry ]
> %cmp314 = icmp sgt i32 %cond22, 0
> br label %for.cond2.preheader
> for.cond2.preheader:
> %x.019 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %x.1.lcssa,
> %for.inc6 ]
> %a.018 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %inc7, %for.inc6 ]
> br i1 %cmp314, label %for.body4...
2013 Jan 11
0
[LLVMdev] LLVM Instruction*->getOperand() not working properly for ICMP
...ious to use "%c" in
> comparisons. I tried :
>
> for (llvm::Value::use_iterator VI=(*I1->getOperand(0)).use_begin(),
> VE=(*I1->getOperand(0)).use_end(); VI != VE ; ++VI)
> {
>
> errs()<<"\n "<<**VI<<" \n";
> // %cmp3 = icmp ne i32 %3, 0
> }
>
> Not as expected. It is printing the I1 instruction.
>
> Do you know how I can get %c from the "load instruction"?
In this case, you get %c starting from I1 this way:
I1->getOperand(0)->getOperand(0)
because "%3 = load i32* %c, al...
2013 Aug 16
0
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
...;>> (i8*,
>>> ...)*)(i8* %0) #3
>>> %cmp117 = icmp sgt i32 %call, 0
>>> br i1 %cmp117, label %for.cond2.preheader.lr.ph, label %for.end8
>>> for.cond2.preheader.lr.ph:
>>> %cond22 = phi i32 [ %call, %cond.end ], [ 46, %entry ]
>>> %cmp314 = icmp sgt i32 %cond22, 0
>>> br label %for.cond2.preheader
>>> for.cond2.preheader:
>>> %x.019 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %x.1.lcssa,
>>> %for.inc6 ]
>>> %a.018 = phi i32 [ 0, %for.cond2.preheader.lr.ph ], [ %inc7, %for.inc6...