LLVM 22.0.0git
MVEVPTBlockPass.cpp File Reference

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "arm-mve-vpt"

Functions

static MachineInstrfindVCMPToFoldIntoVPST (MachineBasicBlock::iterator MI, const TargetRegisterInfo *TRI, unsigned &NewOpcode)
static bool StepOverPredicatedInstrs (MachineBasicBlock::instr_iterator &Iter, MachineBasicBlock::instr_iterator EndIter, unsigned MaxSteps, unsigned &NumInstrsSteppedOver)
static bool IsVPRDefinedOrKilledByBlock (MachineBasicBlock::iterator Iter, MachineBasicBlock::iterator End)
static ARM::PredBlockMask GetInitialBlockMask (unsigned BlockSize)
static ARM::PredBlockMask CreateVPTBlock (MachineBasicBlock::instr_iterator &Iter, MachineBasicBlock::instr_iterator EndIter, SmallVectorImpl< MachineInstr * > &DeadInstructions)

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "arm-mve-vpt"

Definition at line 30 of file MVEVPTBlockPass.cpp.

Function Documentation

◆ CreateVPTBlock()

◆ findVCMPToFoldIntoVPST()

MachineInstr * findVCMPToFoldIntoVPST ( MachineBasicBlock::iterator MI,
const TargetRegisterInfo * TRI,
unsigned & NewOpcode )
static

◆ GetInitialBlockMask()

ARM::PredBlockMask GetInitialBlockMask ( unsigned BlockSize)
static

◆ IsVPRDefinedOrKilledByBlock()

bool IsVPRDefinedOrKilledByBlock ( MachineBasicBlock::iterator Iter,
MachineBasicBlock::iterator End )
static

Definition at line 127 of file MVEVPTBlockPass.cpp.

Referenced by CreateVPTBlock().

◆ StepOverPredicatedInstrs()

bool StepOverPredicatedInstrs ( MachineBasicBlock::instr_iterator & Iter,
MachineBasicBlock::instr_iterator EndIter,
unsigned MaxSteps,
unsigned & NumInstrsSteppedOver )
static