LLVM 22.0.0git
llvm::BPFInstrInfo Class Reference

#include "Target/BPF/BPFInstrInfo.h"

Inheritance diagram for llvm::BPFInstrInfo:
[legend]

Public Member Functions

 BPFInstrInfo (const BPFSubtarget &STI)
const BPFRegisterInfogetRegisterInfo () const
void copyPhysReg (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, const DebugLoc &DL, Register DestReg, Register SrcReg, bool KillSrc, bool RenamableDest=false, bool RenamableSrc=false) const override
bool expandPostRAPseudo (MachineInstr &MI) const override
void storeRegToStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register SrcReg, bool isKill, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override
void loadRegFromStackSlot (MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI, Register DestReg, int FrameIndex, const TargetRegisterClass *RC, const TargetRegisterInfo *TRI, Register VReg, MachineInstr::MIFlag Flags=MachineInstr::NoFlags) const override
bool analyzeBranch (MachineBasicBlock &MBB, MachineBasicBlock *&TBB, MachineBasicBlock *&FBB, SmallVectorImpl< MachineOperand > &Cond, bool AllowModify) const override
unsigned removeBranch (MachineBasicBlock &MBB, int *BytesRemoved=nullptr) const override
unsigned insertBranch (MachineBasicBlock &MBB, MachineBasicBlock *TBB, MachineBasicBlock *FBB, ArrayRef< MachineOperand > Cond, const DebugLoc &DL, int *BytesAdded=nullptr) const override

Detailed Description

Definition at line 25 of file BPFInstrInfo.h.

Constructor & Destructor Documentation

◆ BPFInstrInfo()

BPFInstrInfo::BPFInstrInfo ( const BPFSubtarget & STI)
explicit

Definition at line 29 of file BPFInstrInfo.cpp.

Member Function Documentation

◆ analyzeBranch()

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

Definition at line 167 of file BPFInstrInfo.cpp.

References Cond, I, MBB, and TBB.

◆ copyPhysReg()

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

◆ expandPostRAPseudo()

bool BPFInstrInfo::expandPostRAPseudo ( MachineInstr & MI) const
override

Definition at line 117 of file BPFInstrInfo.cpp.

References MI.

◆ getRegisterInfo()

const BPFRegisterInfo & llvm::BPFInstrInfo::getRegisterInfo ( ) const
inline

Definition at line 31 of file BPFInstrInfo.h.

◆ insertBranch()

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

◆ loadRegFromStackSlot()

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

◆ removeBranch()

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

Definition at line 242 of file BPFInstrInfo.cpp.

References assert(), llvm::Count, I, and MBB.

◆ storeRegToStackSlot()


The documentation for this class was generated from the following files: