LLVM  15.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::VPTransformState::CFGState Struct Reference

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

#include "Transforms/Vectorize/VPlan.h"

Collaboration diagram for llvm::VPTransformState::CFGState:
Collaboration graph
[legend]

Public Member Functions

 CFGState ()=default
 
BasicBlockgetPreheaderBBFor (VPRecipeBase *R)
 Returns the BasicBlock* mapped to the pre-header of the loop region containing R. More...
 

Public Attributes

VPBasicBlockPrevVPBB = nullptr
 The previous VPBasicBlock visited. Initially set to null. More...
 
BasicBlockPrevBB = nullptr
 The previous IR BasicBlock created or used. More...
 
BasicBlockExitBB = nullptr
 The last IR BasicBlock in the output IR. More...
 
SmallDenseMap< VPBasicBlock *, BasicBlock * > VPBB2IRBB
 A mapping of each VPBasicBlock to the corresponding BasicBlock. More...
 

Detailed Description

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

Definition at line 303 of file VPlan.h.

Constructor & Destructor Documentation

◆ CFGState()

llvm::VPTransformState::CFGState::CFGState ( )
default

Member Function Documentation

◆ getPreheaderBBFor()

BasicBlock * VPTransformState::CFGState::getPreheaderBBFor ( VPRecipeBase R)

Member Data Documentation

◆ ExitBB

BasicBlock* llvm::VPTransformState::CFGState::ExitBB = nullptr

The last IR BasicBlock in the output IR.

Set to the exit block of the vector loop.

Definition at line 313 of file VPlan.h.

Referenced by llvm::VPBasicBlock::execute().

◆ PrevBB

BasicBlock* llvm::VPTransformState::CFGState::PrevBB = nullptr

◆ PrevVPBB

VPBasicBlock* llvm::VPTransformState::CFGState::PrevVPBB = nullptr

The previous VPBasicBlock visited. Initially set to null.

Definition at line 305 of file VPlan.h.

Referenced by llvm::VPBasicBlock::execute().

◆ VPBB2IRBB

SmallDenseMap<VPBasicBlock *, BasicBlock *> llvm::VPTransformState::CFGState::VPBB2IRBB

A mapping of each VPBasicBlock to the corresponding BasicBlock.

In case of replication, maps the BasicBlock of the last replica created.

Definition at line 317 of file VPlan.h.

Referenced by llvm::VPBasicBlock::execute(), llvm::InnerLoopVectorizer::fixNonInductionPHIs(), llvm::InnerLoopVectorizer::fixReduction(), llvm::InnerLoopVectorizer::fixVectorizedLoop(), and getPreheaderBBFor().


The documentation for this struct was generated from the following files: