LLVM 22.0.0git
llvm::DeadLaneDetector Class Reference

#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 VRegInfogetVRegInfo (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.

Detailed Description

Definition at line 44 of file DetectDeadLanes.h.

Constructor & Destructor Documentation

◆ DeadLaneDetector()

DeadLaneDetector::DeadLaneDetector ( const MachineRegisterInfo * MRI,
const TargetRegisterInfo * TRI )

Definition at line 41 of file DetectDeadLanes.cpp.

Member Function Documentation

◆ computeSubRegisterLaneBitInfo()

void llvm::DeadLaneDetector::computeSubRegisterLaneBitInfo ( )

Update the DefinedLanes and the UsedLanes for all virtual registers.

◆ getVRegInfo()

const VRegInfo & llvm::DeadLaneDetector::getVRegInfo ( unsigned RegIdx) const
inline

Definition at line 59 of file DetectDeadLanes.h.

◆ isDefinedByCopy()

bool llvm::DeadLaneDetector::isDefinedByCopy ( unsigned RegIdx) const
inline

Definition at line 63 of file DetectDeadLanes.h.

◆ transferDefinedLanes()

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.

◆ transferUsedLanes()

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.


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