struct VPFirstOrderRecurrencePHIRecipe

Declaration

struct VPFirstOrderRecurrencePHIRecipe : public VPHeaderPHIRecipe { /* full declaration omitted */ };

Description

A recipe for handling first-order recurrence phis. The start value is the first operand of the recipe and the incoming value from the backedge is the second operand.

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

Inherits from: VPHeaderPHIRecipe

Member Variables

Inherited from VPValue:

protected UnderlyingVal
protected Def

Method Overview

  • public VPFirstOrderRecurrencePHIRecipe(llvm::PHINode * Phi, llvm::VPValue & Start)
  • public static inline bool classof(const llvm::VPRecipeBase * R)
  • public static inline bool classof(const llvm::VPHeaderPHIRecipe * R)
  • public static inline bool classof(const llvm::VPValue * V)
  • public void execute(llvm::VPTransformState & State)
  • public void print(llvm::raw_ostream & O, const llvm::Twine & Indent, llvm::VPSlotTracker & SlotTracker) const

Inherited from VPHeaderPHIRecipe:

Inherited from VPValue:

Inherited from VPRecipeBase:

Inherited from VPUser:

Inherited from VPDef:

Methods

VPFirstOrderRecurrencePHIRecipe(
    llvm::PHINode* Phi,
    llvm::VPValue& Start)

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

Parameters

llvm::PHINode* Phi
llvm::VPValue& Start

static inline bool classof(
    const llvm::VPRecipeBase* R)

Description

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

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

Parameters

const llvm::VPRecipeBase* R

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

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

Parameters

const llvm::VPHeaderPHIRecipe* R

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

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

Parameters

const llvm::VPValue* V

void execute(llvm::VPTransformState& State)

Description

Generate the phi nodes.

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

Parameters

llvm::VPTransformState& State

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:1305

Parameters

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