Lines Matching refs:Cur

316     Instruction *Cur = Worklist.pop_back_val();  in AddReductionVar()  local
320 if (auto *SI = dyn_cast<StoreInst>(Cur)) { in AddReductionVar()
358 if (Cur->use_empty()) in AddReductionVar()
361 bool IsAPhi = isa<PHINode>(Cur); in AddReductionVar()
364 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent()) in AddReductionVar()
369 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) && in AddReductionVar()
370 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) && in AddReductionVar()
371 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0)))) in AddReductionVar()
377 if (Cur != Start) { in AddReductionVar()
379 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF); in AddReductionVar()
405 bool IsASelect = isa<SelectInst>(Cur); in AddReductionVar()
410 hasMultipleUsesOf(Cur, VisitedInsts, 2)) in AddReductionVar()
416 hasMultipleUsesOf(Cur, VisitedInsts, 1)) in AddReductionVar()
420 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts)) in AddReductionVar()
424 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
427 (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur))) in AddReductionVar()
431 FoundReduxOp |= !IsAPhi && Cur != Start; in AddReductionVar()
438 for (User *U : Cur->users()) { in AddReductionVar()
444 if (Cur == UI->getOperand(0) || Cur == UI->getOperand(1)) in AddReductionVar()
452 if (ExitInstruction == Cur) in AddReductionVar()
459 if (ExitInstruction != nullptr || Cur == Phi) in AddReductionVar()
465 if (!is_contained(Phi->operands(), Cur)) in AddReductionVar()
468 ExitInstruction = Cur; in AddReductionVar()
481 if (SI && SI->getPointerOperand() == Cur) { in AddReductionVar()
1158 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * { in getReductionOpChain() argument
1159 for (auto *User : Cur->users()) { in getReductionOpChain()
1174 auto isCorrectOpcode = [&](Instruction *Cur) { in getReductionOpChain() argument
1178 matchSelectPattern(Cur, LHS, RHS).Flavor); in getReductionOpChain()
1181 if (isFMulAddIntrinsic(Cur)) in getReductionOpChain()
1184 return Cur->getOpcode() == RedOp; in getReductionOpChain()
1221 Instruction *Cur = getNextInstruction(Phi); in getReductionOpChain() local
1225 while (Cur != RdxInstr) { in getReductionOpChain()
1226 if (!Cur || !isCorrectOpcode(Cur) || !Cur->hasNUses(ExpectedUses)) in getReductionOpChain()
1229 ReductionOperations.push_back(Cur); in getReductionOpChain()
1230 Cur = getNextInstruction(Cur); in getReductionOpChain()
1233 ReductionOperations.push_back(Cur); in getReductionOpChain()