LLVM: lib/Target/BPF/BPFCheckAndAdjustIR.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "bpf-check-and-opt-ir"
Functions
INITIALIZE_PASS (BPFCheckAndAdjustIR, DEBUG_TYPE, "BPF Check And Adjust IR", false, false) ModulePass *llvm
static bool sinkMinMaxInBB (BasicBlock &BB, const std::function< bool(Instruction *)> &Filter)
static void unrollGEPLoad (CallInst *Call)
static void unrollGEPStore (CallInst *Call)
static bool removeGEPBuiltinsInFunc (Function &F)
static Value * aspaceWrapValue (DenseMap< Value *, Value * > &Cache, Function *F, Value *ToWrap)
static void aspaceWrapOperand (DenseMap< Value *, Value * > &Cache, Instruction *I, unsigned OpNum)
static Value * wrapPtrIfASNotZero (DenseMap< Value *, Value * > &Cache, CallInst *CI, Value *P)
static Instruction * aspaceMemSet (Intrinsic::ID ID, DenseMap< Value *, Value * > &Cache, CallInst *CI)
static Instruction * aspaceMemCpy (Intrinsic::ID ID, DenseMap< Value *, Value * > &Cache, CallInst *CI)
static Instruction * aspaceMemMove (DenseMap< Value *, Value * > &Cache, CallInst *CI)

DEBUG_TYPE

#define DEBUG_TYPE "bpf-check-and-opt-ir"

aspaceMemCpy()

aspaceMemMove()

aspaceMemSet()

aspaceWrapOperand()

aspaceWrapValue()

INITIALIZE_PASS()

INITIALIZE_PASS ( BPFCheckAndAdjustIR ,
DEBUG_TYPE ,
"BPF Check And Adjust IR" ,
false ,
false )

removeGEPBuiltinsInFunc()

sinkMinMaxInBB()

Definition at line 186 of file BPFCheckAndAdjustIR.cpp.

References A(), assert(), B(), Call, Changed, llvm::dyn_cast(), llvm::Filter, llvm::First, llvm::User::getOperand(), llvm::CmpInst::getPredicate(), llvm::CmpInst::getSwappedPredicate(), I, Info, llvm::ICmpInst::isGE(), llvm::ICmpInst::isGT(), llvm::ICmpInst::isLE(), llvm::ICmpInst::isLT(), llvm::ICmpInst::isRelational(), llvm::CmpInst::isSigned(), LHS, P, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::replaceAllUsesWith(), RHS, ToRemove, and X.

unrollGEPLoad()

void unrollGEPLoad ( CallInst * Call) static

unrollGEPStore()

void unrollGEPStore ( CallInst * Call) static

wrapPtrIfASNotZero()