• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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