Lines Matching refs:Cur

313     Instruction *Cur = Worklist.pop_back_val();  in AddReductionVar()  local
317 if (auto *SI = dyn_cast<StoreInst>(Cur)) { in AddReductionVar()
355 if (Cur->use_empty()) in AddReductionVar()
358 bool IsAPhi = isa<PHINode>(Cur); in AddReductionVar()
361 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent()) in AddReductionVar()
366 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
367 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) && in AddReductionVar()
368 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0)))) in AddReductionVar()
374 if (Cur != Start) { in AddReductionVar()
376 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF); in AddReductionVar()
402 bool IsASelect = isa<SelectInst>(Cur); in AddReductionVar()
407 hasMultipleUsesOf(Cur, VisitedInsts, 2)) in AddReductionVar()
412 !isAnyOfRecurrenceKind(Kind) && hasMultipleUsesOf(Cur, VisitedInsts, 1)) in AddReductionVar()
416 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts)) in AddReductionVar()
420 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
423 (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
427 FoundReduxOp |= !IsAPhi && Cur != Start; in AddReductionVar()
434 for (User *U : Cur->users()) { in AddReductionVar()
440 if (Cur == UI->getOperand(0) || Cur == UI->getOperand(1)) in AddReductionVar()
448 if (ExitInstruction == Cur) in AddReductionVar()
455 if (ExitInstruction != nullptr || Cur == Phi) in AddReductionVar()
461 if (!is_contained(Phi->operands(), Cur)) in AddReductionVar()
464 ExitInstruction = Cur; in AddReductionVar()
477 if (SI && SI->getPointerOperand() == Cur) { in AddReductionVar()
1155 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * { in getReductionOpChain() argument
1156 for (auto *User : Cur->users()) { in getReductionOpChain()
1171 auto isCorrectOpcode = [&](Instruction *Cur) { in getReductionOpChain() argument
1175 matchSelectPattern(Cur, LHS, RHS).Flavor); in getReductionOpChain()
1178 if (isFMulAddIntrinsic(Cur)) in getReductionOpChain()
1181 return Cur->getOpcode() == RedOp; in getReductionOpChain()
1218 Instruction *Cur = getNextInstruction(Phi); in getReductionOpChain() local
1222 while (Cur != RdxInstr) { in getReductionOpChain()
1223 if (!Cur || !isCorrectOpcode(Cur) || !Cur->hasNUses(ExpectedUses)) in getReductionOpChain()
1226 ReductionOperations.push_back(Cur); in getReductionOpChain()
1227 Cur = getNextInstruction(Cur); in getReductionOpChain()
1230 ReductionOperations.push_back(Cur); in getReductionOpChain()