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

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_LIB_TARGET_BPF_BPFINSTRINFO_H

14#define LLVM_LIB_TARGET_BPF_BPFINSTRINFO_H

15

18

19#define GET_INSTRINFO_HEADER

20#include "BPFGenInstrInfo.inc"

21

22namespace llvm {

23class BPFSubtarget;

24

27

28public:

30

32

35 bool KillSrc, bool RenamableDest = false,

36 bool RenamableSrc = false) const override;

37

39

44

53 bool AllowModify) const override;

54

56 int *BytesRemoved = nullptr) const override;

60 int *BytesAdded = nullptr) const override;

61

63

64private:

66

67};

68}

69

70#endif

MachineBasicBlock MachineBasicBlock::iterator DebugLoc DL

MachineBasicBlock MachineBasicBlock::iterator MBBI

const SmallVectorImpl< MachineOperand > MachineBasicBlock * TBB

const SmallVectorImpl< MachineOperand > & Cond

ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...

unsigned insertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override

int getJumpTableIndex(const MachineInstr &MI) const override

const BPFRegisterInfo & getRegisterInfo() const

Definition BPFInstrInfo.h:31

void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, Register DestReg, Register SrcReg, bool KillSrc, bool RenamableDest=false, bool RenamableSrc=false) const override

void storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override

void loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register DestReg, int FrameIndex, const TargetRegisterClass *RC, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override

bool analyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify) const override

bool expandPostRAPseudo(MachineInstr &MI) const override

BPFInstrInfo(const BPFSubtarget &STI)

unsigned removeBranch(MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override

MachineInstrBundleIterator< MachineInstr > iterator

Representation of each machine instruction.

Wrapper class representing virtual and physical registers.

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

This is an optimization pass for GlobalISel generic memory operations.