vppinfra: add COMPILE_TIME_CONST() macro 13/32113/2
authorDamjan Marion <damarion@cisco.com>
Sun, 25 Apr 2021 08:55:53 +0000 (10:55 +0200)
committerFlorin Coras <florin.coras@gmail.com>
Sun, 25 Apr 2021 20:48:53 +0000 (20:48 +0000)
Type: improvement
Change-Id: I10d7489f57bc60eb92049962b4e6ea84974f17b8
Signed-off-by: Damjan Marion <damarion@cisco.com>
src/vppinfra/clib.h
src/vppinfra/string.h

index 05af8fe..4629a7d 100644 (file)
 /* Hints to compiler about hot/cold code. */
 #define PREDICT_FALSE(x) __builtin_expect((x),0)
 #define PREDICT_TRUE(x) __builtin_expect((x),1)
+#define COMPILE_TIME_CONST(x) __builtin_constant_p (x)
 
 /*
  * Compiler barrier
index fb46a0c..76d345e 100644 (file)
@@ -143,7 +143,7 @@ memcpy_s_inline (void *__restrict__ dest, rsize_t dmax,
    * Optimize constant-number-of-bytes calls without asking
    * "too many questions for someone from New Jersey"
    */
-  if (__builtin_constant_p (n))
+  if (COMPILE_TIME_CONST (n))
     {
       clib_memcpy_fast (dest, src, n);
       return EOK;