Re: Bin Cheng as Loop Induction Variable Optimizations maintainer

2015-08-02 Thread Bin.Cheng
On Sat, Aug 1, 2015 at 5:03 AM, Jeff Law wrote: > I am pleased to announce that the GCC Steering Committee has appointed Bin > Cheng as the IVopts maintainer. > > Please join me in congratulating Bin on his new role. > > Bin, please update your entry in the MAINTAINERS file. I also believe you Do

Bin Cheng as Loop Induction Variable Optimizations maintainer

2015-07-31 Thread Jeff Law
I am pleased to announce that the GCC Steering Committee has appointed Bin Cheng as the IVopts maintainer. Please join me in congratulating Bin on his new role. Bin, please update your entry in the MAINTAINERS file. I also believe you have some patches to self-approve :-) Thanks, Jeff

Re: Loop induction variable optimization question

2013-06-20 Thread Steve Ellcey
On Thu, 2013-06-20 at 03:16 -0700, Stephen Clarke wrote: > > why (and where) did ivopts decide to move the post-increments above the > > usages in the first loop? > > It looks rather like the transformation described next to > tree-ssa-loop-ivopts.c/adjust_iv_update_pos. Yes, that looks like th

Re: Loop induction variable optimization question

2013-06-20 Thread Stephen Clarke
> why (and where) did ivopts decide to move the post-increments above the > usages in the first loop? It looks rather like the transformation described next to tree-ssa-loop-ivopts.c/adjust_iv_update_pos.

Re: Loop induction variable optimization question

2013-06-17 Thread Chung-Ju Wu
2013/6/18 Steve Ellcey : > On Mon, 2013-06-17 at 21:36 +0200, Oleg Endo wrote: > >> >> Sorry for not having an answer. I got curious, because just yesterday I >> was looking at this one >> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55190 >> and thought that this is related, although it doesn't se

Re: Loop induction variable optimization question

2013-06-17 Thread Steve Ellcey
On Mon, 2013-06-17 at 21:36 +0200, Oleg Endo wrote: > > Sorry for not having an answer. I got curious, because just yesterday I > was looking at this one > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55190 > and thought that this is related, although it doesn't seem to. > I've tried the two func

Re: Loop induction variable optimization question

2013-06-17 Thread Oleg Endo
On Mon, 2013-06-17 at 10:07 -0700, Steve Ellcey wrote: > I have a loop induction variable question involving post increment. > If I have this loop: > > [...] > My question is is: why (and where) did ivopts decide to move the > post-increments above the usages in the first

Loop induction variable optimization question

2013-06-17 Thread Steve Ellcey
I have a loop induction variable question involving post increment. If I have this loop: void *memcpy_word_ptr(int * __restrict d, int * __restrict s, unsigned int n ) { int i; for(i=0; i: # d_22 = PHI # s_23 = PHI # i_24 = PHI d_10 = d_22 + 4; s_11 = s_23 + 4; _12 = *s_23

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-27 Thread Alexey Kravets
Hi Sebastian, On 05/26/2011 07:20 PM, Sebastian Pop wrote: I see. Would it be possible to strip mine the reduction loop that you say not handled yet, and then translate to opencl the partial sums? We believe it would be quite difficult. This problem can be divided into three sub-problems: 1.

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-26 Thread Sebastian Pop
On Thu, May 26, 2011 at 09:58, Alexey Kravets wrote: > On 05/24/2011 10:09 PM, Sebastian Pop wrote: >> >> One change that I introduced sometime in February is that some reductions >> are not translated to a zero dim array to make the dependence test work >> on some of the interchange testcases.  W

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-26 Thread Alexey Kravets
On 05/24/2011 10:09 PM, Sebastian Pop wrote: One change that I introduced sometime in February is that some reductions are not translated to a zero dim array to make the dependence test work on some of the interchange testcases. With this change, are we going to also create privatized copies for

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-24 Thread Sebastian Pop
On Tue, May 24, 2011 at 09:09, Alexey Kravets wrote: > There are two places in graphite-opencl where we use strcmp technique. > The first one is the detection of privatizable variables > (opencl_private_var_name_p) and it can be eliminated by marking all zero > dimensional arrays as private (see p

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-24 Thread Alexey Kravets
On 05/19/2011 06:52 PM, Sebastian Pop wrote: I could loop at the internal name of the variable, and check if it starts with graphite_IV. I think this is a *very* bad idea, and unfortunately the graphite-opencl code uses this strcmp technique to detect reductions, and that's why the graphite-ope

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-20 Thread Sebastian Pop
On Fri, May 20, 2011 at 08:27, Basile Starynkevitch wrote: >> What is your definition of induction variable? > > The one which is used by graphite. Ok, then you can match against the scalar evolution of a variable: the evolution of your variable should be of the form "{a, +, 1

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-20 Thread Basile Starynkevitch
On Thu, 19 May 2011 09:52:11 -0500 Sebastian Pop wrote: > On Thu, May 19, 2011 at 09:21, Basile Starynkevitch > wrote: [...] > > How should I find the induction variable? > > What is your definition of induction variable? The one which is used by graphite. > My defin

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-19 Thread Basile Starynkevitch
> > > How should I find the induction variable? > > What is your definition of induction variable? > My definitions are: > - every variable defined in a loop is an induction variable, > - an induction variable has a phi node with one of the > arguments defined in the loop.

Re: finding the induction variable after graphite (before ivcanon pass)?

2011-05-19 Thread Sebastian Pop
ccsummit.org/2010/view_abstract.php?content_key=15 > paperat GCC Summit 2010). > > That meltopengpu_detect pass is in the MELT branch file > gcc/melt/xtramelt-opengpu.melt > > It is currently installed before the ivcanon pass. > > How should I find the induction variable?

finding the induction variable after graphite (before ivcanon pass)?

2011-05-19 Thread Basile Starynkevitch
the MELT branch file gcc/melt/xtramelt-opengpu.melt It is currently installed before the ivcanon pass. How should I find the induction variable? I could loop at the internal name of the variable, and check if it starts with graphite_IV. But is there a better way? (I want to code a MELT extension

Induction variable elimination, was: Re: On the x86_64, does one have to zero a vector register before filling it completely ?

2009-11-29 Thread Toon Moene
, %ecx jb .L6 Once this problem is solved (well, determined how it could be solved), we go on to the next, the extraneous induction variable %ecx. There are two ways to deal with it: 1. Eliminate it with respect to the other induction variable that counts in the same direction

Moving loop induction variable calculation to the head of loop.

2009-11-27 Thread red_river
after the register allocation? Thanks very much for your reading. Any help is really appreciated. -- View this message in context: http://old.nabble.com/Moving-loop-induction-variable-calculation-to-the-head-of-loop.-tp26542157p26542157.html Sent from the gcc - Dev mailing list archive at

Re: RFC: missed loop optimizations from loop induction variable copies

2009-09-23 Thread Zdenek Dvorak
n or FRE prior to loop > optimizations > and creates a new induction variable. > > > Does this imply we try and not copy propagate or FRE potential induction > variables? Or is this simply a missed case in IVOpts? IIRC, at some point maybe year or two ago Sebastian worked on

Re: RFC: missed loop optimizations from loop induction variable copies

2009-09-22 Thread Richard Guenther
o ; > > : >  return; > > } > > IVOpts cannot identify start_26, start_4 and ivtmp_32_7 to be copies. > The root cause is that expression 'i + start' is identified as a common > expression between the test in the header and the index operation in t

RFC: missed loop optimizations from loop induction variable copies

2009-09-22 Thread Rahul Kharche
etmp.17_23, index: D.1286_24, step: 4] = 0; i_12 = i_20 + 1; if (i_12 != D.1290_30) goto ; else goto ; : goto ; : return; } The correct single induction variable as been identified here. This is not a loop header copying problem either. If we disable loop header copying, we

