On Sat, Jun 2, 2012 at 3:06 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> On Sat, Jun 2, 2012 at 2:36 AM, Jan Hubicka <hubi...@ucw.cz> wrote:
>> >> Hi,
>> >>
>> >> This patch adds 4 flags to enable user to type in a list of name
>> >> patterns. Compiler will match the function name with the given
>> >> patterns, and add "hot", "cold", "likely_hot", "likely_cold"
>> >> attributes to function declaration. The static branch prediction
>> >> checks if a basic block contains call to a annotated function, and set
>> >> the branch probability accordingly.
>> >>
>> >> Bootstrapped and passed gcc testsuites.
>> >>
>> >> Ok for google branches?
>> >
>> > Just out of curiosity, what is main advantage of this over annotating your 
>> > source?
>> >
>>
>> This is to avoid too much annotation at source level. Some
>> applications have good per application knowledge of library functions
>> (that are compiled and statically linked in). Another example of its
>> -- coarse grain (function level) profile data collected from data
>> center can be used to guide branch prediction/estimation.
>
> Well, perhaps the feature would be more useful with command line option 
> allowing
> to add an attribute instead of having special case command line options for 
> individual
> cases.  I guess the problem would be also solvable with header included after
> the library adding the attributes to the declarations

I think this is a good idea.


>
> typeof (printf) printf __attribute__ ((cold));
>

Actually Dehao also plans to teach the static predictor to understand
standard library functions more (e.g IO functions) and add more naming
based heuristics such as 'error, success, failure, fatal etc).

thanks,

David

> Honza
>>
>> thanks,
>>
>> David
>> > Honza

Reply via email to