• Home
  • Raw
  • Download

Lines Matching refs:mi

104     bool CommuteInstruction(MachineBasicBlock::iterator &mi,
110 bool ConvertInstTo3Addr(MachineBasicBlock::iterator &mi,
119 MachineBasicBlock::iterator &mi,
123 MachineBasicBlock::iterator &mi,
127 bool TryInstructionTransform(MachineBasicBlock::iterator &mi,
537 TwoAddressInstructionPass::CommuteInstruction(MachineBasicBlock::iterator &mi, in CommuteInstruction() argument
540 MachineInstr *MI = mi; in CommuteInstruction()
558 mbbi->insert(mi, NewMI); // Insert the new inst in CommuteInstruction()
559 mbbi->erase(mi); // Nuke the old inst. in CommuteInstruction()
560 mi = NewMI; in CommuteInstruction()
594 TwoAddressInstructionPass::ConvertInstTo3Addr(MachineBasicBlock::iterator &mi, in ConvertInstTo3Addr() argument
599 MachineInstr *NewMI = TII->convertToThreeAddress(mbbi, mi, LV); in ConvertInstTo3Addr()
601 DEBUG(dbgs() << "2addr: CONVERTING 2-ADDR: " << *mi); in ConvertInstTo3Addr()
606 Indexes->replaceMachineInstrInMaps(mi, NewMI); in ConvertInstTo3Addr()
612 Sunk = Sink3AddrInstruction(mbbi, NewMI, RegB, mi); in ConvertInstTo3Addr()
614 mbbi->erase(mi); // Nuke the old inst. in ConvertInstTo3Addr()
618 mi = NewMI; in ConvertInstTo3Addr()
619 nmi = llvm::next(mi); in ConvertInstTo3Addr()
722 MachineBasicBlock::iterator &mi, in RescheduleMIBelowKill() argument
730 MachineInstr *MI = &*mi; in RescheduleMIBelowKill()
882 MachineBasicBlock::iterator &mi, in RescheduleKillAboveMI() argument
890 MachineInstr *MI = &*mi; in RescheduleKillAboveMI()
938 for (MachineBasicBlock::iterator I = mi; I != KillPos; ++I) { in RescheduleKillAboveMI()
987 MachineBasicBlock::iterator InsertPos = mi; in RescheduleKillAboveMI()
1016 TryInstructionTransform(MachineBasicBlock::iterator &mi, in TryInstructionTransform() argument
1024 MachineInstr &MI = *mi; in TryInstructionTransform()
1062 if (TryCommute && CommuteInstruction(mi, mbbi, regB, regC, Dist)) { in TryInstructionTransform()
1071 if (RescheduleMIBelowKill(mbbi, mi, nmi, regB)) { in TryInstructionTransform()
1081 if (ConvertInstTo3Addr(mi, nmi, mbbi, regA, regB, Dist)) { in TryInstructionTransform()
1090 if (RescheduleKillAboveMI(mbbi, mi, nmi, regB)) { in TryInstructionTransform()
1134 mbbi->insert(mi, NewMIs[0]); in TryInstructionTransform()
1135 mbbi->insert(mi, NewMIs[1]); in TryInstructionTransform()
1145 TryInstructionTransform(NewMI, mi, mbbi, in TryInstructionTransform()
1180 mi = NewMIs[1]; in TryInstructionTransform()
1390 for (MachineBasicBlock::iterator mi = mbbi->begin(), me = mbbi->end(); in runOnMachineFunction() local
1391 mi != me; ) { in runOnMachineFunction()
1392 MachineBasicBlock::iterator nmi = llvm::next(mi); in runOnMachineFunction()
1393 if (mi->isDebugValue()) { in runOnMachineFunction()
1394 mi = nmi; in runOnMachineFunction()
1399 if (mi->isRegSequence()) in runOnMachineFunction()
1400 RegSequences.push_back(&*mi); in runOnMachineFunction()
1402 DistanceMap.insert(std::make_pair(mi, ++Dist)); in runOnMachineFunction()
1404 ProcessCopy(&*mi, &*mbbi, Processed); in runOnMachineFunction()
1408 if (!collectTiedOperands(mi, TiedOperands)) { in runOnMachineFunction()
1409 mi = nmi; in runOnMachineFunction()
1415 DEBUG(dbgs() << '\t' << *mi); in runOnMachineFunction()
1426 unsigned SrcReg = mi->getOperand(SrcIdx).getReg(); in runOnMachineFunction()
1427 unsigned DstReg = mi->getOperand(DstIdx).getReg(); in runOnMachineFunction()
1429 TryInstructionTransform(mi, nmi, mbbi, SrcIdx, DstIdx, Dist, in runOnMachineFunction()
1434 mi = nmi; in runOnMachineFunction()
1443 processTiedPairs(mi, OI->second, Dist); in runOnMachineFunction()
1444 DEBUG(dbgs() << "\t\trewrite to:\t" << *mi); in runOnMachineFunction()
1448 if (mi->isInsertSubreg()) { in runOnMachineFunction()
1451 unsigned SubIdx = mi->getOperand(3).getImm(); in runOnMachineFunction()
1452 mi->RemoveOperand(3); in runOnMachineFunction()
1453 assert(mi->getOperand(0).getSubReg() == 0 && "Unexpected subreg idx"); in runOnMachineFunction()
1454 mi->getOperand(0).setSubReg(SubIdx); in runOnMachineFunction()
1455 mi->getOperand(0).setIsUndef(mi->getOperand(1).isUndef()); in runOnMachineFunction()
1456 mi->RemoveOperand(1); in runOnMachineFunction()
1457 mi->setDesc(TII->get(TargetOpcode::COPY)); in runOnMachineFunction()
1458 DEBUG(dbgs() << "\t\tconvert to:\t" << *mi); in runOnMachineFunction()
1464 mi = nmi; in runOnMachineFunction()