LLVM  6.0.0svn
Public Member Functions | List of all members
llvm::LiveIntervals::HMEditor Class Reference

Toolkit used by handleMove to trim or extend live intervals. More...

Public Member Functions

 HMEditor (LiveIntervals &LIS, const MachineRegisterInfo &MRI, const TargetRegisterInfo &TRI, SlotIndex OldIdx, SlotIndex NewIdx, bool UpdateFlags)
 
LiveRangegetRegUnitLI (unsigned Unit)
 
void updateAllRanges (MachineInstr *MI)
 Update all live ranges touched by MI, assuming a move from OldIdx to NewIdx. More...
 

Detailed Description

Toolkit used by handleMove to trim or extend live intervals.

Definition at line 915 of file LiveIntervals.cpp.

Constructor & Destructor Documentation

◆ HMEditor()

llvm::LiveIntervals::HMEditor::HMEditor ( LiveIntervals LIS,
const MachineRegisterInfo MRI,
const TargetRegisterInfo TRI,
SlotIndex  OldIdx,
SlotIndex  NewIdx,
bool  UpdateFlags 
)
inline

Definition at line 926 of file LiveIntervals.cpp.

Member Function Documentation

◆ getRegUnitLI()

LiveRange* llvm::LiveIntervals::HMEditor::getRegUnitLI ( unsigned  Unit)
inline

◆ updateAllRanges()

void llvm::LiveIntervals::HMEditor::updateAllRanges ( MachineInstr MI)
inline

Update all live ranges touched by MI, assuming a move from OldIdx to NewIdx.

Definition at line 944 of file LiveIntervals.cpp.

References llvm::LiveRange::advanceTo(), llvm::LaneBitmask::any(), assert(), llvm::MachineBasicBlock::begin(), llvm::LiveRange::begin(), llvm::dbgs(), DEBUG, llvm::VNInfo::def, E, llvm::sys::path::end(), llvm::MachineBasicBlock::end(), llvm::LiveRange::end(), llvm::LiveRange::find(), llvm::SlotIndex::getBaseIndex(), llvm::SlotIndex::getDeadSlot(), llvm::LiveIntervals::getInstructionFromIndex(), llvm::SlotIndexes::getInstructionFromIndex(), llvm::SlotIndexes::getInstructionIndex(), llvm::LiveIntervals::getInterval(), llvm::MachineRegisterInfo::getMaxLaneMaskForVReg(), llvm::SlotIndexes::getMBBFromIndex(), llvm::SlotIndexes::getNextNonNullIndex(), llvm::LaneBitmask::getNone(), llvm::SlotIndex::getRegSlot(), llvm::LiveIntervals::getSlotIndexes(), llvm::TargetRegisterInfo::getSubRegIndexLaneMask(), llvm::TargetRegisterInfo::hasRegUnit(), llvm::LiveInterval::hasSubRanges(), llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::SlotIndex::isEarlierEqualInstr(), llvm::SlotIndex::isEarlierInstr(), llvm::TargetRegisterInfo::isPhysicalRegister(), llvm::SlotIndex::isSameInstr(), llvm::MachineOperandIteratorBase::isValid(), llvm::MCRegisterInfo::DiffListIterator::isValid(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::lower_bound(), llvm::max(), MI, llvm::MachineInstr::operands(), llvm::PrintLaneMask(), llvm::printReg(), llvm::printRegUnit(), llvm::LiveRange::removeValNo(), llvm::LiveInterval::subranges(), SubReg, llvm::MachineRegisterInfo::use_nodbg_operands(), and llvm::LiveRange::verify().

Referenced by llvm::LiveIntervals::handleMove(), and llvm::LiveIntervals::handleMoveIntoBundle().


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