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

References

lib/CodeGen/TwoAddressInstructionPass.cpp
 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();