Re: Induction variable optimization

2006-11-05 Thread Zdenek Dvorak
Hello, > I am a M.E.Computer science student and doing project on induction variable > optimization. > > Therefore i am reading the file tree-ssa-loop-ivopts.c of gcc-4.0.2 to know > about what have implemented in that. > > Is there any other way to know about what have i

Re: Induction variable optimization

2006-11-05 Thread Revital1 Eres
[EMAIL PROTECTED] wrote on 06/11/2006 03:34:27: > Respected Sir > > I am a M.E.Computer science student and doing project on induction variable > optimization. > > Therefore i am reading the file tree-ssa-loop-ivopts.c of gcc-4.0.2 to know > about what have implemented in t

Induction variable optimization

2006-11-05 Thread h2005421
Respected Sir I am a M.E.Computer science student and doing project on induction variable optimization. Therefore i am reading the file tree-ssa-loop-ivopts.c of gcc-4.0.2 to know about what have implemented in that. Is there any other way to know about what have implemented yet and in gcc

Re: GIMPLE / induction variable analysis

2006-06-10 Thread Jay L.T. Cornwall
Hi, Thanks for your replies, scalar evolution is what I was looking for! -- Jay L.T. Cornwall, http://www.esuna.co.uk/~jay/ PhD Student Imperial College London

Re: GIMPLE / induction variable analysis

2006-06-10 Thread Zdenek Dvorak
Hello, > I'm looking for an induction variable analysis which will operate at the > GIMPLE level. So far, I've found... > > loop-iv.c -- RTL induction variable analysis > tree-ssa-loop-ivopts.c -- GIMPLE induction variable analysis no, tree-level induction variable a

Re: GIMPLE / induction variable analysis

2006-06-09 Thread Daniel Berlin
Jay L. T. Cornwall wrote: > Hi, > > I'm looking for an induction variable analysis which will operate at the > GIMPLE level. So far, I've found... > > loop-iv.c -- RTL induction variable analysis > tree-ssa-loop-ivopts.c -- GIMPLE induction variable analysis &

GIMPLE / induction variable analysis

2006-06-09 Thread Jay L. T. Cornwall
Hi, I'm looking for an induction variable analysis which will operate at the GIMPLE level. So far, I've found... loop-iv.c -- RTL induction variable analysis tree-ssa-loop-ivopts.c -- GIMPLE induction variable analysis The latter appears to be the right choice but nearly

Induction Variable

2005-05-27 Thread Rajkishore Barik
Hi, Can someone tell me how to obtain the following: 1) Given a rtx, find out if it is an induction variable. 2) For an induction variable, find all the loop nest 3) For each loopnest, find the corresponding upper and lower bounds (compile-time) 4) For an induction variables, find the increment