class VPWidenGEPRecipe

Declaration

class VPWidenGEPRecipe : public VPRecipeBase, public VPValue { /* full declaration omitted */ };

Description

A recipe for handling GEP instructions.

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

Inherits from: VPRecipeBase, VPValue

Member Variables

private bool IsPtrLoopInvariant
private llvm::SmallBitVector IsIndexLoopInvariant

Inherited from VPValue:

protected UnderlyingVal
protected Def

Method Overview

  • public template <typename IterT> VPWidenGEPRecipe(llvm::GetElementPtrInst * GEP, iterator_range<IterT> Operands)
  • public template <typename IterT> VPWidenGEPRecipe(llvm::GetElementPtrInst * GEP, iterator_range<IterT> Operands, llvm::Loop * OrigLoop)
  • public static inline bool classof(const llvm::VPDef * D)
  • public void execute(llvm::VPTransformState & State)
  • public void print(llvm::raw_ostream & O, const llvm::Twine & Indent, llvm::VPSlotTracker & SlotTracker) const
  • public ~VPWidenGEPRecipe()

Inherited from VPValue:

Inherited from VPRecipeBase:

Inherited from VPUser:

Inherited from VPDef:

Methods

template <typename IterT>
VPWidenGEPRecipe(llvm::GetElementPtrInst* GEP,
                 iterator_range<IterT> Operands)

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

Templates

IterT

Parameters

llvm::GetElementPtrInst* GEP
iterator_range<IterT> Operands

template <typename IterT>
VPWidenGEPRecipe(llvm::GetElementPtrInst* GEP,
                 iterator_range<IterT> Operands,
                 llvm::Loop* OrigLoop)

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

Templates

IterT

Parameters

llvm::GetElementPtrInst* GEP
iterator_range<IterT> Operands
llvm::Loop* OrigLoop

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

Parameters

const llvm::VPDef* D

void execute(llvm::VPTransformState& State)

Description

Generate the gep nodes.

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

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

Parameters

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

~VPWidenGEPRecipe()

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