Lines Matching refs:Cur
274 Instruction *Cur = Worklist.back();
280 if (Cur->use_empty())
283 bool IsAPhi = isa<PHINode>(Cur);
286 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent())
291 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) &&
292 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) &&
293 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0))))
299 if (Cur != Start) {
300 ReduxDesc = isRecurrenceInstr(Cur, Kind, ReduxDesc, HasFunNoNaNAttr);
308 bool IsASelect = isa<SelectInst>(Cur);
313 hasMultipleUsesOf(Cur, VisitedInsts, 2))
318 Kind != RK_FloatMinMax && hasMultipleUsesOf(Cur, VisitedInsts, 1))
322 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts))
326 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur)))
328 if (Kind == RK_FloatMinMax && (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur)))
332 FoundReduxOp |= !IsAPhi && Cur != Start;
339 for (User *U : Cur->users()) {
347 if (ExitInstruction == Cur)
354 if (ExitInstruction != nullptr || Cur == Phi)
360 if (!is_contained(Phi->operands(), Cur))
363 ExitInstruction = Cur;