search for: body

Displaying 20 results from an estimated 34736 matches for "body".

2015 Sep 03
2
[RFC] New pass: LoopExitValues
...s these to scevgep values that already exist. *** Code after LSR *** ; Function Attrs: nounwind optsize define void @matrix_mul(i32 %Size, i32* nocapture %Dst, i32* nocapture readonly %Src, i32 %Val) #0 { entry: %cmp.25 = icmp eq i32 %Size, 0 br i1 %cmp.25, label %for.cond.cleanup, label %for.body.4.lr.ph.preheader for.body.4.lr.ph.preheader: ; preds = %entry %0 = shl i32 %Size, 2 br label %for.body.4.lr.ph for.body.4.lr.ph: ; preds = %for.body.4.lr.ph.preheader, %for.cond.cleanup.3 %lsr.iv5 = phi i32* [ %Src, %for.body.4.lr.ph.pr...
2020 Jun 09
2
LoopStrengthReduction generates false code
...ffer = common dso_local global [10 x i32] zeroinitializer, align 4 ; Function Attrs: nounwind define dso_local void @some_main(i32* %result) local_unnamed_addr #0 { entry: tail call void @fill_array(i32* getelementptr inbounds ([10 x i32], [10 x i32]* @buffer, i32 0, i32 0)) #2 br label %while.body while.body: ; preds = %entry, %while.body %i.010 = phi i32 [ 0, %entry ], [ %inc, %while.body ] %arrayidx = getelementptr inbounds [10 x i32], [10 x i32]* @buffer, i32 0, i32 %i.010 %0 = load i32, i32* %arrayidx, align 4, !tbaa !2 %cmp1 = icmp ne i32 %...
2020 Jun 09
2
LoopStrengthReduction generates false code
...ign 4 >> >> ; Function Attrs: nounwind >> define dso_local void @some_main(i32* %result) local_unnamed_addr #0 { >> entry: >> tail call void @fill_array(i32* getelementptr inbounds ([10 x i32], [10 x i32]* >> @buffer, i32 0, i32 0)) #2 >> br label %while.body >> >> while.body: ; preds = %entry, %while.body >> %i.010 = phi i32 [ 0, %entry ], [ %inc, %while.body ] >> %arrayidx = getelementptr inbounds [10 x i32], [10 x i32]* @buffer, i32 0, >> i32 %i.010 >> %0 = load i32, i32* %...
2015 Dec 09
2
persuading licm to do the right thing
...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.06 = phi i64 [ 0, %for.body.lr.ph ], [ %inc, %for.b...
2020 Jun 10
2
LoopStrengthReduction generates false code
The IR after LSR is: *** IR Dump After Loop Strength Reduction *** ; Preheader: entry: tail call void @fill_array(i32* getelementptr inbounds ([10 x i32], [10 x i32]* @buffer, i32 0, i32 0)) #2 br label %while.body ; Loop: while.body: ; preds = %while.body, %entry %lsr.iv = phi i32 [ %lsr.iv.next, %while.body ], [ 0, %entry ] %uglygep = getelementptr i8, i8* bitcast ([10 x i32]* @buffer to i8*), i32 %lsr.iv %uglygep1 = bitcast i8* %uglygep to i32* %0 = load i32,...
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: ; preds = %for.body, % > for.body.lr.ph > %i.06 = phi i64...
2008 Aug 13
3
Search for (any of) multiple terms slow
...are some figures (the IMAP commands are shown as issued by Thunderbird and recorded by Dovecot rawlog). While searching, I can see the 'imap' process using 100% CPU time. Searching for "xyz" in Archive and subfolders 4 secs 32 select "Archive" 33 uid SEARCH UNDELETED BODY "xyz" 34 select "Archive.2004" 35 UID fetch 1:* (FLAGS) 36 uid SEARCH UNDELETED BODY "xyz" 37 select "Archive.2004.2005" 38 UID fetch 1:* (FLAGS) 39 uid SEARCH UNDELETED BODY "xyz" 40 select "Archive.2004.2005.2006" 41 UID fetch 1:* (FLAGS...
2016 May 19
4
GEP index canonicalization
...wever that introduces truncations, which can't be optimized away by simple peephole optimizations in the backend anymore. Does it make sense to add a target hook for this? -Manuel Example: define void @foo(i32 %n, i32* %a) { entry: %cmp1 = icmp slt i32 0, %n br i1 %cmp1, label %for.body, label %for.end for.body: ; preds = %for.body, %entry %i = phi i32 [ %inc, %for.body ], [ 0, %entry ] %ptr = getelementptr inbounds i32, i32* %a, i32 %i store i32 %i, i32* %ptr, align 4 %inc = add nsw i32 %i, 1 %cmp = icmp slt i32 %inc, %n...
2013 Jan 29
2
[LLVMdev] Apparent indeterminism in PreVerifier
Hello everybody, I have a case of suspected indeterminism and I would like to verify that it is not a known issue before I dig deep into it. It seems to happen during PreVerifier pass ("Preliminary module verification"). The little I understand/assume about it, a verifier pass is not supposed to chan...
2013 Aug 22
2
[LLVMdev] scev questions
...not compute the loop exit count. It appears SCEV cannot handle the non-unit increment of the loop counter. Is this a known limitation of SCEV or is there something that can be improved (and if so where should I start looking?) Thanks, Paul Here's the IR for the loop and the SCEV dump: for.body: ; preds = %for.body.lr.ph, %for.body %i.07 = phi i32 [ 0, %for.body.lr.ph ], [ %add1, %for.body ] %s.06 = phi i32 [ 0, %for.body.lr.ph ], [ %add, %for.body ] %a.addr.05 = phi i32* [ %a, %for.body.lr.ph ], [ %incdec.ptr, %for.body ] %incdec.ptr = gete...
2015 Dec 09
2
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 %for.body >> >> for.body: ; preds = %for.body, % >> for.body.l...
2016 Aug 01
2
LLVM Loop vectorizer - 2 vector.body blocks appear
...oopVectorize.cpp code (retrieved at the beginning of July 2016) I ran the following piece of C code: void foo(long *A, long *B, long *C, long N) { for (long i = 0; i < N; ++i) { C[i] = A[i] + B[i]; } } The vectorized LLVM program I obtain contains 2 vector.body blocks - one named "vector.body" and the other "vector.body34" for example. The code seems correct - the first "vector.body" block is responsible for the vector add of a number of vector elements multiple of VF * UF. There are 2 epilogues which makes things a bit st...
2006 Feb 17
2
Accessing just the body of email in text format?
I am interested in accessing the body of the email in text format using IMAP to receive emails. So far I have tried the following #body = imap.fetch(message_id, "BODY[TEXT]") #body = imap.fetch(message_id, ["BODY[]"])[0].attr[''BODY[]''] But both of the above give me body...
2019 Aug 26
2
SCEV related question
...} } 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, %for.body ], [ %i, %for.body.preheader ] %arrayidx = g...
2015 Dec 09
2
persuading licm to do the right thing
...gt;> 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.bod...
2013 Jul 11
1
[LLVMdev] Scalar Evolution and Loop Trip Count.
...a[i] = b[i] + c[i]; } When I run scalar evolution on the bit code, I get a backedge-taken count which is obviously wrong. $> cat loop.ll ; Function Attrs: nounwind define void @add(i32* noalias nocapture %a, i32* noalias nocapture %b, i32* noalias nocapture %c) #0 { entry: br label %for.body for.body: ; preds = %entry, %for.body %arrayidx.phi = phi i32* [ %b, %entry ], [ %arrayidx.inc, %for.body ] %arrayidx3.phi = phi i32* [ %c, %entry ], [ %arrayidx3.inc, %for.body ] %arrayidx5.phi = phi i32* [ %a, %entry ], [ %arrayidx5.inc, %for.bod...
2011 Mar 06
2
Can body() return a function's body intact, in order, and as characters ready for editing?
Is my understanding correct that the body() function currently can't return a function's body intact, in order, and as characters ready for editing? My testing and reading of body()'s help indicate that it can not. Here's what I'm seeing. Consider pasting 1+ and a function containing x^2 together to...
2013 Jan 29
2
[LLVMdev] Apparent indeterminism in PreVerifier
...: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] >> On Behalf Of Sergei Larin >> Sent: Tuesday, January 29, 2013 10:31 AM >> To: llvmdev at cs.uiuc.edu >> Subject: [LLVMdev] Apparent indeterminism in PreVerifier >> >> >> Hello everybody, >> >> >> I have a case of suspected indeterminism and I would like to verify >> that it is not a known issue before I dig deep into it. >> It seems to happen during PreVerifier pass ("Preliminary module >> verification"). The little I understand/ass...
2013 Jan 29
0
[LLVMdev] Apparent indeterminism in PreVerifier
...ginal Message----- > From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] > On Behalf Of Sergei Larin > Sent: Tuesday, January 29, 2013 10:31 AM > To: llvmdev at cs.uiuc.edu > Subject: [LLVMdev] Apparent indeterminism in PreVerifier > > > Hello everybody, > > > I have a case of suspected indeterminism and I would like to verify > that it is not a known issue before I dig deep into it. > It seems to happen during PreVerifier pass ("Preliminary module > verification"). The little I understand/assume about it, a verifie...
2018 Aug 15
2
[SCEV] Why is backedge-taken count <nsw> instead of <nuw>?
...clang on the following code: void func(unsigned n) { > for (unsigned long x = 1; x < n; ++x) > dummy(x); > } I get the following llvm ir: define void @func(i32 %n) { > entry: > %conv = zext i32 %n to i64 > %cmp5 = icmp ugt i32 %n, 1 > br i1 %cmp5, label %for.body, label %for.cond.cleanup > for.cond.cleanup: ; preds = %for.body, > %entry > ret void > for.body: ; preds = %entry, > %for.body > %x.06 = phi i64 [ %inc, %for.body ], [ 1, %entry ] > tail call void @d...