LLVM  14.0.0git
Namespaces | Macros | Functions
BPFAbstractMemberAccess.cpp File Reference
#include "BPF.h"
#include "BPFCORE.h"
#include "BPFTargetMachine.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/Pass.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include <stack>
Include dependency graph for BPFAbstractMemberAccess.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This file implements support for optimizing divisions by a constant.
 

Macros

#define DEBUG_TYPE   "bpf-abstract-member-access"
 

Functions

 INITIALIZE_PASS (BPFAbstractMemberAccessLegacyPass, DEBUG_TYPE, "BPF Abstract Member Access", false, false) FunctionPass *llvm
 
static bool SkipDIDerivedTag (unsigned Tag, bool skipTypedef)
 
static DITypestripQualifiers (DIType *Ty, bool skipTypedef=true)
 
static const DITypestripQualifiers (const DIType *Ty)
 
static uint32_t calcArraySize (const DICompositeType *CTy, uint32_t StartDim)
 
static TypegetBaseElementType (const CallInst *Call)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "bpf-abstract-member-access"

Definition at line 94 of file BPFAbstractMemberAccess.cpp.

Function Documentation

◆ calcArraySize()

static uint32_t calcArraySize ( const DICompositeType CTy,
uint32_t  StartDim 
)
static

◆ getBaseElementType()

static Type* getBaseElementType ( const CallInst Call)
static

Definition at line 271 of file BPFAbstractMemberAccess.cpp.

◆ INITIALIZE_PASS()

INITIALIZE_PASS ( BPFAbstractMemberAccessLegacyPass  ,
DEBUG_TYPE  ,
"BPF Abstract Member Access"  ,
false  ,
false   
)

Definition at line 205 of file BPFAbstractMemberAccess.cpp.

References TM.

◆ SkipDIDerivedTag()

static bool SkipDIDerivedTag ( unsigned  Tag,
bool  skipTypedef 
)
static

Definition at line 227 of file BPFAbstractMemberAccess.cpp.

Referenced by stripQualifiers().

◆ stripQualifiers() [1/2]

static const DIType* stripQualifiers ( const DIType Ty)
static

Definition at line 247 of file BPFAbstractMemberAccess.cpp.

References SkipDIDerivedTag().

◆ stripQualifiers() [2/2]

static DIType* stripQualifiers ( DIType Ty,
bool  skipTypedef = true 
)
static

Definition at line 238 of file BPFAbstractMemberAccess.cpp.

References SkipDIDerivedTag().