class VPLane
Declaration
class VPLane { /* full declaration omitted */ };
Description
VPLane provides a way to access lanes in both fixed width and scalable vectors, where for the latter the lane index sometimes needs calculating as a runtime expression.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:108
Member Variables
- private unsigned int Lane
- in [0..VF)
- private llvm::VPLane::Kind LaneKind
- Indicates how the Lane should be interpreted, as described above.
Method Overview
- public VPLane(unsigned int Lane, llvm::VPLane::Kind LaneKind)
- public llvm::Value * getAsRuntimeExpr(llvm::IRBuilderBase & Builder, const llvm::ElementCount & VF) const
- public static llvm::VPLane getFirstLane()
- public llvm::VPLane::Kind getKind() const
- public unsigned int getKnownLane() const
- public static llvm::VPLane getLastLaneForVF(const llvm::ElementCount & VF)
- public static unsigned int getNumCachedLanes(const llvm::ElementCount & VF)
- public bool isFirstLane() const
- public unsigned int mapToCacheIndex(const llvm::ElementCount & VF) const
Methods
¶VPLane(unsigned int Lane,
llvm::VPLane::Kind LaneKind)
VPLane(unsigned int Lane,
llvm::VPLane::Kind LaneKind)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:130
Parameters
- unsigned int Lane
- llvm::VPLane::Kind LaneKind
¶llvm::Value* getAsRuntimeExpr(
llvm::IRBuilderBase& Builder,
const llvm::ElementCount& VF) const
llvm::Value* getAsRuntimeExpr(
llvm::IRBuilderBase& Builder,
const llvm::ElementCount& VF) const
Description
Returns an expression describing the lane index that can be used at runtime.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:155
Parameters
- llvm::IRBuilderBase& Builder
- const llvm::ElementCount& VF
¶static llvm::VPLane getFirstLane()
static llvm::VPLane getFirstLane()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:132
¶llvm::VPLane::Kind getKind() const
llvm::VPLane::Kind getKind() const
Description
Returns the Kind of lane offset.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:158
¶unsigned int getKnownLane() const
unsigned int getKnownLane() const
Description
Returns a compile-time known value for the lane index and asserts if the lane can only be calculated at runtime.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:148
¶static llvm::VPLane getLastLaneForVF(
const llvm::ElementCount& VF)
static llvm::VPLane getLastLaneForVF(
const llvm::ElementCount& VF)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:134
Parameters
- const llvm::ElementCount& VF
¶static unsigned int getNumCachedLanes(
const llvm::ElementCount& VF)
static unsigned int getNumCachedLanes(
const llvm::ElementCount& VF)
Description
Returns the maxmimum number of lanes that we are able to consider caching for \p VF.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:177
Parameters
- const llvm::ElementCount& VF
¶bool isFirstLane() const
bool isFirstLane() const
Description
Returns true if this is the first lane of the whole vector.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:161
¶unsigned int mapToCacheIndex(
const llvm::ElementCount& VF) const
unsigned int mapToCacheIndex(
const llvm::ElementCount& VF) const
Description
Maps the lane to a cache index based on \p VF.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:164
Parameters
- const llvm::ElementCount& VF