Lines Matching refs:Iter
100 static bool StepOverPredicatedInstrs(MachineBasicBlock::instr_iterator &Iter, in StepOverPredicatedInstrs() argument
108 while (Iter != EndIter) { in StepOverPredicatedInstrs()
109 if (Iter->isDebugInstr()) { in StepOverPredicatedInstrs()
111 ++Iter; in StepOverPredicatedInstrs()
115 NextPred = getVPTInstrPredicate(*Iter, PredReg); in StepOverPredicatedInstrs()
121 ++Iter; in StepOverPredicatedInstrs()
126 (NextPred == ARMVCC::None || Iter == EndIter); in StepOverPredicatedInstrs()
131 static bool IsVPRDefinedOrKilledByBlock(MachineBasicBlock::iterator Iter, in IsVPRDefinedOrKilledByBlock() argument
133 for (; Iter != End; ++Iter) in IsVPRDefinedOrKilledByBlock()
134 if (Iter->definesRegister(ARM::VPR) || Iter->killsRegister(ARM::VPR)) in IsVPRDefinedOrKilledByBlock()
162 CreateVPTBlock(MachineBasicBlock::instr_iterator &Iter, in CreateVPTBlock() argument
165 MachineBasicBlock::instr_iterator BlockBeg = Iter; in CreateVPTBlock()
167 assert(getVPTInstrPredicate(*Iter) == ARMVCC::Then && in CreateVPTBlock()
170 LLVM_DEBUG(dbgs() << "VPT block created for: "; Iter->dump()); in CreateVPTBlock()
173 StepOverPredicatedInstrs(Iter, EndIter, 4, BlockSize); in CreateVPTBlock()
177 AddedInstIter != Iter; ++AddedInstIter) { in CreateVPTBlock()
190 while (BlockSize < 4 && Iter != EndIter && in CreateVPTBlock()
191 Iter->getOpcode() == ARM::MVE_VPNOT) { in CreateVPTBlock()
196 MachineBasicBlock::instr_iterator VPNOTBlockEndIter = std::next(Iter); in CreateVPTBlock()
204 if (!IsVPRDefinedOrKilledByBlock(Iter, VPNOTBlockEndIter)) in CreateVPTBlock()
207 LLVM_DEBUG(dbgs() << " removing VPNOT: "; Iter->dump()); in CreateVPTBlock()
214 DeadInstructions.push_back(&*Iter); in CreateVPTBlock()
215 ++Iter; in CreateVPTBlock()
220 for (; Iter != VPNOTBlockEndIter; ++Iter) { in CreateVPTBlock()
221 if (Iter->isDebugInstr()) in CreateVPTBlock()
225 int OpIdx = findFirstVPTPredOperandIdx(*Iter); in CreateVPTBlock()
229 Iter->getOperand(OpIdx).setImm(CurrentPredicate); in CreateVPTBlock()
232 LLVM_DEBUG(dbgs() << " adding : "; Iter->dump()); in CreateVPTBlock()