LLVM 20.0.0git
|
VPlan-based builder utility analogous to IRBuilder. More...
#include "Transforms/Vectorize/LoopVectorizationPlanner.h"
Classes | |
class | InsertPointGuard |
RAII object that stores the current insertion point and restores it when the object is destroyed. More... | |
class | VPInsertPoint |
InsertPoint - A saved insertion point. More... | |
Static Public Member Functions | |
static VPBuilder | getToInsertAfter (VPRecipeBase *R) |
Create a VPBuilder to insert after R . | |
VPlan-based builder utility analogous to IRBuilder.
Definition at line 45 of file LoopVectorizationPlanner.h.
|
default |
|
inline |
Definition at line 70 of file LoopVectorizationPlanner.h.
References setInsertPoint().
|
inline |
Definition at line 71 of file LoopVectorizationPlanner.h.
References setInsertPoint().
|
inline |
Definition at line 72 of file LoopVectorizationPlanner.h.
References setInsertPoint().
|
inline |
Clear the insertion point: created instructions will not be inserted into a block.
Definition at line 78 of file LoopVectorizationPlanner.h.
Referenced by restoreIP().
|
inline |
Definition at line 182 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 234 of file LoopVectorizationPlanner.h.
References Name.
Referenced by createScalarIVSteps().
|
inline |
Create a new ICmp VPInstruction with predicate Pred
and operands A
and B
.
TODO: add createFCmp when needed.
Definition at line 215 of file LoopVectorizationPlanner.h.
Referenced by llvm::VPRecipeBuilder::createHeaderMask(), llvm::VPRecipeBuilder::createSwitchEdgeMasks(), llvm::VPlanTransforms::handleUncountableEarlyExit(), and llvm::VPlanTransforms::tryAddExplicitVectorLength().
|
inline |
Definition at line 228 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 195 of file LoopVectorizationPlanner.h.
Referenced by llvm::VPRecipeBuilder::createEdgeMask(), and llvm::VPRecipeBuilder::createSwitchEdgeMasks().
|
inline |
Definition at line 155 of file LoopVectorizationPlanner.h.
|
inline |
Create an N-ary operation with Opcode
, Operands
and set Inst
as its underlying Instruction.
Definition at line 145 of file LoopVectorizationPlanner.h.
References DL, Name, Operands, and llvm::VPValue::setUnderlyingValue().
Referenced by addCanonicalIVRecipes(), addExitUsersForFirstOrderRecurrences(), addScalarResumePhis(), addVPLaneMaskPhiAndUpdateExitBranch(), llvm::VPlanTransforms::adjustFixedOrderRecurrences(), llvm::InnerLoopVectorizer::createInductionResumeVPValue(), llvm::InnerLoopVectorizer::createInductionResumeVPValues(), llvm::VPlanTransforms::handleUncountableEarlyExit(), and llvm::VPlanTransforms::tryAddExplicitVectorLength().
|
inline |
Definition at line 159 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 177 of file LoopVectorizationPlanner.h.
Referenced by addVPLaneMaskPhiAndUpdateExitBranch(), llvm::VPRecipeBuilder::createEdgeMask(), llvm::VPRecipeBuilder::createSwitchEdgeMasks(), and llvm::VPlanTransforms::handleUncountableEarlyExit().
|
inline |
Definition at line 187 of file LoopVectorizationPlanner.h.
Referenced by llvm::VPRecipeBuilder::createBlockInMask(), and llvm::VPRecipeBuilder::createSwitchEdgeMasks().
|
inline |
Definition at line 169 of file LoopVectorizationPlanner.h.
Referenced by addCanonicalIVRecipes(), and addVPLaneMaskPhiAndUpdateExitBranch().
|
inline |
Definition at line 223 of file LoopVectorizationPlanner.h.
Referenced by legalizeAndOptimizeInductions().
|
inline |
Definition at line 242 of file LoopVectorizationPlanner.h.
Referenced by createScalarIVSteps().
|
inline |
Definition at line 253 of file LoopVectorizationPlanner.h.
References llvm::FPMathOperator::getFastMathFlags(), and IV.
Referenced by createScalarIVSteps().
|
inline |
Definition at line 201 of file LoopVectorizationPlanner.h.
Referenced by llvm::VPlanTransforms::tryAddExplicitVectorLength().
|
inline |
Definition at line 247 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 83 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 84 of file LoopVectorizationPlanner.h.
|
inlinestatic |
Create a VPBuilder to insert after R
.
Definition at line 87 of file LoopVectorizationPlanner.h.
References B.
Referenced by llvm::VPlanTransforms::addActiveLaneMask().
|
inline |
Sets the current insert point to a previously-saved location.
Definition at line 114 of file LoopVectorizationPlanner.h.
References clearInsertionPoint(), llvm::VPBuilder::VPInsertPoint::getBlock(), llvm::VPBuilder::VPInsertPoint::getPoint(), llvm::VPBuilder::VPInsertPoint::isSet(), and setInsertPoint().
Referenced by llvm::VPBuilder::InsertPointGuard::~InsertPointGuard().
|
inline |
This specifies that created VPInstructions should be appended to the end of the specified block.
Definition at line 123 of file LoopVectorizationPlanner.h.
References assert(), and llvm::VPBasicBlock::end().
Referenced by addVPLaneMaskPhiAndUpdateExitBranch(), llvm::VPlanTransforms::adjustFixedOrderRecurrences(), llvm::VPRecipeBuilder::createHeaderMask(), createScalarIVSteps(), restoreIP(), and VPBuilder().
|
inline |
This specifies that created instructions should be inserted at the specified point.
Definition at line 131 of file LoopVectorizationPlanner.h.
|
inline |
This specifies that created instructions should be inserted at the specified point.
Definition at line 138 of file LoopVectorizationPlanner.h.
References llvm::ilist_node_impl< OptionsT >::getIterator(), and llvm::VPRecipeBase::getParent().