Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-27 Thread Eric Botcazou
> PR tree-optimization/46590 > * cfgexpand.c: Revert last change (r183305). > * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple > regs. > * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before > checking for emptiness. I have installed

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-26 Thread Richard Guenther
On Thu, Jan 26, 2012 at 3:23 PM, Michael Matz wrote: > Hi, > > On Tue, 24 Jan 2012, Richard Guenther wrote: > >> > +         && !is_gimple_reg (t)) >> > + >> >> Ok with the excessive vertical space removed. > > Actually the patch as is was regressing some testcases (pr48794.f90, fixed > with an tr

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-26 Thread Michael Matz
Hi, On Tue, 24 Jan 2012, Richard Guenther wrote: > > +         && !is_gimple_reg (t)) > > + > > Ok with the excessive vertical space removed. Actually the patch as is was regressing some testcases (pr48794.f90, fixed with an tree-eh change in another thread) and pack9.adb, which is fixed with

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-24 Thread Richard Guenther
On Mon, Jan 23, 2012 at 6:01 PM, Michael Matz wrote: > Hi, > > On Sat, 21 Jan 2012, Eric Botcazou wrote: > >> > Trivially fixing the thinko (iterating over (work bit-and >> > old_conflict) in the first inner loop) would fix the testcase but in >> > general create too few conflicts, i.e. generate w

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-23 Thread Michael Matz
Hi, On Sat, 21 Jan 2012, Eric Botcazou wrote: > > Trivially fixing the thinko (iterating over (work bit-and > > old_conflict) in the first inner loop) would fix the testcase but in > > general create too few conflicts, i.e. generate wrong code. I need > > some time to think about this again.

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-21 Thread Eric Botcazou
> It was supposed to not change the set of conflicts, no. But I made a > thinko, and sometimes too many conflicts are generated. On the testcases > I tried that wasn't the case, so thanks for finding one :) You're welcome. In fact, I should have installed it in the gnat.dg testsuite long ago b

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-20 Thread Michael Matz
Hi, On Fri, 20 Jan 2012, Eric Botcazou wrote: > Is it supposed to change the generated code or...? It was supposed to not change the set of conflicts, no. But I made a thinko, and sometimes too many conflicts are generated. On the testcases I tried that wasn't the case, so thanks for finding

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-20 Thread Eric Botcazou
> I've committed (r183305) a slightly changed variant that merges the two > outer bitmap loops again, like so: > > + EXECUTE_IF_AND_COMPL_IN_BITMAP (work, old_conflicts, 0, i, > bi) { > unsigned j; > bitmap_iterator bj; > - EXECUTE_IF_

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-19 Thread Michael Matz
Hi, On Mon, 16 Jan 2012, Richard Guenther wrote: > > Regstrapping in progress on x86_64-linux, okay for trunk? > > Ok. I've committed (r183305) a slightly changed variant that merges the two outer bitmap loops again, like so: + EXECUTE_IF_AND_COMPL_IN_BITMAP (work, old_conflicts,

Re: Fix regression on PR46590 (slow compile with -O0)

2012-01-16 Thread Richard Guenther
On Fri, Jan 13, 2012 at 6:18 PM, Michael Matz wrote: > Hi, > > the stack-var conflict generation code needs 13 (out of 34) seconds, with > -O0 on the second testcase of PR46590.  Most of the time is spent in > generating the same conflicts again and again at each basic block (the > time right now

Fix regression on PR46590 (slow compile with -O0)

2012-01-13 Thread Michael Matz
Hi, the stack-var conflict generation code needs 13 (out of 34) seconds, with -O0 on the second testcase of PR46590. Most of the time is spent in generating the same conflicts again and again at each basic block (the time right now is O(nr-of-bbs * N^2) where the number of conflicts is O(N^2)