This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 100x -O0 Compile Time Regression {3.2,3.3} -> {3.4,3.5}


Hello,

> > Index: tree-cfg.c
> > ===================================================================
> > RCS file: /cvs/gcc/gcc/gcc/Attic/tree-cfg.c,v
> > retrieving revision 1.1.4.264
> > diff -u -3 -p -r1.1.4.264 tree-cfg.c
> > --- tree-cfg.c  4 Feb 2004 06:08:20 -0000       1.1.4.264
> > +++ tree-cfg.c  13 Feb 2004 04:34:59 -0000
> > @@ -3948,7 +3948,7 @@ split_critical_edges (void)
> >   {
> >     basic_block bb;
> >     edge e;
> > -
> > +  free_dominance_info (CDI_DOMINATORS);
> >     FOR_ALL_BB (bb)
> >       {
> >         for (e = bb->succ; e ; e = e->succ_next)
>
>
> This looks OK, provided it bootstraps, etc.

Daniel, could you please also measure compile time on some less
artificial examples than 20001226-1.c before commiting this patch?  It
adds one unnecessary recount of whole dominator tree, so it might
be that it would not be win on usual functions not countaining thousands
of critical edges.

If it showed up to be case, something would have to be done about
updating dominators in split_edge to avoid the quadratic behavior it
exhibits on this testcase.

Zdenek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]