Lines Matching defs:LoopEnd
112 MachineInstr *&LoopDec, MachineInstr *&LoopEnd) {
121 LoopEnd = nullptr;
124 LoopEnd = &T;
129 LoopEnd = &T;
133 if (!LoopEnd) {
134 LLVM_DEBUG(dbgs() << " no LoopEnd\n");
137 LLVM_DEBUG(dbgs() << " found loop end: " << *LoopEnd);
148 if (LoopEnd->getOpcode() == ARM::t2LoopEndDec)
149 LoopDec = LoopEnd;
152 LookThroughCOPY(MRI->getVRegDef(LoopEnd->getOperand(0).getReg()), MRI);
231 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
232 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
326 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
327 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
346 RevertLoopEnd(LoopEnd, TII);
382 !CheckUsers(DecReg, {LoopPhi, LoopEnd}, MRI) ||
388 RevertLoopEnd(LoopEnd, TII);
408 if (!TII->analyzeBranch(*LoopEnd->getParent(), TBB, FBB, Cond) && !FBB) {
409 // If the LoopEnd falls through, need to insert a t2B to the fall-through
411 MachineFunction::iterator MBBI = ++LoopEnd->getParent()->getIterator();
412 BuildMI(LoopEnd->getParent(), DebugLoc(), TII->get(ARM::t2B))
419 BuildMI(*LoopEnd->getParent(), *LoopEnd, LoopEnd->getDebugLoc(),
422 .add(LoopEnd->getOperand(1));
427 LoopEnd->eraseFromParent();
442 // Find some loop components including the LoopEnd/Dec/Start, and any VCTP's
444 MachineInstr *LoopEnd, *LoopPhi, *LoopStart, *LoopDec;
445 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
447 if (LoopDec != LoopEnd || (LoopStart->getOpcode() != ARM::t2DoLoopStart &&