From: Julian Seward Date: Mon, 9 May 2011 21:54:44 +0000 (+0000) Subject: Tidying up of branch-predict hint macros LIKELY/UNLIKELY. Fixes X-Git-Tag: svn/VALGRIND_3_7_0~501 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e22276cef071e6f66ad8450815bebc9dafabeef4;p=thirdparty%2Fvalgrind.git Tidying up of branch-predict hint macros LIKELY/UNLIKELY. Fixes #271504. (Florian Krohm, britzel@acm.org) git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11736 --- diff --git a/coregrind/pub_core_libcassert.h b/coregrind/pub_core_libcassert.h index 3512100a06..427bd5f527 100644 --- a/coregrind/pub_core_libcassert.h +++ b/coregrind/pub_core_libcassert.h @@ -47,14 +47,14 @@ "valgrind", VG_BUGS_TO, "") #define vg_assert(expr) \ - ((void) ((expr) ? 0 : \ + ((void) (LIKELY(expr) ? 0 : \ (VG_(assert_fail) (/*isCore*/True, #expr, \ __FILE__, __LINE__, __PRETTY_FUNCTION__, \ ""), \ 0))) #define vg_assert2(expr, format, args...) \ - ((void) ((expr) ? 0 : \ + ((void) (LIKELY(expr) ? 0 : \ (VG_(assert_fail) (/*isCore*/True, #expr, \ __FILE__, __LINE__, __PRETTY_FUNCTION__, \ format, ##args), \ diff --git a/include/pub_tool_basics.h b/include/pub_tool_basics.h index d467c0e829..5868d9aac5 100644 --- a/include/pub_tool_basics.h +++ b/include/pub_tool_basics.h @@ -316,9 +316,9 @@ static inline Bool sr_EQ ( SysRes sr1, SysRes sr2 ) { #define VG_BUGS_TO "www.valgrind.org" /* Branch prediction hints. */ -#if 1 /*HAVE_BUILTIN_EXPECT*/ +#if defined(__GNUC__) # define LIKELY(x) __builtin_expect(!!(x), 1) -# define UNLIKELY(x) __builtin_expect((x), 0) +# define UNLIKELY(x) __builtin_expect(!!(x), 0) #else # define LIKELY(x) (x) # define UNLIKELY(x) (x) diff --git a/include/pub_tool_libcassert.h b/include/pub_tool_libcassert.h index af921128ce..665ab0e181 100644 --- a/include/pub_tool_libcassert.h +++ b/include/pub_tool_libcassert.h @@ -32,7 +32,7 @@ #define __PUB_TOOL_LIBCBASSERT_H #define tl_assert(expr) \ - ((void) ((expr) ? 0 : \ + ((void) (LIKELY(expr) ? 0 : \ (VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr, \ (const Char*)__FILE__, __LINE__, \ (const Char*)__PRETTY_FUNCTION__, \ @@ -40,7 +40,7 @@ 0))) #define tl_assert2(expr, format, args...) \ - ((void) ((expr) ? 0 : \ + ((void) (LIKELY(expr) ? 0 : \ (VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr, \ (const Char*)__FILE__, __LINE__, \ (const Char*)__PRETTY_FUNCTION__, \