From 87ad66eea0824af26afde2c15a2d288989c908e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Vavru=C5=A1a?= Date: Tue, 30 Jun 2015 01:08:44 +0200 Subject: [PATCH] lib: helping compiler with early returns --- lib/defines.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/defines.h b/lib/defines.h index 017a14087..9709380c9 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -25,7 +25,10 @@ * Error codes. */ #define kr_ok() 0 -#define kr_error(x) -abs(x) +/* Mark as cold to mark all branches as unlikely. */ +static inline int __attribute__((__cold__)) kr_error(int x) { + return -abs(x); +} #define kr_strerror(x) strerror(abs(x)) /*