1 /* 2 * Copyright (c) 2016-present, Facebook, Inc. 3 * All rights reserved. 4 * 5 * This source code is licensed under both the BSD-style license (found in the 6 * LICENSE file in the root directory of this source tree) and the GPLv2 (found 7 * in the COPYING file in the root directory of this source tree). 8 */ 9 10 /** 11 * Compiler hints to indicate the fast path of an "if" branch: whether 12 * the if condition is likely to be true or false. 13 * 14 * @author Tudor Bosman (tudorb@fb.com) 15 */ 16 17 #pragma once 18 19 #undef LIKELY 20 #undef UNLIKELY 21 22 #if defined(__GNUC__) && __GNUC__ >= 4 23 #define LIKELY(x) (__builtin_expect((x), 1)) 24 #define UNLIKELY(x) (__builtin_expect((x), 0)) 25 #else 26 #define LIKELY(x) (x) 27 #define UNLIKELY(x) (x) 28 #endif 29