class VPBranchOnMaskRecipe

Declaration

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

Description

A recipe for generating conditional branches on the bits of a mask.

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

Inherits from: VPRecipeBase

Member Variables

Method Overview

  • public VPBranchOnMaskRecipe(llvm::VPValue * BlockInMask)
  • public static inline bool classof(const llvm::VPDef * D)
  • public void execute(llvm::VPTransformState & State)
  • public llvm::VPValue * getMask() const
  • public void print(llvm::raw_ostream & O, const llvm::Twine & Indent, llvm::VPSlotTracker & SlotTracker) const
  • public bool usesScalars(const llvm::VPValue * Op) const

Inherited from VPRecipeBase:

Inherited from VPUser:

Inherited from VPDef:

Methods

VPBranchOnMaskRecipe(llvm::VPValue* BlockInMask)

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

Parameters

llvm::VPValue* BlockInMask

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

Parameters

const llvm::VPDef* D

void execute(llvm::VPTransformState& State)

Description

Generate the extraction of the appropriate bit from the block mask and the conditional branch.

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

Parameters

llvm::VPTransformState& State

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

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

Parameters

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

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

Description

Returns true if the recipe uses scalars of operand \p Op.

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

Parameters

const llvm::VPValue* Op