LLVM 20.0.0git
|
#include "BPF.h"
#include "BPFCORE.h"
#include "BPFTargetMachine.h"
#include "llvm/BinaryFormat/Dwarf.h"
#include "llvm/DebugInfo/BTF/BTF.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicsBPF.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include <stack>
Go to the source code of this file.
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "bpf-abstract-member-access" |
Functions | |
static bool | SkipDIDerivedTag (unsigned Tag, bool skipTypedef) |
static DIType * | stripQualifiers (DIType *Ty, bool skipTypedef=true) |
static const DIType * | stripQualifiers (const DIType *Ty) |
static uint32_t | calcArraySize (const DICompositeType *CTy, uint32_t StartDim) |
static Type * | getBaseElementType (const CallInst *Call) |
static uint64_t | getConstant (const Value *IndexValue) |
static void | replaceWithGEP (CallInst *Call, uint32_t DimensionIndex, uint32_t GEPIndex) |
#define DEBUG_TYPE "bpf-abstract-member-access" |
Definition at line 97 of file BPFAbstractMemberAccess.cpp.
|
static |
Definition at line 299 of file BPFAbstractMemberAccess.cpp.
References llvm::DISubrange::getCount(), llvm::DICompositeType::getElements(), and I.
Definition at line 314 of file BPFAbstractMemberAccess.cpp.
Referenced by replaceWithGEP().
Definition at line 319 of file BPFAbstractMemberAccess.cpp.
References assert(), llvm::ConstantInt::getValue(), and llvm::APInt::getZExtValue().
Referenced by replaceWithGEP().
Definition at line 409 of file BPFAbstractMemberAccess.cpp.
References llvm::GetElementPtrInst::CreateInBounds(), GEP, getBaseElementType(), getConstant(), llvm::Type::getInt32Ty(), I, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
Referenced by llvm::BPFCoreSharedInfo::removeArrayAccessCall(), and llvm::BPFCoreSharedInfo::removeStructAccessCall().
Definition at line 270 of file BPFAbstractMemberAccess.cpp.
Referenced by stripQualifiers().
Definition at line 290 of file BPFAbstractMemberAccess.cpp.
References llvm::DINode::getTag(), and SkipDIDerivedTag().
Definition at line 281 of file BPFAbstractMemberAccess.cpp.
References llvm::DINode::getTag(), and SkipDIDerivedTag().