Go to the documentation of this file.
33 if (DI->isDebugValue() &&
35 DbgValues.push_back(&*DI);
46 for (
auto *DBI : DbgValues)
47 for (
auto &MO : DBI->getDebugOperandsForReg(CurrentReg))
65 for (
auto *DBI : DbgValues) {
66 auto IndexType = DBI->isIndirectDebugValue()
69 for (
auto &MO : DBI->getDebugOperandsForReg(CurrentReg))
70 MO.ChangeToTargetIndex(IndexType, LocalId);
void clone(MachineInstr *Insert, unsigned NewReg)
This is an optimization pass for GlobalISel generic memory operations.
Vector Rotate Left Mask Mask Insert
Reg
All possible values of the reg field in the ModR/M byte.
auto reverse(ContainerTy &&C, std::enable_if_t< has_rbegin< ContainerTy >::value > *=nullptr)
static iterator_range< filter_iterator< Operand *, std::function< bool(Operand &Op)> > > getDebugOperandsForReg(Instruction *MI, Register Reg)
Returns a range of all of the operands that correspond to a debug use of Reg.
const MachineOperand & getOperand(unsigned i) const
bool isReg() const
isReg - Tests if this is a MO_Register operand.
Representation of each machine instruction.
MachineInstr * CloneMachineInstr(const MachineInstr *Orig)
Create a new MachineInstr which is a copy of Orig, identical in all ways except the instruction has n...
const MachineFunction * getParent() const
Return the MachineFunction containing this basic block.
Register getReg() const
getReg - Returns the register number.
void move(MachineInstr *Insert)
void splice(iterator Where, MachineBasicBlock *Other, iterator From)
Take an instruction from MBB 'Other' at the position From, and insert it into this MBB right before '...
const MachineBasicBlock * getParent() const
WebAssemblyDebugValueManager(MachineInstr *Instr)
instr_iterator insert(instr_iterator I, MachineInstr *M)
Insert MI into the instruction list before I, possibly inside a bundle.
void updateReg(unsigned Reg)
void replaceWithLocal(unsigned LocalId)