struct VPTransformState::CFGState

Declaration

struct VPTransformState::CFGState { /* full declaration omitted */ };

Description

Hold state information used when constructing the CFG of the output IR, traversing the VPBasicBlocks and generating corresponding IR BasicBlocks.

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

Member Variables

public llvm::VPBasicBlock* PrevVPBB = nullptr
The previous VPBasicBlock visited. Initially set to null.
public llvm::BasicBlock* PrevBB = nullptr
The previous IR BasicBlock created or used. Initially set to the new header BasicBlock.
public llvm::BasicBlock* ExitBB = nullptr
The last IR BasicBlock in the output IR. Set to the exit block of the vector loop.
public SmallDenseMap<llvm::VPBasicBlock*, llvm::BasicBlock*> VPBB2IRBB
A mapping of each VPBasicBlock to the corresponding BasicBlock. In case of replication, maps the BasicBlock of the last replica created.

Method Overview

Methods

CFGState()

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

llvm::BasicBlock* getPreheaderBBFor(
    llvm::VPRecipeBase* R)

Description

Returns the BasicBlock* mapped to the pre-header of the loop region containing \p R.

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

Parameters

llvm::VPRecipeBase* R