Lines Matching refs:I2
94 void combine(MachineInstr &I1, MachineInstr &I2,
98 bool isSafeToMoveTogether(MachineInstr &I1, MachineInstr &I2,
259 MachineInstr &I2, in isSafeToMoveTogether() argument
263 Register I2UseReg = UseReg(I2.getOperand(1)); in isSafeToMoveTogether()
277 MachineBasicBlock::reverse_iterator I = ++I2.getIterator().getReverse(); in isSafeToMoveTogether()
286 if (I2.killsRegister(I2UseReg)) in isSafeToMoveTogether()
316 removeKillInfo(I2, KilledOperand); in isSafeToMoveTogether()
326 MachineBasicBlock::iterator I(I1), End(I2); in isSafeToMoveTogether()
329 End = std::next(MachineBasicBlock::iterator(I2)); in isSafeToMoveTogether()
504 MachineInstr *I2 = findPairable(I1, DoInsertAtI1, OptForSize); in runOnMachineFunction() local
505 if (I2) { in runOnMachineFunction()
507 combine(I1, *I2, MI, DoInsertAtI1, OptForSize); in runOnMachineFunction()
522 MachineBasicBlock::iterator I2 = std::next(MachineBasicBlock::iterator(I1)); in findPairable() local
523 while (I2 != I1.getParent()->end() && I2->isDebugInstr()) in findPairable()
524 ++I2; in findPairable()
528 for (MachineBasicBlock::iterator End = I1.getParent()->end(); I2 != End; in findPairable()
529 ++I2) { in findPairable()
531 if (I2->modifiesRegister(I1DestReg, TRI)) in findPairable()
535 if (!isCombinableInstType(*I2, TII, ShouldCombineAggressively)) in findPairable()
539 if (ShouldCombineAggressively && PotentiallyNewifiableTFR.count(&*I2)) in findPairable()
542 Register I2DestReg = I2->getOperand(0).getReg(); in findPairable()
555 if ((IsI2LowReg && !areCombinableOperations(TRI, I1, *I2, AllowC64)) || in findPairable()
556 (IsI1LowReg && !areCombinableOperations(TRI, *I2, I1, AllowC64))) in findPairable()
559 if (isSafeToMoveTogether(I1, *I2, I1DestReg, I2DestReg, DoInsertAtI1)) in findPairable()
560 return &*I2; in findPairable()
568 void HexagonCopyToCombine::combine(MachineInstr &I1, MachineInstr &I2, in combine() argument
573 if (MI == I2.getIterator()) in combine()
578 Register I2DestReg = I2.getOperand(0).getReg(); in combine()
599 MachineOperand &LoOperand = IsI1Loreg ? I1.getOperand(1) : I2.getOperand(1); in combine()
600 MachineOperand &HiOperand = IsI1Loreg ? I2.getOperand(1) : I1.getOperand(1); in combine()
608 isGreaterThanNBitTFRI<16>(I1) && isGreaterThanNBitTFRI<16>(I2); in combine()
610 MachineBasicBlock::iterator InsertPt(DoInsertAtI1 ? I1 : I2); in combine()
638 I2.eraseFromParent(); in combine()