LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::RegisterOperands Class Reference

List of registers defined and used by a machine instruction. More...

#include "llvm/CodeGen/RegisterPressure.h"

Public Member Functions

void collect (const MachineInstr &MI, const TargetRegisterInfo &TRI, const MachineRegisterInfo &MRI, bool TrackLaneMasks, bool IgnoreDead)
 Analyze the given instruction MI and fill in the Uses, Defs and DeadDefs list based on the MachineOperand flags.
 
void detectDeadDefs (const MachineInstr &MI, const LiveIntervals &LIS)
 Use liveness information to find dead defs not marked with a dead flag and move them to the DeadDefs vector.
 
void adjustLaneLiveness (const LiveIntervals &LIS, const MachineRegisterInfo &MRI, SlotIndex Pos, MachineInstr *AddFlagsMI=nullptr)
 Use liveness information to find out which uses/defs are partially undefined/dead and adjust the RegisterMaskPairs accordingly.
 

Public Attributes

SmallVector< RegisterMaskPair, 8 > Uses
 List of virtual registers and register units read by the instruction.
 
SmallVector< RegisterMaskPair, 8 > Defs
 List of virtual registers and register units defined by the instruction which are not dead.
 
SmallVector< RegisterMaskPair, 8 > DeadDefs
 List of virtual registers and register units defined by the instruction but dead.
 

Detailed Description

List of registers defined and used by a machine instruction.

Definition at line 166 of file RegisterPressure.h.

Member Function Documentation

◆ adjustLaneLiveness()

void RegisterOperands::adjustLaneLiveness ( const LiveIntervals LIS,
const MachineRegisterInfo MRI,
SlotIndex  Pos,
MachineInstr AddFlagsMI = nullptr 
)

◆ collect()

void RegisterOperands::collect ( const MachineInstr MI,
const TargetRegisterInfo TRI,
const MachineRegisterInfo MRI,
bool  TrackLaneMasks,
bool  IgnoreDead 
)

◆ detectDeadDefs()

void RegisterOperands::detectDeadDefs ( const MachineInstr MI,
const LiveIntervals LIS 
)

Member Data Documentation

◆ DeadDefs

SmallVector<RegisterMaskPair, 8> llvm::RegisterOperands::DeadDefs

◆ Defs

SmallVector<RegisterMaskPair, 8> llvm::RegisterOperands::Defs

◆ Uses

SmallVector<RegisterMaskPair, 8> llvm::RegisterOperands::Uses

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