Lines Matching refs:VF
173 auto Lane = VPLane::getLastLaneForVF(State.VF); in fixPhi()
316 auto *PredTy = VectorType::get(Int1Ty, State.VF); in generateInstruction()
345 createStepForVF(Builder, ScalarTC->getType(), State.VF, State.UF); in generateInstruction()
358 Value *Step = createStepForVF(Builder, IV->getType(), State.VF, Part); in generateInstruction()
432 if (State.VF.isVector() && PhiTy != RdxDesc.getRecurrenceType()) { in generateInstruction()
433 Type *RdxVecTy = VectorType::get(RdxDesc.getRecurrenceType(), State.VF); in generateInstruction()
464 if (State.VF.isVector() && !PhiR->isInLoop()) { in generateInstruction()
579 assert(State.VF.isVector() && "not widening"); in execute()
595 VectorType::get(CI.getType()->getScalarType(), State.VF)); in execute()
844 State.VF) == State.get(this, Part)->getType() && in execute()
865 assert(State.VF.isVector() && "Not vectorizing?"); in execute()
866 Type *DestTy = VectorType::get(getResultType(), State.VF); in execute()
898 Instruction::BinaryOps BinOp, ElementCount VF, in getStepVector() argument
900 assert(VF.isVector() && "only vector VFs are supported"); in getStepVector()
954 ElementCount VF) { in getRuntimeVFAsFloat() argument
957 Value *RuntimeVF = getRuntimeVF(B, IntTy, VF); in getRuntimeVFAsFloat()
969 assert(State.VF.isVector() && "must have vector VF"); in execute()
999 Value *SplatStart = Builder.CreateVectorSplat(State.VF, Start); in execute()
1001 SplatStart, Zero, Step, ID.getInductionOpcode(), State.VF, State.Builder); in execute()
1020 RuntimeVF = getRuntimeVFAsFloat(Builder, StepType, State.VF); in execute()
1022 RuntimeVF = getRuntimeVF(Builder, StepType, State.VF); in execute()
1031 ? ConstantVector::getSplat(State.VF, cast<Constant>(Mul)) in execute()
1032 : Builder.CreateVectorSplat(State.VF, Mul); in execute()
1150 if (!FirstLaneOnly && State.VF.isScalable()) { in execute()
1151 VecIVTy = VectorType::get(BaseIVTy, State.VF); in execute()
1153 Builder.CreateStepVector(VectorType::get(IntStepTy, State.VF)); in execute()
1154 SplatStep = Builder.CreateVectorSplat(State.VF, Step); in execute()
1155 SplatIV = Builder.CreateVectorSplat(State.VF, BaseIV); in execute()
1161 unsigned EndLane = FirstLaneOnly ? 1 : State.VF.getKnownMinValue(); in execute()
1169 Value *StartIdx0 = createStepForVF(Builder, IntStepTy, State.VF, Part); in execute()
1171 if (!FirstLaneOnly && State.VF.isScalable()) { in execute()
1172 auto *SplatStartIdx = Builder.CreateVectorSplat(State.VF, StartIdx0); in execute()
1192 assert((State.VF.isScalable() || isa<Constant>(StartIdx)) && in execute()
1213 assert(State.VF.isVector() && "not widening"); in execute()
1242 Value *EntryPart = State.Builder.CreateVectorSplat(State.VF, NewGEP); in execute()
1276 assert((State.VF.isScalar() || NewGEP->getType()->isVectorTy()) && in execute()
1310 Type *IndexTy = State.VF.isScalable() && (IsReverse || Part > 0) in execute()
1320 Value *RunTimeVF = getRuntimeVF(Builder, IndexTy, State.VF); in execute()
1330 Value *Increment = createStepForVF(Builder, IndexTy, State.VF, Part); in execute()
1609 bool VPWidenPointerInductionRecipe::onlyScalarsGenerated(ElementCount VF) { in onlyScalarsGenerated() argument
1611 (!VF.isScalable() || vputils::onlyFirstLaneUsed(this)); in onlyScalarsGenerated()
1652 ElementCount VF = State.VF; in execute() local
1653 Value *VStart = VF.isScalar() in execute()
1655 : Builder.CreateVectorSplat(VF, CanonicalIV, "broadcast"); in execute()
1657 Value *VStep = createStepForVF(Builder, STy, VF, Part); in execute()
1658 if (VF.isVector()) { in execute()
1659 VStep = Builder.CreateVectorSplat(VF, VStep); in execute()
1683 Type *VecTy = State.VF.isScalar() in execute()
1685 : VectorType::get(VectorInit->getType(), State.VF); in execute()
1688 if (State.VF.isVector()) { in execute()
1693 auto *RuntimeVF = getRuntimeVF(Builder, IdxTy, State.VF); in execute()
1728 bool ScalarPHI = State.VF.isScalar() || IsInLoop; in execute()
1730 : VectorType::get(StartV->getType(), State.VF); in execute()
1755 Builder.CreateVectorSplat(State.VF, StartV, "minmax.ident"); in execute()
1762 Iden = Builder.CreateVectorSplat(State.VF, Iden); in execute()