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

Methods

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

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()

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:132

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

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)

Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:134

Parameters

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

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

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