[Patch, libgfortran] Add a comment to libgfortran.h explaining what the (un)likely() macros do

Steve Kargl sgk@troutmask.apl.washington.edu
Sat Mar 8 22:48:00 GMT 2014


On Sat, Mar 08, 2014 at 07:50:53PM +0100, Tobias Burnus wrote:
> OK for the trunk?
> 
> diff --git a/libgfortran/libgfortran.h b/libgfortran/libgfortran.h
> index d7e15ad..2664e1f 100644
> --- a/libgfortran/libgfortran.h
> +++ b/libgfortran/libgfortran.h
> @@ -97,6 +97,16 @@ typedef off_t gfc_offset;
>  #define NULL (void *) 0
>  #endif
>  
> +
> +/* The following macros can be used to annotate conditions which are likely or
> +   unlikely to be true.  Avoid using them when a condition is only slightly
> +   more likely/less unlikely than average to avoid the performance penalties of
> +   branch misprediction. In addition, as __builtin_expect overrides the compiler
> +   heuristic, do not use in conditions where one of the branches ends with a
> +   call to a function with __attributee__((noreturn)): the compiler internal

s/__attributee/__attribute

> +   heuristic will mark this branch as much less likely as unlikely() would
> +   do.  */

OK with the above change.

-- 
Steve



More information about the Fortran mailing list