Lines Matching defs:LoopStart

85                                             MachineInstr *LoopStart);
110 // at the moment, returning a t2DoLoopStart in LoopStart.
112 MachineInstr *&LoopStart, MachineInstr *&LoopPhi,
175 LoopStart = LookThroughCOPY(MRI->getVRegDef(StartReg), MRI);
176 if (!LoopStart || (LoopStart->getOpcode() != ARM::t2DoLoopStart &&
177 LoopStart->getOpcode() != ARM::t2WhileLoopSetup &&
178 LoopStart->getOpcode() != ARM::t2WhileLoopStartLR)) {
182 LLVM_DEBUG(dbgs() << " found loop start: " << *LoopStart);
232 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
233 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
236 if (LoopStart->getOpcode() != ARM::t2WhileLoopSetup)
239 Register LR = LoopStart->getOperand(0).getReg();
244 RevertWhileLoopSetup(LoopStart, TII);
245 RevertLoopDec(LoopStart, TII);
246 RevertLoopEnd(LoopStart, TII);
253 .add(LoopStart->getOperand(1))
259 LoopStart->eraseFromParent();
270 // LoopStart block is reached. If invalid instructions are found, the loop start
272 // return the new DLS LoopStart if updated.
274 MachineBasicBlock *PreHeader, MachineInstr *LoopStart) {
278 Visited.insert(LoopStart->getParent());
294 LoopStart->getDebugLoc(), TII->get(ARM::t2DoLoopStart));
295 MIB.add(LoopStart->getOperand(0));
296 MIB.add(LoopStart->getOperand(1));
299 LoopStart->getOperand(1).setIsKill(false);
302 RevertWhileLoopStartLR(LoopStart, TII, ARM::t2Bcc, true);
310 return LoopStart;
327 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
328 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
335 if (LoopStart->getOpcode() == ARM::t2WhileLoopStartLR && PreHeader)
336 LoopStart = CheckForLRUseInPredecessors(PreHeader, LoopStart);
342 if (LoopStart->getOpcode() == ARM::t2DoLoopStart)
343 RevertDoLoopStart(LoopStart, TII);
345 RevertWhileLoopStartLR(LoopStart, TII);
358 Register StartReg = LoopStart->getOperand(0).getReg();
386 if (LoopStart->getOpcode() == ARM::t2WhileLoopStartLR) {
387 RevertWhileLoopStartLR(LoopStart, TII);
445 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
446 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
448 if (LoopDec != LoopEnd || (LoopStart->getOpcode() != ARM::t2DoLoopStart &&
449 LoopStart->getOpcode() != ARM::t2WhileLoopStartLR))
508 MachineBasicBlock *MBB = LoopStart->getParent();
511 MRI->use_instructions(LoopStart->getOperand(0).getReg()))
518 unsigned NewOpc = LoopStart->getOpcode() == ARM::t2DoLoopStart
522 BuildMI(*MBB, InsertPt, LoopStart->getDebugLoc(), TII->get(NewOpc))
523 .add(LoopStart->getOperand(0))
524 .add(LoopStart->getOperand(1))
527 MI.add(LoopStart->getOperand(2));
528 LLVM_DEBUG(dbgs() << "Replacing " << *LoopStart << " with "
531 LoopStart->eraseFromParent();