LLVM 22.0.0git
BPFISelLowering.cpp File Reference

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_tregMaskFromTemplate (const TargetRegisterInfo *TRI, MachineFunction &MF, const uint32_t *BaseRegMask)
static void NegateCC (SDValue &LHS, SDValue &RHS, ISD::CondCode &CC)
static FunctioncreateBPFUnreachable (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< boolBPFExpandMemcpyInOrder ("bpf-expand-memcpy-in-order", cl::Hidden, cl::init(false), cl::desc("Expand memcpy into load/store pairs in order"))
static cl::opt< unsignedBPFMinimumJumpTableEntries ("bpf-min-jump-table-entries", cl::init(13), cl::Hidden, cl::desc("Set minimum number of entries to use a jump table on BPF"))

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "bpf-lower"

Definition at line 36 of file BPFISelLowering.cpp.

◆ SET_NEWCC

#define SET_NEWCC ( X,
Y )
Value:
case ISD::X: \
if (is32BitCmp && HasJmp32) \
NewCC = isSelectRROp ? BPF::Y##_rr_32 : BPF::Y##_ri_32; \
else \
NewCC = isSelectRROp ? BPF::Y##_rr : BPF::Y##_ri; \
break

Referenced by llvm::BPFTargetLowering::EmitInstrWithCustomInserter().

Function Documentation

◆ createBPFUnreachable()

◆ fail()

◆ getTargetNode() [1/2]

SDValue getTargetNode ( ConstantPoolSDNode * N,
const SDLoc & DL,
EVT Ty,
SelectionDAG & DAG,
unsigned Flags )
static

Definition at line 826 of file BPFISelLowering.cpp.

References DL, llvm::SelectionDAG::getTargetConstantPool(), and N.

◆ getTargetNode() [2/2]

SDValue getTargetNode ( JumpTableSDNode * N,
const SDLoc & DL,
EVT Ty,
SelectionDAG & DAG,
unsigned Flags )
static

Definition at line 832 of file BPFISelLowering.cpp.

References DL, llvm::SelectionDAG::getTargetJumpTable(), and N.

◆ NegateCC()

◆ regMaskFromTemplate()

uint32_t * regMaskFromTemplate ( const TargetRegisterInfo * TRI,
MachineFunction & MF,
const uint32_t * BaseRegMask )
static

◆ resetRegMaskBit()

void resetRegMaskBit ( const TargetRegisterInfo * TRI,
uint32_t * RegMask,
MCRegister Reg )
static

Definition at line 439 of file BPFISelLowering.cpp.

References Reg, SubReg, and TRI.

Variable Documentation

◆ BPFExpandMemcpyInOrder

cl::opt< bool > BPFExpandMemcpyInOrder("bpf-expand-memcpy-in-order", cl::Hidden, cl::init(false), cl::desc("Expand memcpy into load/store pairs in order")) ( "bpf-expand-memcpy-in-order" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Expand memcpy into load/store pairs in order")  )
static

◆ BPFMinimumJumpTableEntries

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")) ( "bpf-min-jump-table-entries" ,
cl::init(13) ,
cl::Hidden ,
cl::desc("Set minimum number of entries to use a jump table on BPF")  )
static