LLVM
8.0.1
|
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 () | |
void | clearInsertionPoint () |
Clear the insertion point: created instructions will not be inserted into a block. More... | |
VPBasicBlock * | getInsertBlock () const |
VPBasicBlock::iterator | getInsertPoint () const |
void | restoreIP (VPInsertPoint IP) |
Sets the current insert point to a previously-saved location. More... | |
void | setInsertPoint (VPBasicBlock *TheBB) |
This specifies that created VPInstructions should be appended to the end of the specified block. More... | |
void | setInsertPoint (VPBasicBlock *TheBB, VPBasicBlock::iterator IP) |
This specifies that created instructions should be inserted at the specified point. More... | |
VPInstruction * | insert (VPInstruction *I) const |
Insert and return the specified instruction. More... | |
VPValue * | createNaryOp (unsigned Opcode, ArrayRef< VPValue *> Operands, Instruction *Inst=nullptr) |
Create an N-ary operation with Opcode , Operands and set Inst as its underlying Instruction. More... | |
VPValue * | createNaryOp (unsigned Opcode, std::initializer_list< VPValue *> Operands, Instruction *Inst=nullptr) |
VPValue * | createNot (VPValue *Operand) |
VPValue * | createAnd (VPValue *LHS, VPValue *RHS) |
VPValue * | createOr (VPValue *LHS, VPValue *RHS) |
VPlan-based builder utility analogous to IRBuilder.
Definition at line 36 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 55 of file LoopVectorizationPlanner.h.
|
inline |
Clear the insertion point: created instructions will not be inserted into a block.
Definition at line 59 of file LoopVectorizationPlanner.h.
Referenced by restoreIP().
Definition at line 134 of file LoopVectorizationPlanner.h.
|
inline |
Create an N-ary operation with Opcode
, Operands
and set Inst
as its underlying Instruction.
Definition at line 118 of file LoopVectorizationPlanner.h.
References llvm::VPValue::setUnderlyingValue().
Referenced by createNaryOp().
|
inline |
Definition at line 124 of file LoopVectorizationPlanner.h.
References createNaryOp().
Definition at line 130 of file LoopVectorizationPlanner.h.
References llvm::VPInstruction::Not.
Definition at line 138 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 64 of file LoopVectorizationPlanner.h.
|
inline |
Definition at line 65 of file LoopVectorizationPlanner.h.
|
inline |
Insert and return the specified instruction.
Definition at line 111 of file LoopVectorizationPlanner.h.
References I, and llvm::VPBasicBlock::insert().
|
inline |
Sets the current insert point to a previously-saved location.
Definition at line 88 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 97 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 105 of file LoopVectorizationPlanner.h.