reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1368 /*UnfoldStore=*/false, NewMIs)) { 1372 assert(NewMIs.size() == 2 && 1375 NewMIs[1]->addRegisterKilled(Reg, TRI); 1379 MBB->insert(mi, NewMIs[0]); 1380 MBB->insert(mi, NewMIs[1]); 1382 LLVM_DEBUG(dbgs() << "2addr: NEW LOAD: " << *NewMIs[0] 1383 << "2addr: NEW INST: " << *NewMIs[1]); 1386 unsigned NewDstIdx = NewMIs[1]->findRegisterDefOperandIdx(regA); 1387 unsigned NewSrcIdx = NewMIs[1]->findRegisterUseOperandIdx(regB); 1388 MachineBasicBlock::iterator NewMI = NewMIs[1]; 1394 if (NewMIs[1]->getOperand(NewSrcIdx).isKill()) { 1403 if (NewMIs[0]->killsRegister(MO.getReg())) 1404 LV->replaceKillInstruction(MO.getReg(), MI, *NewMIs[0]); 1406 assert(NewMIs[1]->killsRegister(MO.getReg()) && 1408 LV->replaceKillInstruction(MO.getReg(), MI, *NewMIs[1]); 1412 if (NewMIs[1]->registerDefIsDead(MO.getReg())) 1413 LV->addVirtualRegisterDead(MO.getReg(), *NewMIs[1]); 1415 assert(NewMIs[0]->registerDefIsDead(MO.getReg()) && 1417 LV->addVirtualRegisterDead(MO.getReg(), *NewMIs[0]); 1422 LV->addVirtualRegisterKilled(Reg, *NewMIs[1]); 1437 MachineBasicBlock::iterator Begin(NewMIs[0]); 1438 MachineBasicBlock::iterator End(NewMIs[1]); 1442 mi = NewMIs[1]; 1448 NewMIs[0]->eraseFromParent(); 1449 NewMIs[1]->eraseFromParent();