• Home
  • Raw
  • Download

Lines Matching refs:I1

93   MachineInstr *findPairable(MachineInstr &I1, bool &DoInsertAtI1,
98 void combine(MachineInstr &I1, MachineInstr &I2,
102 bool isSafeToMoveTogether(MachineInstr &I1, MachineInstr &I2,
265 bool HexagonCopyToCombine::isSafeToMoveTogether(MachineInstr &I1, in isSafeToMoveTogether() argument
274 if (I2UseReg && I1.modifiesRegister(I2UseReg, TRI)) in isSafeToMoveTogether()
285 MachineBasicBlock::reverse_iterator End = I1.getIterator().getReverse(); in isSafeToMoveTogether()
288 End = ++I1.getIterator().getReverse(); in isSafeToMoveTogether()
333 MachineBasicBlock::iterator I(I1), End(I2); in isSafeToMoveTogether()
337 Register I1UseReg = UseReg(I1.getOperand(1)); in isSafeToMoveTogether()
384 bool Added = I1.addRegisterKilled(KilledOperand, TRI); in isSafeToMoveTogether()
495 MachineInstr &I1 = *MI++; in runOnMachineFunction() local
497 if (I1.isDebugInstr()) in runOnMachineFunction()
503 if (ShouldCombineAggressively && PotentiallyNewifiableTFR.count(&I1)) in runOnMachineFunction()
507 if (!isCombinableInstType(I1, TII, ShouldCombineAggressively)) in runOnMachineFunction()
515 MachineInstr *I2 = findPairable(I1, DoInsertAtI1, OptForSize); in runOnMachineFunction()
518 combine(I1, *I2, MI, DoInsertAtI1, OptForSize); in runOnMachineFunction()
530 MachineInstr *HexagonCopyToCombine::findPairable(MachineInstr &I1, in findPairable() argument
533 MachineBasicBlock::iterator I2 = std::next(MachineBasicBlock::iterator(I1)); in findPairable()
534 while (I2 != I1.getParent()->end() && I2->isDebugInstr()) in findPairable()
537 Register I1DestReg = I1.getOperand(0).getReg(); in findPairable()
539 for (MachineBasicBlock::iterator End = I1.getParent()->end(); I2 != End; in findPairable()
566 if ((IsI2LowReg && !areCombinableOperations(TRI, I1, *I2, AllowC64)) || in findPairable()
567 (IsI1LowReg && !areCombinableOperations(TRI, *I2, I1, AllowC64))) in findPairable()
570 if (isSafeToMoveTogether(I1, *I2, I1DestReg, I2DestReg, DoInsertAtI1)) in findPairable()
579 void HexagonCopyToCombine::combine(MachineInstr &I1, MachineInstr &I2, in combine() argument
588 Register I1DestReg = I1.getOperand(0).getReg(); in combine()
610 MachineOperand &LoOperand = IsI1Loreg ? I1.getOperand(1) : I2.getOperand(1); in combine()
611 MachineOperand &HiOperand = IsI1Loreg ? I2.getOperand(1) : I1.getOperand(1); in combine()
619 isGreaterThanNBitTFRI<16>(I1) && isGreaterThanNBitTFRI<16>(I2); in combine()
621 MachineBasicBlock::iterator InsertPt(DoInsertAtI1 ? I1 : I2); in combine()
648 I1.eraseFromParent(); in combine()