LLVM  8.0.1
Public Attributes | List of all members
llvm::MachineOperandIteratorBase::PhysRegInfo Struct Reference

Information about how a physical register Reg is used by a set of operands. More...

#include "llvm/CodeGen/MachineInstrBundle.h"

Collaboration diagram for llvm::MachineOperandIteratorBase::PhysRegInfo:
Collaboration graph
[legend]

Public Attributes

bool Clobbered
 There is a regmask operand indicating Reg is clobbered. More...
 
bool Defined
 Reg or one of its aliases is defined. More...
 
bool FullyDefined
 Reg or a super-register is defined. More...
 
bool Read
 Reg or one of its aliases is read. More...
 
bool FullyRead
 Reg or a super-register is read. The full register is read. More...
 
bool DeadDef
 Either: More...
 
bool PartialDeadDef
 Reg is Defined and all defs of reg or an overlapping register are dead. More...
 
bool Killed
 There is a use operand of reg or a super-register with kill flag set. More...
 

Detailed Description

Information about how a physical register Reg is used by a set of operands.

Definition at line 167 of file MachineInstrBundle.h.

Member Data Documentation

◆ Clobbered

bool llvm::MachineOperandIteratorBase::PhysRegInfo::Clobbered

There is a regmask operand indicating Reg is clobbered.

See also
MachineOperand::CreateRegMask().

Definition at line 170 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ DeadDef

bool llvm::MachineOperandIteratorBase::PhysRegInfo::DeadDef

Either:

  • Reg is FullyDefined and all defs of reg or an overlapping register are dead, or
  • Reg is completely dead because "defined" by a clobber.

Definition at line 189 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ Defined

bool llvm::MachineOperandIteratorBase::PhysRegInfo::Defined

Reg or one of its aliases is defined.

The definition may only cover parts of the register.

Definition at line 174 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ FullyDefined

bool llvm::MachineOperandIteratorBase::PhysRegInfo::FullyDefined

Reg or a super-register is defined.

The definition covers the full register.

Definition at line 177 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ FullyRead

bool llvm::MachineOperandIteratorBase::PhysRegInfo::FullyRead

Reg or a super-register is read. The full register is read.

Definition at line 183 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg().

◆ Killed

bool llvm::MachineOperandIteratorBase::PhysRegInfo::Killed

There is a use operand of reg or a super-register with kill flag set.

Definition at line 196 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ PartialDeadDef

bool llvm::MachineOperandIteratorBase::PhysRegInfo::PartialDeadDef

Reg is Defined and all defs of reg or an overlapping register are dead.

Definition at line 193 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().

◆ Read

bool llvm::MachineOperandIteratorBase::PhysRegInfo::Read

Reg or one of its aliases is read.

The register may only be read partially.

Definition at line 181 of file MachineInstrBundle.h.

Referenced by llvm::MachineOperandIteratorBase::analyzePhysReg(), and llvm::MachineBasicBlock::computeRegisterLiveness().


The documentation for this struct was generated from the following file: