class VPCanonicalIVPHIRecipe

Declaration

class VPCanonicalIVPHIRecipe : public VPHeaderPHIRecipe { /* full declaration omitted */ };

Description

Canonical scalar induction phi of the vector loop. Starting at the specified start value (either 0 or the resume value when vectorizing the epilogue loop). VPWidenCanonicalIVRecipe represents the vector version of the canonical induction variable.

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

Inherits from: VPHeaderPHIRecipe

Member Variables

private llvm::DebugLoc DL

Inherited from VPValue:

protected UnderlyingVal
protected Def

Method Overview

  • public VPCanonicalIVPHIRecipe(llvm::VPValue * StartV, llvm::DebugLoc DL)
  • public static inline bool classof(const llvm::VPDef * D)
  • public static inline bool classof(const llvm::VPHeaderPHIRecipe * D)
  • public static inline bool classof(const llvm::VPValue * V)
  • public void execute(llvm::VPTransformState & State)
  • public const llvm::Type * getScalarType() const
  • public bool onlyFirstLaneUsed(const llvm::VPValue * Op) const
  • public void print(llvm::raw_ostream & O, const llvm::Twine & Indent, llvm::VPSlotTracker & SlotTracker) const
  • public ~VPCanonicalIVPHIRecipe()

Inherited from VPHeaderPHIRecipe:

Inherited from VPValue:

Inherited from VPRecipeBase:

Inherited from VPUser:

Inherited from VPDef:

Methods

VPCanonicalIVPHIRecipe(llvm::VPValue* StartV,
                       llvm::DebugLoc DL)

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

Parameters

llvm::VPValue* StartV
llvm::DebugLoc DL

static inline bool classof(const llvm::VPDef* D)

Description

Method to support type inquiry through isa, cast, and dyn_cast.

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

Parameters

const llvm::VPDef* D

static inline bool classof(
    const llvm::VPHeaderPHIRecipe* D)

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

Parameters

const llvm::VPHeaderPHIRecipe* D

static inline bool classof(const llvm::VPValue* V)

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

Parameters

const llvm::VPValue* V

void execute(llvm::VPTransformState& State)

Description

Generate the canonical scalar induction phi of the vector loop.

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

Parameters

llvm::VPTransformState& State

const llvm::Type* getScalarType() const

Description

Returns the scalar type of the induction.

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

bool onlyFirstLaneUsed(
    const llvm::VPValue* Op) const

Description

Returns true if the recipe only uses the first lane of operand \p Op.

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

Parameters

const llvm::VPValue* Op

void print(llvm::raw_ostream& O,
           const llvm::Twine& Indent,
           llvm::VPSlotTracker& SlotTracker) const

Description

Print the recipe.

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

Parameters

llvm::raw_ostream& O
const llvm::Twine& Indent
llvm::VPSlotTracker& SlotTracker

~VPCanonicalIVPHIRecipe()

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