xref: /freebsd/contrib/llvm-project/llvm/lib/Target/BPF/BPFCORE.h (revision e40139ff33b48b56a24c808b166b04b8ee6f5b21)
1 //===- BPFCORE.h - Common info for Compile-Once Run-EveryWhere  -*- 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 #ifndef LLVM_LIB_TARGET_BPF_BPFCORE_H
10 #define LLVM_LIB_TARGET_BPF_BPFCORE_H
11 
12 namespace llvm {
13 
14 class BPFCoreSharedInfo {
15 public:
16   enum OffsetRelocKind : uint32_t {
17     FIELD_BYTE_OFFSET = 0,
18     FIELD_BYTE_SIZE,
19     FIELD_EXISTENCE,
20     FIELD_SIGNEDNESS,
21     FIELD_LSHIFT_U64,
22     FIELD_RSHIFT_U64,
23 
24     MAX_FIELD_RELOC_KIND,
25   };
26   /// The attribute attached to globals representing a field access
27   static const std::string AmaAttr;
28 };
29 
30 } // namespace llvm
31 
32 #endif
33