class RegisterOperands
Declaration
class RegisterOperands { /* full declaration omitted */ };
Description
List of registers defined and used by a machine instruction.
Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:166
Member Variables
- public SmallVector<llvm::RegisterMaskPair, 8> Uses
- List of virtual registers and register units read by the instruction.
- public SmallVector<llvm::RegisterMaskPair, 8> Defs
- List of virtual registers and register units defined by the instruction which are not dead.
- public SmallVector<llvm::RegisterMaskPair, 8> DeadDefs
- List of virtual registers and register units defined by the instruction but dead.
Method Overview
- public void adjustLaneLiveness(const llvm::LiveIntervals & LIS, const llvm::MachineRegisterInfo & MRI, llvm::SlotIndex Pos, llvm::MachineInstr * AddFlagsMI = nullptr)
- public void collect(const llvm::MachineInstr & MI, const llvm::TargetRegisterInfo & TRI, const llvm::MachineRegisterInfo & MRI, bool TrackLaneMasks, bool IgnoreDead)
- public void detectDeadDefs(const llvm::MachineInstr & MI, const llvm::LiveIntervals & LIS)
Methods
¶void adjustLaneLiveness(
const llvm::LiveIntervals& LIS,
const llvm::MachineRegisterInfo& MRI,
llvm::SlotIndex Pos,
llvm::MachineInstr* AddFlagsMI = nullptr)
void adjustLaneLiveness(
const llvm::LiveIntervals& LIS,
const llvm::MachineRegisterInfo& MRI,
llvm::SlotIndex Pos,
llvm::MachineInstr* AddFlagsMI = nullptr)
Description
Use liveness information to find out which uses/defs are partially undefined/dead and adjust the RegisterMaskPairs accordingly. If \p AddFlagsMI is given then missing read-undef and dead flags will be added to the instruction.
Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:191
Parameters
- const llvm::LiveIntervals& LIS
- const llvm::MachineRegisterInfo& MRI
- llvm::SlotIndex Pos
- llvm::MachineInstr* AddFlagsMI = nullptr
¶void collect(const llvm::MachineInstr& MI,
const llvm::TargetRegisterInfo& TRI,
const llvm::MachineRegisterInfo& MRI,
bool TrackLaneMasks,
bool IgnoreDead)
void collect(const llvm::MachineInstr& MI,
const llvm::TargetRegisterInfo& TRI,
const llvm::MachineRegisterInfo& MRI,
bool TrackLaneMasks,
bool IgnoreDead)
Description
Analyze the given instruction \p MI and fill in the Uses, Defs and DeadDefs list based on the MachineOperand flags.
Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:179
Parameters
- const llvm::MachineInstr& MI
- const llvm::TargetRegisterInfo& TRI
- const llvm::MachineRegisterInfo& MRI
- bool TrackLaneMasks
- bool IgnoreDead
¶void detectDeadDefs(
const llvm::MachineInstr& MI,
const llvm::LiveIntervals& LIS)
void detectDeadDefs(
const llvm::MachineInstr& MI,
const llvm::LiveIntervals& LIS)
Description
Use liveness information to find dead defs not marked with a dead flag and move them to the DeadDefs vector.
Declared at: llvm/include/llvm/CodeGen/RegisterPressure.h:185
Parameters
- const llvm::MachineInstr& MI
- const llvm::LiveIntervals& LIS