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, /*TRI=*/nullptr)) 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()
505 MachineInstr *I2 = findPairable(I1, DoInsertAtI1, OptForSize); in runOnMachineFunction() local
506 if (I2) { in runOnMachineFunction()
508 combine(I1, *I2, MI, DoInsertAtI1, OptForSize); in runOnMachineFunction()
523 MachineBasicBlock::iterator I2 = std::next(MachineBasicBlock::iterator(I1)); in findPairable() local
524 while (I2 != I1.getParent()->end() && I2->isDebugInstr()) in findPairable()
525 ++I2; in findPairable()
529 for (MachineBasicBlock::iterator End = I1.getParent()->end(); I2 != End; in findPairable()
530 ++I2) { in findPairable()
532 if (I2->modifiesRegister(I1DestReg, TRI)) in findPairable()
536 if (!isCombinableInstType(*I2, TII, ShouldCombineAggressively)) in findPairable()
540 if (ShouldCombineAggressively && PotentiallyNewifiableTFR.count(&*I2)) in findPairable()
543 Register I2DestReg = I2->getOperand(0).getReg(); in findPairable()
556 if ((IsI2LowReg && !areCombinableOperations(TRI, I1, *I2, AllowC64)) || in findPairable()
557 (IsI1LowReg && !areCombinableOperations(TRI, *I2, I1, AllowC64))) in findPairable()
560 if (isSafeToMoveTogether(I1, *I2, I1DestReg, I2DestReg, DoInsertAtI1)) in findPairable()
561 return &*I2; in findPairable()
569 void HexagonCopyToCombine::combine(MachineInstr &I1, MachineInstr &I2, in combine() argument
574 if (MI == I2.getIterator()) in combine()
579 Register I2DestReg = I2.getOperand(0).getReg(); in combine()
600 MachineOperand &LoOperand = IsI1Loreg ? I1.getOperand(1) : I2.getOperand(1); in combine()
601 MachineOperand &HiOperand = IsI1Loreg ? I2.getOperand(1) : I1.getOperand(1); in combine()
609 isGreaterThanNBitTFRI<16>(I1) && isGreaterThanNBitTFRI<16>(I2); in combine()
611 MachineBasicBlock::iterator InsertPt(DoInsertAtI1 ? I1 : I2); in combine()
639 I2.eraseFromParent(); in combine()