LLVM: lib/Target/BPF/BPF.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9#ifndef LLVM_LIB_TARGET_BPF_BPF_H

10#define LLVM_LIB_TARGET_BPF_BPF_H

11

17

18namespace llvm {

24

25#define BPF_TRAP "__bpf_trap"

26

28

34

38

46

48 : public PassInfoMixin {

50

51public:

54

56};

57

64

71

73 : public PassInfoMixin {

74public:

76

78};

79

84

86 : public PassInfoMixin {

87 bool AllowPartial;

88

89public:

92

94

95 static std::pair<GetElementPtrInst *, LoadInst *>

97

98 static std::pair<GetElementPtrInst *, StoreInst *>

100};

101

102}

103

104#endif

This header defines various interfaces for pass management in LLVM.

static bool isRequired()

Definition BPF.h:77

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

static bool isRequired()

Definition BPF.h:55

BPFAbstractMemberAccessPass(BPFTargetMachine *TM)

Definition BPF.h:52

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

static bool isRequired()

Definition BPF.h:69

static bool isRequired()

Definition BPF.h:62

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

static bool isRequired()

Definition BPF.h:93

static std::pair< GetElementPtrInst *, StoreInst * > reconstructStore(CallInst *Call)

BPFPreserveStaticOffsetPass(bool AllowPartial)

Definition BPF.h:90

static std::pair< GetElementPtrInst *, LoadInst * > reconstructLoad(CallInst *Call)

PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM)

This class represents a function call, abstracting a target machine's calling convention.

FunctionPass class - This class is used to implement most global optimizations.

ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...

A Module instance is used to store all the information related to an LLVM module.

PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...

A set of analyses that are preserved following a run of a transformation pass.

This is an optimization pass for GlobalISel generic memory operations.

void initializeBPFMIPreEmitPeepholePass(PassRegistry &)

void initializeBPFMISimplifyPatchablePass(PassRegistry &)

FunctionPass * createBPFMISimplifyPatchablePass()

FunctionPass * createBPFMIPreEmitCheckingPass()

ModulePass * createBPFCheckAndAdjustIR()

FunctionPass * createBPFMIPreEmitPeepholePass()

void initializeBPFMIPeepholePass(PassRegistry &)

FunctionPass * createBPFMIPeepholePass()

void initializeBPFAsmPrinterPass(PassRegistry &)

void initializeBPFCheckAndAdjustIRPass(PassRegistry &)

void initializeBPFMIPreEmitCheckingPass(PassRegistry &)

FunctionPass * createBPFISelDag(BPFTargetMachine &TM)

AnalysisManager< Function > FunctionAnalysisManager

Convenience typedef for the Function analysis manager.

InstructionSelector * createBPFInstructionSelector(const BPFTargetMachine &, const BPFSubtarget &, const BPFRegisterBankInfo &)

void initializeBPFDAGToDAGISelLegacyPass(PassRegistry &)

AnalysisManager< Module > ModuleAnalysisManager

Convenience typedef for the Module analysis manager.

A CRTP mix-in to automatically provide informational APIs needed for passes.