Home
last modified time | relevance | path

Searched refs:VPLane (Results 1 – 6 of 6) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanHelpers.h125 class VPLane {
147 VPLane(unsigned Lane) : Lane(Lane) {} in VPLane() function
148 VPLane(unsigned Lane, Kind LaneKind) : Lane(Lane), LaneKind(LaneKind) {} in VPLane() function
150 static VPLane getFirstLane() { return VPLane(0, VPLane::Kind::First); } in getFirstLane()
152 static VPLane getLaneFromEnd(const ElementCount &VF, unsigned Offset) { in getLaneFromEnd()
160 LaneKind = VPLane::Kind::ScalableLast; in getLaneFromEnd()
162 LaneKind = VPLane::Kind::First; in getLaneFromEnd()
163 return VPLane(LaneOffset, LaneKind); in getLaneFromEnd()
166 static VPLane getLastLaneForVF(const ElementCount &VF) { in getLastLaneForVF()
191 case VPLane::Kind::ScalableLast: in mapToCacheIndex()
[all …]
H A DVPlanRecipes.cpp527 const VPLane &Lane) { in generatePerLane()
580 return State.get(getOperand(0), VPLane(IdxToExtract)); in generate()
609 Value *VIVElem0 = State.get(getOperand(0), VPLane(0)); in generate()
611 Value *ScalarTC = State.get(getOperand(1), VPLane(0)); in generate()
646 Value *ScalarTC = State.get(getOperand(0), VPLane(0)); in generate()
671 auto *IV = State.get(getOperand(0), VPLane(0)); in generate()
680 Value *Cond = State.get(getOperand(0), VPLane(0)); in generate()
750 State.get(getOperand(1), VPLane(0)), OrigPhi); in generate()
839 Res = State.get(getOperand(0), VPLane::getLaneFromEnd(State.VF, Offset)); in generate()
856 Value *Ptr = State.get(getOperand(0), VPLane(0)); in generate()
[all …]
H A DVPlan.cpp75 Value *VPLane::getAsRuntimeExpr(IRBuilderBase &Builder, in getAsRuntimeExpr()
78 case VPLane::Kind::ScalableLast: in getAsRuntimeExpr()
82 case VPLane::Kind::First: in getAsRuntimeExpr()
252 Value *VPTransformState::get(const VPValue *Def, const VPLane &Lane) { in get()
260 hasScalarValue(Def, VPLane::getFirstLane())) { in get()
266 if (Lane.getKind() == VPLane::Kind::First && match(Def, m_BuildVector())) { in get()
288 (hasScalarValue(Def, VPLane(0)) && in get()
292 return get(Def, VPLane(0)); in get()
331 Value *ScalarValue = get(Def, VPLane(0)); in get()
341 VPLane LastLane(IsSingleScalar ? 0 : VF.getFixedValue() - 1); in get()
[all …]
H A DVPlanUnroll.cpp461 VPLane Lane) { in cloneForLane()
469 if (Lane.getKind() == VPLane::Kind::ScalableLast) { in cloneForLane()
518 VPLane::getLastLaneForVF(VF)); in replicateByVF()
522 cloneForLane(Plan, Builder, IdxTy, RepR, VPLane(I)); in replicateByVF()
530 LaneDefs.push_back(cloneForLane(Plan, Builder, IdxTy, RepR, VPLane(I))); in replicateByVF()
H A DVPlan.h64 class VPLane; variable
1045 Value *generatePerLane(VPTransformState &State, const VPLane &Lane);
H A DLoopVectorize.cpp7268 ExpandedSCEVs[ExpSCEV->getSCEV()] = State.get(ExpSCEV, VPLane(0)); in executePlan()
7277 ILV.setTripCount(State.get(BestVPlan.getTripCount(), VPLane(0))); in executePlan()
9347 Value *Step = State.get(getStepValue(), VPLane(0)); in execute()
9348 Value *Index = State.get(getOperand(1), VPLane(0)); in execute()
9360 State.set(this, DerivedIV, VPLane(0)); in execute()