Lines Matching refs:Cur
271 Instruction *Cur = Worklist.back(); in AddReductionVar() local
277 if (Cur->use_empty()) in AddReductionVar()
280 bool IsAPhi = isa<PHINode>(Cur); in AddReductionVar()
283 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent()) in AddReductionVar()
288 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
289 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) && in AddReductionVar()
290 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0)))) in AddReductionVar()
296 if (Cur != Start) { in AddReductionVar()
297 ReduxDesc = isRecurrenceInstr(Cur, Kind, ReduxDesc, HasFunNoNaNAttr); in AddReductionVar()
302 bool IsASelect = isa<SelectInst>(Cur); in AddReductionVar()
307 hasMultipleUsesOf(Cur, VisitedInsts, 2)) in AddReductionVar()
312 Kind != RK_FloatMinMax && hasMultipleUsesOf(Cur, VisitedInsts, 1)) in AddReductionVar()
316 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts)) in AddReductionVar()
320 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
322 if (Kind == RK_FloatMinMax && (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
326 FoundReduxOp |= !IsAPhi && Cur != Start; in AddReductionVar()
333 for (User *U : Cur->users()) { in AddReductionVar()
341 if (ExitInstruction == Cur) in AddReductionVar()
348 if (ExitInstruction != nullptr || Cur == Phi) in AddReductionVar()
354 if (!is_contained(Phi->operands(), Cur)) in AddReductionVar()
357 ExitInstruction = Cur; in AddReductionVar()