Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-12-01 Thread H.J. Lu
On Wed, Oct 31, 2012 at 3:39 AM, Jan Hubicka wrote: > Hi, > this patch implements the logic to remove statements that are known to be > undefined and thus expected to not be executed after unrolling. It also > removes redundant exits that I originally tried to do at once, but it > does not fly, s

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Richard Biener
On Wed, 31 Oct 2012, Jan Hubicka wrote: > > On Wed, Oct 31, 2012 at 01:30:02PM +0100, Richard Biener wrote: > > > On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > > > unroll you mean. Because unrolling mutates the CFG too much. > > > > > Well - it was just a starting point, populating -Og with as li

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Jan Hubicka
> On Wed, Oct 31, 2012 at 01:30:02PM +0100, Richard Biener wrote: > > On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > > unroll you mean. Because unrolling mutates the CFG too much. > > > > Well - it was just a starting point, populating -Og with as little > > > > as possible and 100% profitable tran

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Richard Biener
On Wed, 31 Oct 2012, Jakub Jelinek wrote: > On Wed, Oct 31, 2012 at 01:30:02PM +0100, Richard Biener wrote: > > On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > > unroll you mean. Because unrolling mutates the CFG too much. > > > > Well - it was just a starting point, populating -Og with as little >

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Jakub Jelinek
On Wed, Oct 31, 2012 at 01:30:02PM +0100, Richard Biener wrote: > On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > unroll you mean. Because unrolling mutates the CFG too much. > > > Well - it was just a starting point, populating -Og with as little > > > as possible and 100% profitable transforms (in

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Richard Biener
On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > > unroll you mean. Because unrolling mutates the CFG too much. > > Well - it was just a starting point, populating -Og with as little > > as possible and 100% profitable transforms (in both debug and speed > > metric). In late opts we only do (early

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Jan Hubicka
> > unroll you mean. Because unrolling mutates the CFG too much. > Well - it was just a starting point, populating -Og with as little > as possible and 100% profitable transforms (in both debug and speed > metric). In late opts we only do (early opt queue is shared): Well, and what about early

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Richard Biener
On Wed, 31 Oct 2012, Jan Hubicka wrote: > > > Index: tree-ssa-loop-niter.c > > > === > > > --- tree-ssa-loop-niter.c (revision 192989) > > > @@ -3505,15 +3737,11 @@ scev_probably_wraps_p (tree base, tree s > > >return true; > > >

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Jan Hubicka
> > Index: tree-ssa-loop-niter.c > > === > > --- tree-ssa-loop-niter.c (revision 192989) > > @@ -3505,15 +3737,11 @@ scev_probably_wraps_p (tree base, tree s > >return true; > > } > > > > -/* Frees the information on upper bou

Re: Non-dominating loop bounds in tree-ssa-loop-niter 3/4

2012-10-31 Thread Richard Biener
On Wed, 31 Oct 2012, Jan Hubicka wrote: > Hi, > this patch implements the logic to remove statements that are known to be > undefined and thus expected to not be executed after unrolling. It also > removes redundant exits that I originally tried to do at once, but it > does not fly, since the pee