1//===--- BuiltinsBPF.def - BPF Builtin function database --------*- C++ -*-===// 2// 3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4// See https://llvm.org/LICENSE.txt for license information. 5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6// 7//===----------------------------------------------------------------------===// 8// 9// This file defines the BPF-specific builtin function database. Users of 10// this file must define the BUILTIN macro to make use of this information. 11// 12//===----------------------------------------------------------------------===// 13 14// The format of this database matches clang/Basic/Builtins.def. 15 16#if defined(BUILTIN) && !defined(TARGET_BUILTIN) 17# define TARGET_BUILTIN(ID, TYPE, ATTRS, FEATURE) BUILTIN(ID, TYPE, ATTRS) 18#endif 19 20// Get record field information. 21TARGET_BUILTIN(__builtin_preserve_field_info, "Ui.", "t", "") 22 23// Get BTF type id. 24TARGET_BUILTIN(__builtin_btf_type_id, "LUi.", "t", "") 25 26// Get type information. 27TARGET_BUILTIN(__builtin_preserve_type_info, "Ui.", "t", "") 28 29// Preserve enum value. 30TARGET_BUILTIN(__builtin_preserve_enum_value, "Li.", "t", "") 31 32#undef BUILTIN 33#undef TARGET_BUILTIN 34