Lines Matching defs:Cur

314     Instruction *Cur = Worklist.pop_back_val();
318 if (auto *SI = dyn_cast<StoreInst>(Cur)) {
356 if (Cur->use_empty())
359 bool IsAPhi = isa<PHINode>(Cur);
362 if (Cur != Phi && IsAPhi && Cur->getParent() == Phi->getParent())
367 if (!Cur->isCommutative() && !IsAPhi && !isa<SelectInst>(Cur) &&
368 !isa<ICmpInst>(Cur) && !isa<FCmpInst>(Cur) &&
369 !VisitedInsts.count(dyn_cast<Instruction>(Cur->getOperand(0))))
375 if (Cur != Start) {
377 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF, SE);
403 bool IsASelect = isa<SelectInst>(Cur);
408 hasMultipleUsesOf(Cur, VisitedInsts, 2))
413 !isAnyOfRecurrenceKind(Kind) && hasMultipleUsesOf(Cur, VisitedInsts, 1))
417 if (IsAPhi && Cur != Phi && !areAllUsesIn(Cur, VisitedInsts))
421 (isa<ICmpInst>(Cur) || isa<SelectInst>(Cur)))
424 (isa<FCmpInst>(Cur) || isa<SelectInst>(Cur)))
428 FoundReduxOp |= !IsAPhi && Cur != Start;
435 for (User *U : Cur->users()) {
441 if (Cur == UI->getOperand(0) || Cur == UI->getOperand(1))
449 if (ExitInstruction == Cur)
456 if (ExitInstruction != nullptr || Cur == Phi)
462 if (!is_contained(Phi->operands(), Cur))
465 ExitInstruction = Cur;
478 if (SI && SI->getPointerOperand() == Cur) {
1190 auto getNextInstruction = [&](Instruction *Cur) -> Instruction * {
1191 for (auto *User : Cur->users()) {
1197 // instruction if we can. We already know that Cur has 2 uses.
1206 auto isCorrectOpcode = [&](Instruction *Cur) {
1210 matchSelectPattern(Cur, LHS, RHS).Flavor);
1213 if (isFMulAddIntrinsic(Cur))
1216 return Cur->getOpcode() == RedOp;
1253 Instruction *Cur = getNextInstruction(Phi);
1257 while (Cur != RdxInstr) {
1258 if (!Cur || !isCorrectOpcode(Cur) || !Cur->hasNUses(ExpectedUses))
1261 ReductionOperations.push_back(Cur);
1262 Cur = getNextInstruction(Cur);
1265 ReductionOperations.push_back(Cur);