> On 07/24/2017 01:08 PM, Jan Hubicka wrote:
> >> On Mon, Jul 24, 2017 at 2:56 PM, Jan Hubicka <hubi...@ucw.cz> wrote:
> >>> Hi,
> >>> this patch adds -Wsuggest-attribute=cold because we can now statically 
> >>> detect
> >>> cold functions atuomatically.
> >>>
> >>> Bootstrapped/regtested x86_64-linux. Plan to commit it tomorrow if there 
> >>> are no
> >>> complains.
> >>>
> >>> Honza
> >>>
> >>>         * invoke.texi (Wsuggest-attribute=cold): Document.
> >>>         * common.opt (Wsuggest-attribute=cold): New
> >>>         * ipa-pure-const.c (warn_function_cold): New function.
> >>>         * predict.c (compute_function_frequency): Use it.
> >>>         * predict.h (warn_function_cold): Declare.
> >>>
> >>>         * gcc.dg/cold-1.c: New testcase.
> >>
> >> Would it be possible to also do -Wsuggest-attribute=hot for symmetry's
> >> sake? Just wondering.
> > 
> > It would be nice, but it is kind of impossible to detect hot spots of the
> > program with reasonable certainity. (that is why profile feedback is useful 
> > :)
> > This cold attribute detection looks really for very simple pattern where the
> > function inavoidably calls other cold function or does something similarly
> > unlikely (Eh or trap).  This is fairly limited pattern, but it is useful 
> > i.e.
> > to detect which libstdc++ functions can have this annotation that further
> > improve branch prediction.
> So what's the advantage of a user adding the attribute if the compiler
> can infer it?  Presumably by adding the attribute, it's known without
> analysis and can be taken advantage of by its callers?

Like most of the other -Wsuggest it only warn on functions that are externally
visble. Adding attribute will improve code in other compilation units that does
not see the function body.

Honza
> Jeff

Reply via email to