LLVM
8.0.1
|
VPBasicBlock serves as the leaf of the Hierarchical Control-Flow Graph. More...
#include "Transforms/Vectorize/VPlan.h"
Public Types | |
using | RecipeListTy = iplist< VPRecipeBase > |
using | iterator = RecipeListTy::iterator |
Instruction iterators... More... | |
using | const_iterator = RecipeListTy::const_iterator |
using | reverse_iterator = RecipeListTy::reverse_iterator |
using | const_reverse_iterator = RecipeListTy::const_reverse_iterator |
Public Types inherited from llvm::VPBlockBase | |
using | VPBlockTy = enum { VPBasicBlockSC, VPRegionBlockSC } |
An enumeration for keeping track of the concrete subclass of VPBlockBase that are actually instantiated. More... | |
using | VPBlocksTy = SmallVectorImpl< VPBlockBase * > |
Static Public Member Functions | |
static RecipeListTy VPBasicBlock::* | getSublistAccess (VPRecipeBase *) |
Returns a pointer to a member of the recipe list. More... | |
static bool | classof (const VPBlockBase *V) |
Method to support type inquiry through isa, cast, and dyn_cast. More... | |
Static Public Member Functions inherited from llvm::VPBlockBase | |
static void | deleteCFG (VPBlockBase *Entry) |
Delete all blocks reachable from a given VPBlockBase, inclusive. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::VPBlockBase | |
VPBlockBase (const unsigned char SC, const std::string &N) | |
VPBasicBlock serves as the leaf of the Hierarchical Control-Flow Graph.
It holds a sequence of zero or more VPRecipe's each representing a sequence of output IR instructions.
Instruction iterators...
|
inline |
|
inlineoverride |
Definition at line 980 of file VPlan.h.
References llvm::iplist_impl< IntrusiveListT, TraitsT >::clear().
|
inline |
Augment the existing recipes of a VPBasicBlock with an additional Recipe
as the last recipe.
Definition at line 1030 of file VPlan.h.
References CFG, and llvm::sys::path::end().
Referenced by llvm::VPRecipeBuilder::handleReplication(), llvm::VPRecipeBuilder::tryToCreateRecipe(), and llvm::VPRecipeBuilder::tryToWiden().
|
inline |
Definition at line 1005 of file VPlan.h.
Referenced by llvm::VPRecipeBuilder::tryToWiden().
|
inline |
|
inline |
Recipe iterator methods.
Definition at line 991 of file VPlan.h.
Referenced by llvm::VPlanHCFGTransforms::VPInstructionsToVPRecipes().
|
inline |
|
inlinestatic |
Method to support type inquiry through isa, cast, and dyn_cast.
Definition at line 1017 of file VPlan.h.
References llvm::VPBlockBase::getVPBlockID().
|
inline |
Definition at line 1002 of file VPlan.h.
Referenced by llvm::VPRecipeBuilder::tryToCreateRecipe(), and llvm::VPRecipeBuilder::tryToWiden().
|
inline |
Definition at line 993 of file VPlan.h.
Referenced by llvm::VPBuilder::setInsertPoint(), and llvm::VPlanHCFGTransforms::VPInstructionsToVPRecipes().
|
inline |
|
overridevirtual |
The method which generates the output IR instructions that correspond to this VPBasicBlock, thereby "executing" the VPlan.
Implements llvm::VPBlockBase.
Definition at line 162 of file VPlan.cpp.
References llvm::LoopBase< BlockT, LoopT >::addBasicBlockToLoop(), assert(), llvm::VPTransformState::Builder, llvm::VPTransformState::Callback, llvm::VPTransformState::CFG, llvm::BranchInst::Create(), llvm::IRBuilder< T, Inserter >::CreateExtractElement(), llvm::IRBuilder< T, Inserter >::CreateUnreachable(), llvm::dbgs(), llvm::SmallVectorBase::empty(), execute(), llvm::VPBlockBase::getCondBit(), llvm::VPBlockBase::getExitBasicBlock(), llvm::IRBuilderBase::getInt32(), llvm::LoopInfoBase< BlockT, LoopT >::getLoopFor(), llvm::Value::getName(), llvm::VPBlockBase::getName(), llvm::VPCallback::getOrCreateVectorValues(), llvm::VPBlockBase::getPredecessors(), llvm::VPBlockBase::getSingleHierarchicalPredecessor(), llvm::VPBlockBase::getSingleHierarchicalSuccessor(), llvm::BasicBlock::getTerminator(), llvm::VPValue::getUnderlyingValue(), llvm::VPTransformState::Instance, llvm::VPTransformState::CFGState::LastBB, llvm::VPTransformState::LI, LLVM_DEBUG, llvm::VPTransformState::CFGState::PrevBB, llvm::VPTransformState::CFGState::PrevVPBB, llvm::ReplaceInstWithInst(), llvm::IRBuilderBase::SetInsertPoint(), llvm::MCID::Terminator, and llvm::VPTransformState::CFGState::VPBB2IRBB.
Referenced by execute().
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
Definition at line 1021 of file VPlan.h.
References assert(), and llvm::iplist_impl< IntrusiveListT, TraitsT >::insert().
Referenced by llvm::VPBuilder::insert().
|
inline |
|
inline |
|
inline |
|
inline |