LLVM 22.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 539 of file LiveDebugVariables.cpp.
|
inline |
Definition at line 643 of file LiveDebugVariables.cpp.
|
inline |
Release all memory.
Definition at line 648 of file LiveDebugVariables.cpp.
References assert().
Referenced by runOnMachineFunction().
void LiveDebugVariables::LDVImpl::emitDebugValues | ( | VirtRegMap * | VRM | ) |
Recreate DBG_VALUE instruction from data structures.
Definition at line 1857 of file LiveDebugVariables.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::clear(), llvm::dbgs(), findInsertLocation(), llvm::VirtRegMap::getPhys(), llvm::VirtRegMap::getStackSlot(), llvm::VirtRegMap::hasPhys(), llvm::VirtRegMap::isAssignedReg(), LLVM_DEBUG, MBB, MI, MRI, llvm::VirtRegMap::NO_STACK_SLOT, llvm::printReg(), llvm::skipDebugInstructionsForward(), SubReg, llvm::Success, and TII.
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().
Referenced by splitRegister().
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 1274 of file LiveDebugVariables.cpp.
References Changed, clear(), llvm::dbgs(), llvm::SlotIndexes::getMBBStartIdx(), llvm::MachineFunction::getName(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), LLVM_DEBUG, MBB, llvm::LiveDebugVariables::print(), and SubReg.
void LiveDebugVariables::LDVImpl::splitPHIRegister | ( | Register | OldReg, |
ArrayRef< Register > | NewRegs ) |
Replace any PHI referring to OldReg with its corresponding NewReg, if present.
Definition at line 1493 of file LiveDebugVariables.cpp.
References assert(), llvm::LiveRange::end(), and llvm::LiveRange::find().
Referenced by splitRegister().
Replace all references to OldReg with NewRegs.
Definition at line 1532 of file LiveDebugVariables.cpp.
References mapVirtReg(), and splitPHIRegister().