Lines Matching refs:Step
463 Value *Step, Instruction *DL);
504 virtual Value *getStepVector(Value *Val, int StartIdx, Value *Step,
513 void buildScalarSteps(Value *ScalarIV, Value *Step, Instruction *EntryVal,
522 Value *Step, Instruction *EntryVal);
731 Value *getStepVector(Value *Val, int StartIdx, Value *Step,
1511 const InductionDescriptor &II, Value *Step, Instruction *EntryVal) { in createVectorIntOrFpInductionPHI() argument
1523 Step = Builder.CreateTrunc(Step, TruncType); in createVectorIntOrFpInductionPHI()
1528 getStepVector(SplatStart, 0, Step, II.getInductionOpcode()); in createVectorIntOrFpInductionPHI()
1534 if (Step->getType()->isIntegerTy()) { in createVectorIntOrFpInductionPHI()
1544 Value *ConstVF = getSignedIntOrFpConstant(Step->getType(), VF); in createVectorIntOrFpInductionPHI()
1545 Value *Mul = addFastMathFlag(Builder.CreateBinOp(MulOp, Step, ConstVF)); in createVectorIntOrFpInductionPHI()
1661 Value *Step = nullptr; in widenIntOrFpInduction() local
1664 Step = Exp.expandCodeFor(ID.getStep(), ID.getStep()->getType(), in widenIntOrFpInduction()
1667 Step = cast<SCEVUnknown>(ID.getStep())->getValue(); in widenIntOrFpInduction()
1674 createVectorIntOrFpInductionPHI(ID, Step, EntryVal); in widenIntOrFpInduction()
1695 assert(Step->getType()->isIntegerTy() && in widenIntOrFpInduction()
1698 Step = Builder.CreateTrunc(Step, TruncType); in widenIntOrFpInduction()
1709 getStepVector(Broadcasted, VF * Part, Step, ID.getInductionOpcode()); in widenIntOrFpInduction()
1724 buildScalarSteps(ScalarIV, Step, EntryVal, ID); in widenIntOrFpInduction()
1727 Value *InnerLoopVectorizer::getStepVector(Value *Val, int StartIdx, Value *Step, in getStepVector() argument
1736 assert(Step->getType() == STy && "Step has wrong type"); in getStepVector()
1748 Step = Builder.CreateVectorSplat(VLen, Step); in getStepVector()
1749 assert(Step->getType() == Val->getType() && "Invalid step vec"); in getStepVector()
1752 Step = Builder.CreateMul(Cv, Step); in getStepVector()
1753 return Builder.CreateAdd(Val, Step, "induction"); in getStepVector()
1766 Step = Builder.CreateVectorSplat(VLen, Step); in getStepVector()
1772 Value *MulOp = Builder.CreateFMul(Cv, Step); in getStepVector()
1783 void InnerLoopVectorizer::buildScalarSteps(Value *ScalarIV, Value *Step, in buildScalarSteps() argument
1791 assert(ScalarIVTy == Step->getType() && in buildScalarSteps()
1816 auto *Mul = addFastMathFlag(Builder.CreateBinOp(MulOp, StartIdx, Step)); in buildScalarSteps()
2358 Value *End, Value *Step, in createInductionVariable() argument
2376 Value *Next = Builder.CreateAdd(Induction, Step, "index.next"); in createInductionVariable()
2444 Constant *Step = ConstantInt::get(Ty, VF * UF); in getOrCreateVectorTripCount() local
2463 Value *R = Builder.CreateURem(TC, Step, "n.mod.vf"); in getOrCreateVectorTripCount()
2474 R = Builder.CreateSelect(IsZero, Step, R); in getOrCreateVectorTripCount()
2621 auto Step = ID.getStep(); in emitTransformedIndex() local
2623 assert(Index->getType() == Step->getType() && in emitTransformedIndex()
2661 Index, Exp.expandCodeFor(Step, Index->getType(), &*B.GetInsertPoint())); in emitTransformedIndex()
2665 assert(isa<SCEVConstant>(Step) && in emitTransformedIndex()
2669 CreateMul(Index, Exp.expandCodeFor(Step, Index->getType(), in emitTransformedIndex()
2673 assert(Step->getType()->isFloatingPointTy() && "Expected FP Step value"); in emitTransformedIndex()
2680 Value *StepValue = cast<SCEVUnknown>(Step)->getValue(); in emitTransformedIndex()
2806 Constant *Step = ConstantInt::get(IdxTy, VF * UF); in createVectorizedLoopSkeleton() local
2808 createInductionVariable(Lp, StartIdx, CountRoundDown, Step, in createVectorizedLoopSkeleton()
6240 Value *InnerLoopUnroller::getStepVector(Value *Val, int StartIdx, Value *Step, in getStepVector() argument
6250 Value *MulOp = addFastMathFlag(Builder.CreateFMul(C, Step)); in getStepVector()
6254 return Builder.CreateAdd(Val, Builder.CreateMul(C, Step), "induction"); in getStepVector()