From: Alexander Monakov Date: Mon, 08 Sep 2025 18:49:37 GMT Subject: [PATCH v2 2/4] xdiff: annotate unlikely branch Message-ID: <20250908184939.16338-2-amonakov@ispras.ru> In-Reply-To: <20250908184939.16338-1-amonakov@ispras.ru> XDL_ALLOC_GROW is used in a hot loop in xdl_prepare_ctx. Inform the compiler that branching to the reallocation helper happens rarely to improve code layout. Signed-off-by: Alexander Monakov --- xdiff/xmacros.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/xdiff/xmacros.h b/xdiff/xmacros.h index 8487bb396f..d892e022d4 100644 --- a/xdiff/xmacros.h +++ b/xdiff/xmacros.h @@ -23,8 +23,11 @@ #if !defined(XMACROS_H) #define XMACROS_H - - +#if __GNUC__ >= 3 +#define XDL_LIKELY(e) __builtin_expect((e), 1) +#else +#define XDL_LIKELY(e) (e) +#endif #define XDL_MIN(a, b) ((a) < (b) ? (a): (b)) #define XDL_MAX(a, b) ((a) > (b) ? (a): (b)) @@ -64,8 +67,8 @@ do { \ * elements) as necessary. Frees p and returns -1 on failure, returns * 0 on success */ -#define XDL_ALLOC_GROW(p, nr, alloc) \ - (-!((nr) <= (alloc) || \ +#define XDL_ALLOC_GROW(p, nr, alloc) \ + (-!(XDL_LIKELY((nr) <= (alloc)) || \ ((p) = xdl_alloc_grow_helper((p), (nr), &(alloc), sizeof(*(p)))))) #endif /* #if !defined(XMACROS_H) */ -- 2.49.1