LLVM 22.0.0git
|
#include "llvm/CodeGen/DetectDeadLanes.h"
Classes | |
struct | VRegInfo |
Contains a bitmask of which lanes of a given virtual register are defined and which ones are actually used. More... |
Public Member Functions | |
DeadLaneDetector (const MachineRegisterInfo *MRI, const TargetRegisterInfo *TRI) | |
void | computeSubRegisterLaneBitInfo () |
Update the DefinedLanes and the UsedLanes for all virtual registers. | |
const VRegInfo & | getVRegInfo (unsigned RegIdx) const |
bool | isDefinedByCopy (unsigned RegIdx) const |
LaneBitmask | transferDefinedLanes (const MachineOperand &Def, unsigned OpNum, LaneBitmask DefinedLanes) const |
Given a mask DefinedLanes of lanes defined at operand OpNum of COPY-like instruction, determine which lanes are defined at the output operand Def . | |
LaneBitmask | transferUsedLanes (const MachineInstr &MI, LaneBitmask UsedLanes, const MachineOperand &MO) const |
Given a mask UsedLanes used from the output of instruction MI determine which lanes are used from operand MO of this instruction. |
Definition at line 44 of file DetectDeadLanes.h.
DeadLaneDetector::DeadLaneDetector | ( | const MachineRegisterInfo * | MRI, |
const TargetRegisterInfo * | TRI ) |
Definition at line 41 of file DetectDeadLanes.cpp.
void llvm::DeadLaneDetector::computeSubRegisterLaneBitInfo | ( | ) |
Update the DefinedLanes
and the UsedLanes
for all virtual registers.
Definition at line 59 of file DetectDeadLanes.h.
Definition at line 63 of file DetectDeadLanes.h.
LaneBitmask DeadLaneDetector::transferDefinedLanes | ( | const MachineOperand & | Def, |
unsigned | OpNum, | ||
LaneBitmask | DefinedLanes ) const |
Given a mask DefinedLanes
of lanes defined at operand OpNum
of COPY-like instruction, determine which lanes are defined at the output operand Def
.
Definition at line 226 of file DetectDeadLanes.cpp.
References assert(), llvm_unreachable, and MI.
LaneBitmask DeadLaneDetector::transferUsedLanes | ( | const MachineInstr & | MI, |
LaneBitmask | UsedLanes, | ||
const MachineOperand & | MO ) const |
Given a mask UsedLanes
used from the output of instruction MI
determine which lanes are used from operand MO
of this instruction.
Definition at line 145 of file DetectDeadLanes.cpp.
References assert(), llvm::TargetRegisterClass::CoveredBySubRegs, llvm::MachineOperand::getOperandNo(), llvm::TargetRegisterClass::LaneMask, llvm_unreachable, lowersToCopies(), and MI.