From 44b77201a5431450f608b4538fefb1319127de13 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Thu, 3 Feb 2022 10:58:18 +0100 Subject: [PATCH] Come up with {,UN}LIKELY macros. gcc/ChangeLog: * system.h (LIKELY): Define. (UNLIKELY): Likewise. (cherry picked from commit 22d9c8802add09a93308319fc37dd3a0f1125393, partial) --- gcc/ChangeLog.omp | 8 ++++++++ gcc/system.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index 4f80bcbd356..30c3abfc15b 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,11 @@ +2022-09-23 Thomas Schwinge + + Backport from master branch: + 2022-05-09 Martin Liska + + * system.h (LIKELY): Define. + (UNLIKELY): Likewise. + 2022-09-12 Tobias Burnus Backport from mainline: diff --git a/gcc/system.h b/gcc/system.h index e10c34f70ec..6b6868d0bbf 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 can use "abort" within a namespace, e.g. "_VSTD::abort();", which fails after we use the preprocessor to redefine "abort" as "fancy_abort" below. */ -- 2.35.1