LLVM 17.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... | |
Public Member Functions | |
VPBuilder ()=default | |
void | clearInsertionPoint () |
Clear the insertion point: created instructions will not be inserted into a block. | |
VPBasicBlock * | getInsertBlock () const |
VPBasicBlock::iterator | getInsertPoint () const |
void | restoreIP (VPInsertPoint IP) |
Sets the current insert point to a previously-saved location. | |
void | setInsertPoint (VPBasicBlock *TheBB) |
This specifies that created VPInstructions should be appended to the end of the specified block. | |
void | setInsertPoint (VPBasicBlock *TheBB, VPBasicBlock::iterator IP) |
This specifies that created instructions should be inserted at the specified point. | |
VPInstruction * | insert (VPInstruction *I) const |
Insert and return the specified instruction. | |
VPValue * | createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, Instruction *Inst=nullptr, const Twine &Name="") |
Create an N-ary operation with Opcode , Operands and set Inst as its underlying Instruction. | |
VPValue * | createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, DebugLoc DL, const Twine &Name="") |
VPValue * | createNot (VPValue *Operand, DebugLoc DL, const Twine &Name="") |
VPValue * | createAnd (VPValue *LHS, VPValue *RHS, DebugLoc DL, const Twine &Name="") |
VPValue * | createOr (VPValue *LHS, VPValue *RHS, DebugLoc DL, const Twine &Name="") |
VPValue * | createSelect (VPValue *Cond, VPValue *TrueVal, VPValue *FalseVal, DebugLoc DL, const Twine &Name="") |
VPlan-based builder utility analogous to IRBuilder.
Definition at line 43 of file LoopVectorizationPlanner.h.
|
default |
|
inline |
Clear the insertion point: created instructions will not be inserted into a block.
Definition at line 67 of file LoopVectorizationPlanner.h.
Referenced by restoreIP().
|
inline |
Definition at line 135 of file LoopVectorizationPlanner.h.
|
inline |
Create an N-ary operation with Opcode
, Operands
and set Inst
as its underlying Instruction.
Definition at line 126 of file LoopVectorizationPlanner.h.
References DL, Name, Operands, and llvm::VPValue::setUnderlyingValue().
Referenced by createSelect().
|
inline |
Definition at line 140 of file LoopVectorizationPlanner.h.
References DL, Name, and llvm::VPInstruction::Not.
|
inline |
Definition at line 154 of file LoopVectorizationPlanner.h.
References Cond, createNaryOp(), DL, and Name.
|
inline |
Definition at line 72 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 73 of file LoopVectorizationPlanner.h.
|
inline |
Insert and return the specified instruction.
Definition at line 119 of file LoopVectorizationPlanner.h.
References I, and llvm::VPBasicBlock::insert().
|
inline |
Sets the current insert point to a previously-saved location.
Definition at line 96 of file LoopVectorizationPlanner.h.
References clearInsertionPoint(), llvm::VPBuilder::VPInsertPoint::getBlock(), llvm::VPBuilder::VPInsertPoint::getPoint(), llvm::VPBuilder::VPInsertPoint::isSet(), and setInsertPoint().
|
inline |
This specifies that created VPInstructions should be appended to the end of the specified block.
Definition at line 105 of file LoopVectorizationPlanner.h.
References assert(), and llvm::VPBasicBlock::end().
Referenced by restoreIP().
|
inline |
This specifies that created instructions should be inserted at the specified point.
Definition at line 113 of file LoopVectorizationPlanner.h.