Lines Matching refs:Cur
238 Instruction *Cur = Worklist.back(); in AddReductionVar() local
244 if (Cur->use_empty()) in AddReductionVar()
247 bool IsAPhi = isa<PHINode>(Cur); in AddReductionVar()
250 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent()) in AddReductionVar()
255 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
256 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) && in AddReductionVar()
257 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0)))) in AddReductionVar()
263 if (Cur != Start) { in AddReductionVar()
264 ReduxDesc = isRecurrenceInstr(Cur, Kind, ReduxDesc, HasFunNoNaNAttr); in AddReductionVar()
271 hasMultipleUsesOf(Cur, VisitedInsts)) in AddReductionVar()
275 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts)) in AddReductionVar()
279 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
281 if (Kind == RK_FloatMinMax && (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
285 FoundReduxOp |= !IsAPhi && Cur != Start; in AddReductionVar()
292 for (User *U : Cur->users()) { in AddReductionVar()
302 if (ExitInstruction != nullptr || Cur == Phi) in AddReductionVar()
308 if (std::find(Phi->op_begin(), Phi->op_end(), Cur) == Phi->op_end()) in AddReductionVar()
311 ExitInstruction = Cur; in AddReductionVar()