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?
Jeff

Reply via email to