LLVM 20.0.0git
|
Public Member Functions | |
LDVImpl (LiveIntervals *LIS) | |
bool | runOnMachineFunction (MachineFunction &mf, bool InstrRef) |
void | clear () |
Release all memory. | |
void | mapVirtReg (Register VirtReg, UserValue *EC) |
Map virtual register to an equivalence class. | |
void | splitPHIRegister (Register OldReg, ArrayRef< Register > NewRegs) |
Replace any PHI referring to OldReg with its corresponding NewReg, if present. | |
void | splitRegister (Register OldReg, ArrayRef< Register > NewRegs) |
Replace all references to OldReg with NewRegs. | |
void | emitDebugValues (VirtRegMap *VRM) |
Recreate DBG_VALUE instruction from data structures. | |
void | print (raw_ostream &) |
Definition at line 545 of file LiveDebugVariables.cpp.
|
inline |
Definition at line 649 of file LiveDebugVariables.cpp.
|
inline |
Release all memory.
Definition at line 654 of file LiveDebugVariables.cpp.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), and llvm::SmallVectorImpl< T >::clear().
void LiveDebugVariables::LDVImpl::emitDebugValues | ( | VirtRegMap * | VRM | ) |
Recreate DBG_VALUE instruction from data structures.
Definition at line 1858 of file LiveDebugVariables.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), llvm::dbgs(), llvm::MachineFunction::DebugPHIPositions, End, findInsertLocation(), llvm::MachineBasicBlock::getFirstTerminator(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::VirtRegMap::getPhys(), llvm::MachineFunction::getRegInfo(), llvm::LiveIntervals::getSlotIndexes(), llvm::VirtRegMap::getStackSlot(), llvm::MachineFunction::getSubtarget(), llvm::VirtRegMap::hasPhys(), Idx, llvm::MachineBasicBlock::insert(), llvm::MachineBasicBlock::instr_end(), llvm::VirtRegMap::isAssignedReg(), LLVM_DEBUG, MBB, MI, MRI, llvm::VirtRegMap::NO_STACK_SLOT, llvm::printReg(), llvm::skipDebugInstructionsForward(), SubReg, Success, TII, and TRI.
void LiveDebugVariables::LDVImpl::mapVirtReg | ( | Register | VirtReg, |
UserValue * | EC | ||
) |
Map virtual register to an equivalence class.
Definition at line 797 of file LiveDebugVariables.cpp.
References assert(), and llvm::Register::isVirtual().
void LiveDebugVariables::LDVImpl::print | ( | raw_ostream & | OS | ) |
Definition at line 767 of file LiveDebugVariables.cpp.
Referenced by llvm::LiveDebugVariablesPrinterPass::run().
bool LiveDebugVariables::LDVImpl::runOnMachineFunction | ( | MachineFunction & | mf, |
bool | InstrRef | ||
) |
Definition at line 1275 of file LiveDebugVariables.cpp.
References llvm::dbgs(), llvm::SlotIndexes::getMBBStartIdx(), llvm::MachineFunction::getName(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::LiveIntervals::getSlotIndexes(), llvm::MachineFunction::getSubtarget(), LLVM_DEBUG, MBB, llvm::LiveDebugVariables::print(), SubReg, and TRI.
void LiveDebugVariables::LDVImpl::splitPHIRegister | ( | Register | OldReg, |
ArrayRef< Register > | NewRegs | ||
) |
Replace any PHI referring to OldReg with its corresponding NewReg, if present.
Definition at line 1494 of file LiveDebugVariables.cpp.
References assert(), llvm::LiveRange::end(), llvm::LiveRange::find(), and llvm::LiveIntervals::getInterval().
Replace all references to OldReg with NewRegs.
Definition at line 1533 of file LiveDebugVariables.cpp.