29 lines
725 B
C
29 lines
725 B
C
|
/*
|
||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This source code is licensed under both the BSD-style license (found in the
|
||
|
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
||
|
* in the COPYING file in the root directory of this source tree).
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Compiler hints to indicate the fast path of an "if" branch: whether
|
||
|
* the if condition is likely to be true or false.
|
||
|
*
|
||
|
* @author Tudor Bosman (tudorb@fb.com)
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#undef LIKELY
|
||
|
#undef UNLIKELY
|
||
|
|
||
|
#if defined(__GNUC__) && __GNUC__ >= 4
|
||
|
#define LIKELY(x) (__builtin_expect((x), 1))
|
||
|
#define UNLIKELY(x) (__builtin_expect((x), 0))
|
||
|
#else
|
||
|
#define LIKELY(x) (x)
|
||
|
#define UNLIKELY(x) (x)
|
||
|
#endif
|