Lines Matching defs:Cur
313 Instruction *Cur = Worklist.pop_back_val();
317 if (auto *SI = dyn_cast<StoreInst>(Cur)) {
355 if (Cur->use_empty())
358 bool IsAPhi = isa<PHINode>(Cur);
361 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent())
366 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) &&
367 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) &&
368 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0))))
374 if (Cur != Start) {
376 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF);
402 bool IsASelect = isa<SelectInst>(Cur);
407 hasMultipleUsesOf(Cur, VisitedInsts, 2))
412 !isAnyOfRecurrenceKind(Kind) && hasMultipleUsesOf(Cur, VisitedInsts, 1))
416 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts))
420 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur)))
423 (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur)))
427 FoundReduxOp |= !IsAPhi && Cur != Start;
434 for (User *U : Cur->users()) {
440 if (Cur == UI->getOperand(0) || Cur == UI->getOperand(1))
448 if (ExitInstruction == Cur)
455 if (ExitInstruction != nullptr || Cur == Phi)
461 if (!is_contained(Phi->operands(), Cur))
464 ExitInstruction = Cur;
477 if (SI && SI->getPointerOperand() == Cur) {
1154 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * {
1155 for (auto *User : Cur->users()) {
1161 // instruction if we can. We already know that Cur has 2 uses.
1170 auto isCorrectOpcode = [&](Instruction *Cur) {
1174 matchSelectPattern(Cur, LHS, RHS).Flavor);
1177 if (isFMulAddIntrinsic(Cur))
1180 return Cur->getOpcode() == RedOp;
1217 Instruction *Cur = getNextInstruction(Phi);
1221 while (Cur != RdxInstr) {
1222 if (!Cur || !isCorrectOpcode(Cur) || !Cur->hasNUses(ExpectedUses))
1225 ReductionOperations.push_back(Cur);
1226 Cur = getNextInstruction(Cur);
1229 ReductionOperations.push_back(Cur);