From: Gabe Black Date: Fri, 18 Sep 2020 03:46:19 +0000 (-0700) Subject: base: Use M5_UNLIKELY for conditional panic, etc., macros. X-Git-Tag: develop-gem5-snapshot~734 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=89ffa84de61a084d8972d7ead7685430b4426c0e;p=gem5.git base: Use M5_UNLIKELY for conditional panic, etc., macros. panic_if and fail_if should happen at most once in any given simulation, and warn_if, etc., should still not happen most of the time. Change-Id: Iaa6cb03c11b86d84f51cc4738efb8f203de4201c Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/34817 Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power Tested-by: kokoro --- diff --git a/src/base/logging.hh b/src/base/logging.hh index 7113af877..f56420bfa 100644 --- a/src/base/logging.hh +++ b/src/base/logging.hh @@ -196,7 +196,7 @@ class Logger */ #define panic_if(cond, ...) \ do { \ - if ((cond)) { \ + if (M5_UNLIKELY(cond)) { \ panic("panic condition " # cond " occurred: %s", \ csprintf(__VA_ARGS__)); \ } \ @@ -218,7 +218,7 @@ class Logger */ #define fatal_if(cond, ...) \ do { \ - if ((cond)) { \ + if (M5_UNLIKELY(cond)) { \ fatal("fatal condition " # cond " occurred: %s", \ csprintf(__VA_ARGS__)); \ } \ @@ -262,13 +262,13 @@ class Logger */ #define warn_if(cond, ...) \ do { \ - if ((cond)) \ + if (M5_UNLIKELY(cond)) \ warn(__VA_ARGS__); \ } while (0) #define warn_if_once(cond, ...) \ do { \ - if ((cond)) \ + if (M5_UNLIKELY(cond)) \ warn_once(__VA_ARGS__); \ } while (0) /** @} */ // end of api_logger @@ -291,7 +291,7 @@ class Logger #else //!NDEBUG #define chatty_assert(cond, ...) \ do { \ - if (!(cond)) \ + if (M5_UNLIKELY(!(cond))) \ panic("assert(" # cond ") failed: %s", csprintf(__VA_ARGS__)); \ } while (0) #endif // NDEBUG