LLVM
8.0.1
|
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) | |
LiveRange * | getRegUnitLI (unsigned Unit) |
void | updateAllRanges (MachineInstr *MI) |
Update all live ranges touched by MI, assuming a move from OldIdx to NewIdx. More... | |
Toolkit used by handleMove to trim or extend live intervals.
Definition at line 945 of file LiveIntervals.cpp.
|
inline |
Definition at line 956 of file LiveIntervals.cpp.
Definition at line 966 of file LiveIntervals.cpp.
References llvm::LiveIntervals::getCachedRegUnit(), llvm::LiveIntervals::getRegUnit(), and llvm::MachineRegisterInfo::isReservedRegUnit().
|
inline |
Update all live ranges touched by MI, assuming a move from OldIdx to NewIdx.
Definition at line 974 of file LiveIntervals.cpp.
References llvm::LiveRange::advanceTo(), llvm::LaneBitmask::any(), assert(), llvm::MachineBasicBlock::begin(), llvm::LiveRange::begin(), llvm::copy(), llvm::dbgs(), 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(), if(), 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_DEBUG, llvm::lower_bound(), llvm::max(), MI, llvm::MachineInstr::operands(), llvm::PrintLaneMask(), llvm::printReg(), llvm::printRegUnit(), Reg, 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().