LLVM 22.0.0git
|
#include "BPFISelLowering.h"
#include "BPF.h"
#include "BPFSubtarget.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/DIBuilder.h"
#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/DiagnosticPrinter.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "BPFGenCallingConv.inc"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "bpf-lower" |
#define | SET_NEWCC(X, Y) |
Functions | |
static void | fail (const SDLoc &DL, SelectionDAG &DAG, const Twine &Msg, SDValue Val={}) |
static void | resetRegMaskBit (const TargetRegisterInfo *TRI, uint32_t *RegMask, MCRegister Reg) |
static uint32_t * | regMaskFromTemplate (const TargetRegisterInfo *TRI, MachineFunction &MF, const uint32_t *BaseRegMask) |
static void | NegateCC (SDValue &LHS, SDValue &RHS, ISD::CondCode &CC) |
static Function * | createBPFUnreachable (Module *M) |
static SDValue | getTargetNode (ConstantPoolSDNode *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG, unsigned Flags) |
static SDValue | getTargetNode (JumpTableSDNode *N, const SDLoc &DL, EVT Ty, SelectionDAG &DAG, unsigned Flags) |
Variables | |
static cl::opt< bool > | BPFExpandMemcpyInOrder ("bpf-expand-memcpy-in-order", cl::Hidden, cl::init(false), cl::desc("Expand memcpy into load/store pairs in order")) |
static cl::opt< unsigned > | BPFMinimumJumpTableEntries ("bpf-min-jump-table-entries", cl::init(13), cl::Hidden, cl::desc("Set minimum number of entries to use a jump table on BPF")) |
#define DEBUG_TYPE "bpf-lower" |
Definition at line 36 of file BPFISelLowering.cpp.
Referenced by llvm::BPFTargetLowering::EmitInstrWithCustomInserter().
Definition at line 755 of file BPFISelLowering.cpp.
References BPF_TRAP, llvm::CallingConv::C, llvm::Function::Create(), llvm::DIBuilder::createFunction(), llvm::DIBuilder::createSubroutineType(), llvm::GlobalValue::ExternalWeakLinkage, llvm::FunctionType::get(), llvm::DIBuilder::getOrCreateTypeArray(), llvm::Type::getVoidTy(), llvm::Function::setCallingConv(), llvm::GlobalValue::setDSOLocal(), llvm::GlobalObject::setSection(), and llvm::Function::setSubprogram().
Definition at line 46 of file BPFISelLowering.cpp.
References DL.
Referenced by checkAsyncContextProjectFunction(), checkAsyncFuncPointer(), checkConstantInt(), llvm::CoroAsyncEndInst::checkWellFormed(), checkWFAlloc(), checkWFDealloc(), and checkWFRetconPrototype().
|
static |
Definition at line 826 of file BPFISelLowering.cpp.
References DL, llvm::SelectionDAG::getTargetConstantPool(), and N.
|
static |
Definition at line 832 of file BPFISelLowering.cpp.
References DL, llvm::SelectionDAG::getTargetJumpTable(), and N.
|
static |
Definition at line 680 of file BPFISelLowering.cpp.
References llvm::ISD::getSetCCSwappedOperands(), LHS, RHS, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETULE, llvm::ISD::SETULT, and std::swap().
|
static |
Definition at line 445 of file BPFISelLowering.cpp.
References llvm::MachineFunction::allocateRegMask(), llvm::MachineOperand::getRegMaskSize(), and TRI.
|
static |
Definition at line 439 of file BPFISelLowering.cpp.
|
static |
Referenced by llvm::BPFTargetLowering::BPFTargetLowering().
|
static |
Referenced by llvm::BPFTargetLowering::BPFTargetLowering().