diff options
author | Martin Liska <mliska@suse.cz> | 2022-02-03 10:58:18 +0100 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2022-05-09 10:39:55 +0200 |
commit | 22d9c8802add09a93308319fc37dd3a0f1125393 (patch) | |
tree | 1b15e7fe5c3bbb56688e2eb29aa1c7c1f317a4a9 /gcc/system.h | |
parent | 27239e13b1ba383e2706231917062aa6e14150a8 (diff) | |
download | gcc-22d9c8802add09a93308319fc37dd3a0f1125393.zip gcc-22d9c8802add09a93308319fc37dd3a0f1125393.tar.gz gcc-22d9c8802add09a93308319fc37dd3a0f1125393.tar.bz2 |
Come up with {,UN}LIKELY macros.
gcc/c/ChangeLog:
* c-parser.cc (c_parser_conditional_expression): Use {,UN}LIKELY
macros.
(c_parser_binary_expression): Likewise.
gcc/cp/ChangeLog:
* cp-gimplify.cc (cp_genericize_r): Use {,UN}LIKELY
macros.
* parser.cc (cp_finalize_omp_declare_simd): Likewise.
(cp_finalize_oacc_routine): Likewise.
gcc/ChangeLog:
* system.h (LIKELY): Define.
(UNLIKELY): Likewise.
* domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
macros.
* dse.cc (set_position_unneeded): Likewise.
(set_all_positions_unneeded): Likewise.
(any_positions_needed_p): Likewise.
(all_positions_needed_p): Likewise.
* expmed.cc (flip_storage_order): Likewise.
* genmatch.cc (dt_simplify::gen_1): Likewise.
* ggc-common.cc (gt_pch_save): Likewise.
* print-rtl.cc: Likewise.
* rtl-iter.h (T>::array_type::~array_type): Likewise.
(T>::next): Likewise.
* rtl-ssa/internals.inl: Likewise.
* rtl-ssa/member-fns.inl: Likewise.
* rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
(rtx_properties::try_to_add_dest): Likewise.
* rtlanal.h (growing_rtx_properties::repeat): Likewise.
(vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
* simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
* sort.cc (likely): Likewise.
(mergesort): Likewise.
* wide-int.h (wi::eq_p): Likewise.
(wi::ltu_p): Likewise.
(wi::cmpu): Likewise.
(wi::bit_and): Likewise.
(wi::bit_and_not): Likewise.
(wi::bit_or): Likewise.
(wi::bit_or_not): Likewise.
(wi::bit_xor): Likewise.
(wi::add): Likewise.
(wi::sub): Likewise.
Diffstat (limited to 'gcc/system.h')
-rw-r--r-- | gcc/system.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/system.h b/gcc/system.h index c5562cc..1121af4 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -736,6 +736,9 @@ extern int vsnprintf (char *, size_t, const char *, va_list); #define __builtin_expect(a, b) (a) #endif +#define LIKELY(x) (__builtin_expect ((x), 1)) +#define UNLIKELY(x) (__builtin_expect ((x), 0)) + /* Some of the headers included by <memory> can use "abort" within a namespace, e.g. "_VSTD::abort();", which fails after we use the preprocessor to redefine "abort" as "fancy_abort" below. */ @@ -783,7 +786,7 @@ extern void fancy_abort (const char *, int, const char *) ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0)) #elif (GCC_VERSION >= 4005) #define gcc_assert(EXPR) \ - ((void)(__builtin_expect (!(EXPR), 0) ? __builtin_unreachable (), 0 : 0)) + ((void)(UNLIKELY (!(EXPR)) ? __builtin_unreachable (), 0 : 0)) #else /* Include EXPR, so that unused variable warnings do not occur. */ #define gcc_assert(EXPR) ((void)(0 && (EXPR))) |