Lines Matching refs:Iter
101 static bool StepOverPredicatedInstrs(MachineBasicBlock::instr_iterator &Iter, in StepOverPredicatedInstrs() argument
109 while (Iter != EndIter) { in StepOverPredicatedInstrs()
110 if (Iter->isDebugInstr()) { in StepOverPredicatedInstrs()
112 ++Iter; in StepOverPredicatedInstrs()
116 NextPred = getVPTInstrPredicate(*Iter, PredReg); in StepOverPredicatedInstrs()
122 ++Iter; in StepOverPredicatedInstrs()
127 (NextPred == ARMVCC::None || Iter == EndIter); in StepOverPredicatedInstrs()
132 static bool IsVPRDefinedOrKilledByBlock(MachineBasicBlock::iterator Iter, in IsVPRDefinedOrKilledByBlock() argument
134 for (; Iter != End; ++Iter) in IsVPRDefinedOrKilledByBlock()
135 if (Iter->definesRegister(ARM::VPR) || Iter->killsRegister(ARM::VPR)) in IsVPRDefinedOrKilledByBlock()
163 CreateVPTBlock(MachineBasicBlock::instr_iterator &Iter, in CreateVPTBlock() argument
166 MachineBasicBlock::instr_iterator BlockBeg = Iter; in CreateVPTBlock()
168 assert(getVPTInstrPredicate(*Iter) == ARMVCC::Then && in CreateVPTBlock()
171 LLVM_DEBUG(dbgs() << "VPT block created for: "; Iter->dump()); in CreateVPTBlock()
174 StepOverPredicatedInstrs(Iter, EndIter, 4, BlockSize); in CreateVPTBlock()
178 AddedInstIter != Iter; ++AddedInstIter) { in CreateVPTBlock()
191 while (BlockSize < 4 && Iter != EndIter && in CreateVPTBlock()
192 Iter->getOpcode() == ARM::MVE_VPNOT) { in CreateVPTBlock()
197 MachineBasicBlock::instr_iterator VPNOTBlockEndIter = std::next(Iter); in CreateVPTBlock()
205 if (!IsVPRDefinedOrKilledByBlock(Iter, VPNOTBlockEndIter)) in CreateVPTBlock()
208 LLVM_DEBUG(dbgs() << " removing VPNOT: "; Iter->dump()); in CreateVPTBlock()
215 DeadInstructions.push_back(&*Iter); in CreateVPTBlock()
216 ++Iter; in CreateVPTBlock()
221 for (; Iter != VPNOTBlockEndIter; ++Iter) { in CreateVPTBlock()
222 if (Iter->isDebugInstr()) in CreateVPTBlock()
226 int OpIdx = findFirstVPTPredOperandIdx(*Iter); in CreateVPTBlock()
230 Iter->getOperand(OpIdx).setImm(CurrentPredicate); in CreateVPTBlock()
233 LLVM_DEBUG(dbgs() << " adding : "; Iter->dump()); in CreateVPTBlock()