reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/LiveRangeEdit.cpp
  262   assert(MI->allDefsAreDead() && "Def isn't really dead");
  263   SlotIndex Idx = LIS.getInstructionIndex(*MI).getRegSlot();
  266   if (MI->isBundled()) {
  270   if (MI->isInlineAsm()) {
  271     LLVM_DEBUG(dbgs() << "Won't delete: " << Idx << '\t' << *MI);
  277   if (!MI->isSafeToMove(nullptr, SawStore)) {
  278     LLVM_DEBUG(dbgs() << "Can't delete: " << Idx << '\t' << *MI);
  282   LLVM_DEBUG(dbgs() << "Deleting dead def " << Idx << '\t' << *MI);
  292   if (VRM && MI->getOperand(0).isReg() && MI->getOperand(0).isDef() &&
  292   if (VRM && MI->getOperand(0).isReg() && MI->getOperand(0).isDef() &&
  293       MI->getDesc().getNumDefs() == 1) {
  294     Dest = MI->getOperand(0).getReg();
  307   for (MachineInstr::mop_iterator MOI = MI->operands_begin(),
  308          MOE = MI->operands_end(); MOI != MOE; ++MOI) {
  326     if ((MI->readsVirtualRegister(Reg) && (MI->isCopy() || MOI->isDef())) ||
  326     if ((MI->readsVirtualRegister(Reg) && (MI->isCopy() || MOI->isDef())) ||
  348     MI->setDesc(TII.get(TargetOpcode::KILL));
  350     for (unsigned i = MI->getNumOperands(); i; --i) {
  351       const MachineOperand &MO = MI->getOperand(i-1);
  354       MI->RemoveOperand(i-1);
  356     LLVM_DEBUG(dbgs() << "Converted physregs to:\t" << *MI);
  363     if (isOrigDef && DeadRemats && TII.isTriviallyReMaterializable(*MI, AA)) {
  368       DeadRemats->insert(MI);
  370       MI->substituteRegister(Dest, NewLI.reg, 0, TRI);
  371       MI->getOperand(0).setIsDead(true);
  374         TheDelegate->LRE_WillEraseInstruction(MI);
  375       LIS.RemoveMachineInstrFromMaps(*MI);
  376       MI->eraseFromParent();