9#ifndef LLVM_LIB_TARGET_BPF_BPFCORE_H
10#define LLVM_LIB_TARGET_BPF_BPFCORE_H
26 switch (Element->
getTag()) {
27 case dwarf::DW_TAG_member:
29 case dwarf::DW_TAG_variant_part:
This file contains constants used for implementing Dwarf debug support.
static void removeArrayAccessCall(CallInst *Call)
static uint32_t SeqNum
llvm.bpf.passthrough builtin seq number
static void removeStructAccessCall(CallInst *Call)
@ PRESERVE_TYPE_INFO_EXISTENCE
@ MAX_PRESERVE_TYPE_INFO_FLAG
@ PRESERVE_TYPE_INFO_MATCH
@ PRESERVE_TYPE_INFO_SIZE
static constexpr StringRef TypeIdAttr
The attribute attached to globals representing a type id.
static void removeUnionAccessCall(CallInst *Call)
@ PRESERVE_ENUM_VALUE_EXISTENCE
@ MAX_PRESERVE_ENUM_VALUE_FLAG
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.
@ BTF_TYPE_ID_REMOTE_RELOC
@ BTF_TYPE_ID_LOCAL_RELOC
LLVM Basic Block Representation.
This class represents a function call, abstracting a target machine's calling convention.
Tagged DWARF-like metadata node.
LLVM_ABI dwarf::Tag getTag() const
A Module instance is used to store all the information related to an LLVM module.
Represent a constant reference to a string, i.e.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
This is an optimization pass for GlobalISel generic memory operations.
uint64_t getBTFRecordElementOffset(const DINode *Element)
Return the bit offset used to order an element of a BTF structure record.
decltype(auto) cast(const From &Val)
cast<X> - Return the argument parameter cast to the specified type.