Lines Matching defs:Step
506 Value *Step = createStepForVF(Builder, ScalarTC->getType(), State.VF, UF);
507 Value *Sub = Builder.CreateSub(ScalarTC, Step);
508 Value *Cmp = Builder.CreateICmp(CmpInst::Predicate::ICMP_UGT, ScalarTC, Step);
534 Value *Step = createStepForVF(Builder, IV->getType(), State.VF, Part);
535 return Builder.CreateAdd(IV, Step, Name, hasNoUnsignedWrap(),
1683 /// (0 * Step, 1 * Step, 2 * Step, ...)
1686 static Value *getStepVector(Value *Val, Value *Step,
1697 "Induction Step must be an integer or FP");
1698 assert(Step->getType() == STy && "Step has wrong type");
1712 Step = Builder.CreateVectorSplat(VLen, Step);
1713 assert(Step->getType() == Val->getType() && "Invalid step vec");
1716 Step = Builder.CreateMul(InitVec, Step);
1717 return Builder.CreateAdd(Val, Step, "induction");
1725 Step = Builder.CreateVectorSplat(VLen, Step);
1726 Value *MulOp = Builder.CreateFMul(InitVec, Step);
1758 Value *Step = State.get(getStepValue(), VPLane(0));
1771 Step = Builder.CreateTrunc(Step, TruncType);
1776 Value *SteppedStart = getStepVector(SplatStart, Step, ID.getInductionOpcode(),
1783 if (Step->getType()->isIntegerTy()) {
1799 Type *StepType = Step->getType();
1801 if (Step->getType()->isFloatingPointTy())
1805 Value *Mul = Builder.CreateBinOp(MulOp, Step, RuntimeVF);
1882 /// variable on which to base the steps, \p Step is the size of the step.
1885 Value *Step = State.get(getStepValue(), VPLane(0));
1890 assert(BaseIVTy == Step->getType() && "Types of BaseIV and Step must match!");
1916 SplatStep = Builder.CreateVectorSplat(State.VF, Step);
1953 auto *Mul = Builder.CreateBinOp(MulOp, StartIdx, Step);