class VPWidenMemoryInstructionRecipe

Declaration

class VPWidenMemoryInstructionRecipe : public VPRecipeBase { /* full declaration omitted */ };

Description

A Recipe for widening load/store operations. TODO: We currently execute only per-part unless a specific instance is provided.

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

Inherits from: VPRecipeBase

Method Overview

  • public VPWidenMemoryInstructionRecipe(llvm::Instruction & Instr, llvm::VPValue * Addr, llvm::VPValue * Mask)
  • public static inline bool classof(const llvm::VPRecipeBase * V)
  • public void execute(llvm::VPTransformState & State)
  • public llvm::VPValue * getAddr() const
  • public llvm::VPValue * getMask() const
  • public void print(llvm::raw_ostream & O, const llvm::Twine & Indent) const

Inherited from VPRecipeBase:

Methods

VPWidenMemoryInstructionRecipe(
    llvm::Instruction& Instr,
    llvm::VPValue* Addr,
    llvm::VPValue* Mask)

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

Parameters

llvm::Instruction& Instr
llvm::VPValue* Addr
llvm::VPValue* Mask

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

Description

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

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

Parameters

const llvm::VPRecipeBase* V

void execute(llvm::VPTransformState& State)

Description

Generate the wide load/store.

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

Parameters

llvm::VPTransformState& State

llvm::VPValue* getAddr() const

Description

Return the address accessed by this recipe.

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

llvm::VPValue* getMask() const

Description

Return the mask used by this recipe. Note that a full mask is represented by a nullptr.

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

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

Description

Print the recipe.

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

Parameters

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