Displaying 20 results from an estimated 600 matches similar to: "[LLVMdev] scalar-evolution + indvars fail to get the loop trip count?"
2008 Dec 09
1
[LLVMdev] scalar-evolution + indvars fail to get the loop trip count?
Hi,
Seems pass scalar-evolution+indvars fail to get the loop trip count of the
following case:
int foo(int x, int y, int lam[256], int alp[256]) {
int i;
int z = y;
for (i = 255; i >= 0; i--) {
z += x;
lam[i] = alp[i];
}
return z;
}
The final optimized ll code is :
define i32 @foo(i32 %x, i32 %y, i32* %lam, i32* %alp) nounwind {
entry:
br label %bb
bb:
2013 Jul 11
1
[LLVMdev] Scalar Evolution and Loop Trip Count.
Hi,
Scalar evolution seems to be wrapping around the trip count in the
following loop.
void add (int *restrict a, int *restrict b, int *restrict c) {
char i;
for (i = 0; i < 255; i++)
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
2008 Nov 12
1
[LLVMdev] Possible bug in ScalarEvolution
Hi,
I'm using pass ScalarEvolution to analyze the loop trip count on my
application.
And I found a possible bug in the code, that is in function
SCEVAddRecExpr::getNumIterationsInRange(),
Line 2905:
2904 // The exit value should be (End+A)/A.
2905 APInt ExitVal = (End + A).udiv(A);
2906 ConstantInt *ExitValue = ConstantInt::get(ExitVal);
The divide should be sdiv, right?
2010 Jan 14
1
ssh(1) multiplexing rewrite
Hi,
At the n2k10 OpenBSD network hackathon, I finally got some time to clean
up and rewrite the ssh(1) client multiplexing code. The attached diffs
(one for portable OpenSSH, one for OpenBSD) are the result, and they
need some testing.
The revised multiplexing code uses a better protocol between the master
and slave processes and I even bothered to write it up :) It tracks the
control sockets
2014 Apr 02
0
[PATCH v8 01/10] qspinlock: A generic 4-byte queue spinlock implementation
This patch introduces a new generic queue spinlock implementation that
can serve as an alternative to the default ticket spinlock. Compared
with the ticket spinlock, this queue spinlock should be almost as fair
as the ticket spinlock. It has about the same speed in single-thread
and it can be much faster in high contention situations especially when
the spinlock is embedded within the data
2017 May 18
2
Computing loop trip counts with Scalar evolution
Hello.
I tried to get the trip count of a loop with Scalar evolution. I got inspired from
http://stackoverflow.com/questions/13834364/how-to-get-loop-bounds-in-llvm .
However the analysis described there doesn't work well for the second inner loop of
thes function below (although if we declare Bcols a short it works well):
void MatMul(int Arows, int Acols, int Brows, int
2006 Apr 03
1
How to handle failed finds.
What''s the best way to handle a find that doesn''t find anything?
For example.
Model Foo
@result = Foo.find(:first, :condition => "some condtion string").name
if the condition is not met Foo.find stops the application with ''unexpected
nil''.
What is the best way to gracefully trap this error and return something
meaningfull to the calling
2008 Aug 13
4
[LLVMdev] A case where llvm created different cfg for same code
>
> Message: 4
> Date: Tue, 12 Aug 2008 13:23:52 -0700
> From: "Bill Wendling" <isanbard at gmail.com>
> Subject: Re: [LLVMdev] A case where llvm created different cfg for
> same code
> To: "LLVM Developers Mailing List" <llvmdev at cs.uiuc.edu>
> Message-ID:
> <16e5fdf90808121323g1ae2a2e3lb6c5bd62521df621 at mail.gmail.com>
>
2006 Oct 24
1
set.seed() and .Random.number
Hi R-users
I have two conditions. For each condition, 100 sets of 10 random numbers
from N(0,1) need to be generated. Here is my question.
At the begining I specify a seed number. I want to make the 100th set of the
first condition and 1st set of the second conditon the same. What do I need
to do ?
After generating 99th set of 10 random numbers and then saving .Random.seed
then using
2008 Aug 12
1
[LLVMdev] A case where llvm created different cfg for same code
Hi,
The following two segments of code are actually the same,
but llvm created different cfg for them.
Form1:
1 #define N 10
2 int test(int A[N][N])
3 {
4 int i, j;
5 int result =0;
6 for(j=0; j+2<N; ++j) {
7 //for(i=0; i<j && i+j+1<N; i++) {
8 for(i=0; i<j && i<N-j-1; i++) {
9 A[i+j+1][j] = A[j + 2][j-i] + i;
10 }
11 }
12
13 for (i=0; i<N-2; ++i)
14 for (j=0;
2012 Aug 25
2
[LLVMdev] How to Check whether BasicBlock resides in a conditional branch
2012/8/25 Iaroslav Markov <ymarkov at cs.stonybrook.edu>:
> Can't you do it by performing some analysis on CFG? You can traverse that structure with BFS. And after that for all the BB you have visited more than once, you try to find a parent that has a branch instruction as a terminator. Additionally you ensure that there are no BB with branches as terminators on your way. If such
2012 Oct 30
1
Amelia imputation - column grouping
Hi everybody,
I am quite new to data imputation, but I would like to use the R package '
Amelia II: A Program for Missing Data '. However, its unclear to me how
the input for amelia should look like:
I have a data frame consisting of numerous coulmns, which represent
different experimental conditions, whereby each column has 3 replicates. I
want amelia to perform an imputation across
2007 Oct 16
2
Bootstrapping Contrasts for Repeated Measures ANOVA
I have executed a Repeated Measures ANOVA with one DV (latency) and
one within subject factor (acoustic condtion: 3 levels) by
bootstrapping my sampling distribution of F from the empirical sample
distribution. I chose to resample because the sample distribution
deviates from normality a lot.
The overall F is significant and now I wish to decompose this with
contrasts to ask if latencies to
2012 Oct 09
0
Bug#682202: xcp-squeezed: race between xenstore initialization and sqeezed
Package: xcp-squeezed
Version: 1.3.2-11
Followup-For: Bug #682202
?I found race condtion between xcp-sqeezed and /etc/init.d/xen scripts.
If sleep 10 added to xcp-sqeezed host (xcp-sqeezed and xapi) initialize
normally, and if not with some probability sqeezed/xapi failed to start with message:
Oct 9 16:45:57 xenhost-1 xapi: [ warn|xenhost-1|0 thread_zero|server_init D:1691a70e8b4a|startup]
2019 Mar 25
2
[IndVars] Rewriting exit value of SCEV add expressions
Hi,
I found issues with INDVARS <-> LSR passes interactions after https://reviews.llvm.org/rL346397.
There were two main changes in this commit:
1. Previously we were propagating SCEV add expressions even if DefInst of exit value has hard uses inside the loop. After rL346397 we forbid propagation of SCEV add expressions if DefInst of exit value has hard use inside the loop.
2. Previously
2009 Apr 08
3
[LLVMdev] help using indvars pass
I am trying to use the indvars pass on a simple loop but it does not seem to
have any effect
The sample code i am using is
#include <stdio.h>
int test (int p);
int main(){
int a,b=3;
for(a=7;a*a<100;++a){
if(b >3)
test(3);
b++;
}
return 1;
}
int test(int p){
return p;
}
According to documentation
2009 Apr 08
0
[LLVMdev] help using indvars pass
On Wed, Apr 8, 2009 at 10:26 AM, Kshitiz Garg <ksh.cseiitk at gmail.com> wrote:
> Neither is there a Phinode for a
Maybe you need to run mem2reg first?
-Eli
2012 Jul 24
0
[LLVMdev] regarding opt -indvars
Hello .
I ran opt with -indvars options , got wrong result.
This is my example:
test.cc :
int test(int a)
{
for (int i = 2; i < a; ++i) {
a += ;
}
return a;
}
clang -O3 -emit-llvm -S test.cc -o test.ll
opt -indvards -S test.ll -o indvars.ll > /dev/null
indvars.ll :
; ModuleID = 'test.ll'
target datalayout =
2012 Jul 25
2
[LLVMdev] regarding opt -indvars
Hello .
opt -indvars pass does not generate canonical induction variable.
(NULL == loop->getCanonicalInductionVariable();)
PLEASE explain why? and how can I fix it?
Thanks in advance,
Edvard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120724/92a28ed5/attachment.html>
2012 Mar 08
0
[LLVMdev] -indvars issues?
On 03/08/2012 06:23 PM, Gavin Harrison wrote:
> Hi,
>
> Is the -indvars pass functional? I've done some small test to check it,
> but this fails to canonicalize:
>
>> int *x;
>> int *y;
>> int i;
>> ...
>> for (i = 1; i < 100; i+=2) {
>> x[i] = y[i] + 3;
>> }
>
> The IR produced after -indvars:
>
>> br label %for.cond