This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, libgfortran] Add a comment to libgfortran.h explaining what the (un)likely() macros do
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Sat, 8 Mar 2014 13:19:36 -0800
- Subject: Re: [Patch, libgfortran] Add a comment to libgfortran.h explaining what the (un)likely() macros do
- Authentication-results: sourceware.org; auth=none
- References: <531B668D dot 8050301 at net-b dot de>
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