reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
136 if (MI->allDefsAreDead()) { 137 LLVM_DEBUG(dbgs() << "dead copy: " << *MI); 138 MI->setDesc(TII->get(TargetOpcode::KILL)); 139 LLVM_DEBUG(dbgs() << "replaced by: " << *MI); 143 MachineOperand &DstMO = MI->getOperand(0); 144 MachineOperand &SrcMO = MI->getOperand(1); 149 << *MI); 152 if (SrcMO.isUndef() || MI->getNumOperands() > 2) { 155 MI->setDesc(TII->get(TargetOpcode::KILL)); 156 LLVM_DEBUG(dbgs() << "replaced by: " << *MI); 160 MI->eraseFromParent(); 164 LLVM_DEBUG(dbgs() << "real copy: " << *MI); 165 TII->copyPhysReg(*MI->getParent(), MI, MI->getDebugLoc(), 165 TII->copyPhysReg(*MI->getParent(), MI, MI->getDebugLoc(), 165 TII->copyPhysReg(*MI->getParent(), MI, MI->getDebugLoc(), 168 if (MI->getNumOperands() > 2) 169 TransferImplicitOperands(MI); 171 MachineBasicBlock::iterator dMI = MI; 174 MI->eraseFromParent();