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: Replace function specific cold attribute handling by profile


On Sat, Aug 30, 2008 at 03:55:32PM +0200, Richard Guenther wrote:
> Note the following comments are related to the fact that stage3 will
> start in less than 48 hours.
> 
> > 1) Rename attribute((option(...))) and #pragma GCC option to
> >   attribute((target(...))) and #pragma GCC target.
> 
> Please do this change separately and as soon as possible.
> 
> > 2) Remove the push/pop/reset options on #pragma GCC target and #pragma GCC
> >   optimization, and replace it with new pragmas that push both the target and
> >   optimization options, which allows target options to play with the
> >   optimization flags.
> 
> Likewise, this seems to be a user visible change as well.
> 
> > 3) If a target attribute changes the optimization flags, create a new
> >   optimization node to track those changes.
> >
> > 4) Only create the tree nodes for the builtin functions when you use a command
> >   line option or target attribute addressing the ISA in question.  This should
> >   get us back the 300k or so in compiler memory we lost when function specific
> >   options were added.
> >
> > 5) Make C++ support target specific and optimization attributes.
> >
> >
> > 6) Stop cold/hot attributes from changing optimization options by default on
> >   i386, x86_64, and ia-64, unless you use the -foptimize-hotcold-attribute
> >   switch.
> 
> 3) and 5) seem to be new features at this point, which is late.  6) is obsolete
> by honzas patches, 4) may go in as regression fix during stage3.

Note #3 actually fixes a potential bug introduced by Michael Matz's patch
(which disables some optimizations based on the target, but since the target
and optimization stuff are stored in different nodes, it could get inconsistant
results).  I did mean for C++ to support the function specific feature, and
submitted a patch for it several weeks ago that disappeared into the either and
never got a response from the C++ maintainers.

I'll yank out #6, and delete the hot/cold tests.

-- 
Michael Meissner
email: gnu@the-meissners.org
http://www.the-meissners.org


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