LLVM 20.0.0git
BPFCORE.h
Go to the documentation of this file.
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#include "llvm/ADT/StringRef.h"
14
15namespace llvm {
16
17class BasicBlock;
18class Instruction;
19class Module;
20
22public:
26
28 };
29
34
36 };
37
41
43 };
44
45 /// The attribute attached to globals representing a field access
46 static constexpr StringRef AmaAttr = "btf_ama";
47 /// The attribute attached to globals representing a type id
48 static constexpr StringRef TypeIdAttr = "btf_type_id";
49
50 /// llvm.bpf.passthrough builtin seq number
52
53 /// Insert a bpf passthrough builtin function.
55 Instruction *Input,
57 static void removeArrayAccessCall(CallInst *Call);
58 static void removeStructAccessCall(CallInst *Call);
59 static void removeUnionAccessCall(CallInst *Call);
60};
61
62} // namespace llvm
63
64#endif
Machine Check Debug Module
static void removeArrayAccessCall(CallInst *Call)
static uint32_t SeqNum
llvm.bpf.passthrough builtin seq number
Definition: BPFCORE.h:51
static void removeStructAccessCall(CallInst *Call)
static constexpr StringRef TypeIdAttr
The attribute attached to globals representing a type id.
Definition: BPFCORE.h:48
static void removeUnionAccessCall(CallInst *Call)
static Instruction * insertPassThrough(Module *M, BasicBlock *BB, Instruction *Input, Instruction *Before)
Insert a bpf passthrough builtin function.
static constexpr StringRef AmaAttr
The attribute attached to globals representing a field access.
Definition: BPFCORE.h:46
LLVM Basic Block Representation.
Definition: BasicBlock.h:61
This class represents a function call, abstracting a target machine's calling convention.
A Module instance is used to store all the information related to an LLVM module.
Definition: Module.h:65
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
@ BasicBlock
Various leaf nodes.
Definition: ISDOpcodes.h:71
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18