aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/opthelpers.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/common/opthelpers.h b/common/opthelpers.h
index 87045739..5e6f54cf 100644
--- a/common/opthelpers.h
+++ b/common/opthelpers.h
@@ -8,23 +8,23 @@
#endif
#if defined(__GNUC__) || HAS_BUILTIN(__builtin_expect)
-/* LIKELY optimizes the case where the condition is true. The condition is not
- * required to be true, but it can result in more optimal code for the true
- * path at the expense of a less optimal false path.
+/* likely() optimizes for the case where the condition is true. The condition
+ * is not required to be true, but it can result in more optimal code for the
+ * true path at the expense of a less optimal false path.
*/
-#define LIKELY(x) (__builtin_expect(!!(x), !false))
constexpr bool likely(bool expr) { return __builtin_expect(expr, true); }
-/* The opposite of LIKELY, optimizing the case where the condition is false. */
-#define UNLIKELY(x) (__builtin_expect(!!(x), false))
+/* The opposite of likely(), optimizing for the case where the condition is
+ * false.
+ */
constexpr bool unlikely(bool expr) { return __builtin_expect(expr, false); }
#else
-#define LIKELY(x) (!!(x))
-#define UNLIKELY(x) (!!(x))
constexpr bool likely(bool expr) { return expr; }
constexpr bool unlikely(bool expr) { return expr; }
#endif
+#define LIKELY(x) (likely(x))
+#define UNLIKELY(x) (unlikely(x))
#if HAS_BUILTIN(__builtin_assume)
/* Unlike LIKELY, ASSUME requires the condition to be true or else it invokes