This is the mail archive of the gcc@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: mainline "exploding"


> On Wed, 2003-10-15 at 10:57, Geoff Keating wrote:
> > Mark Mitchell <mark@codesourcery.com> writes:
> > 
> > > I think we should make -funit-at-a-time the default at this point, if it
> > > is passing test suites.
> > > 
> > > In fact, I think we should make it *unconditional*.  There is no need
> > > for this to be an option; it should be the only mode.
> > 
> > I presume all this discussion is about -O2, right?  It would be a
> > severe regression if we started switching unit-at-a-time on at -O0
> > (where it isn't even useful, since we don't do inlining at -O0).
> 
> I think we're talking about -O2 and -O1 -- if we do inlining at -O1,
> which I don't presently remember.

Yes, problem is fun with old heuristics used by -O1.
OK, at a start, I am attaching patch to enable unit-at-a-time at -O1 so
we fix the regression Geoff is speaking about.  Would this be OK?

>From now we can go in following ways:
1) keep it this way
2) kill old inlining heuristics and make function inlining imply
unit-at-a-time
3) kill old inlining heuristics and new incremental inlining code
4) kill old code path completely and make unit-at-a-time default for all
cases.

Honza

Wed Oct 15 22:28:09 CEST 2003  Jan Hubicka  <jh@suse.cz>
	* opts.c (decode_options): Enable unit-at-a-time at -O1
Index: opts.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/opts.c,v
retrieving revision 1.40
diff -c -3 -p -r1.40 opts.c
*** opts.c	11 Oct 2003 22:57:45 -0000	1.40
--- opts.c	15 Oct 2003 20:28:01 -0000
*************** decode_options (unsigned int argc, const
*** 532,537 ****
--- 532,538 ----
        flag_crossjumping = 1;
        flag_if_conversion = 1;
        flag_if_conversion2 = 1;
+       flag_unit_at_a_time = 1;
      }
  
    if (optimize >= 2)
*************** decode_options (unsigned int argc, const
*** 556,562 ****
        flag_delete_null_pointer_checks = 1;
        flag_reorder_blocks = 1;
        flag_reorder_functions = 1;
-       flag_unit_at_a_time = 1;
      }
  
    if (optimize >= 3)
--- 557,562 ----


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