[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