class VPRecipeBase

Declaration

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

Description

VPRecipeBase is a base class modeling a sequence of one or more output IR instructions.

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

Inherits from: ilist_node_with_parent

Method Overview

Methods

VPRecipeBase(const unsigned char SC)

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

Parameters

const unsigned char SC

iplist<VPRecipeBase>::iterator eraseFromParent()

Description

This method unlinks 'this' from the containing basic block and deletes it.

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

Returns

an iterator pointing to the element after the erased one

virtual void execute(
    struct VPTransformState& State)

Description

The method which generates the output IR instructions that correspond to this VPRecipe, thereby "executing" the VPlan.

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

Parameters

struct VPTransformState& State

llvm::VPBasicBlock* getParent()

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

Returns

the VPBasicBlock which this VPRecipe belongs to.

const llvm::VPBasicBlock* getParent() const

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

unsigned int getVPRecipeID() const

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

Returns

an ID for the concrete type of this object. This is used to implement the classof checks. This should not be used for any other purpose, as the values may change as LLVM evolves.

void insertAfter(llvm::VPRecipeBase* InsertPos)

Description

Insert an unlinked Recipe into a basic block immediately after the specified Recipe.

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

Parameters

llvm::VPRecipeBase* InsertPos

void insertBefore(llvm::VPRecipeBase* InsertPos)

Description

Insert an unlinked recipe into a basic block immediately before the specified recipe.

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

Parameters

llvm::VPRecipeBase* InsertPos

void moveAfter(llvm::VPRecipeBase* MovePos)

Description

Unlink this recipe from its current VPBasicBlock and insert it into the VPBasicBlock that MovePos lives in, right after MovePos.

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

Parameters

llvm::VPRecipeBase* MovePos

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

Description

Each recipe prints itself.

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

Parameters

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

void removeFromParent()

Description

This method unlinks 'this' from the containing basic block, but does not delete it.

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

virtual ~VPRecipeBase()

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