class VPBuilder
Declaration
class VPBuilder { /* full declaration omitted */ };
Description
VPlan-based builder utility analogous to IRBuilder.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:35
Method Overview
- public VPBuilder()
- public void clearInsertionPoint()
- public llvm::VPValue * createAnd(llvm::VPValue * LHS, llvm::VPValue * RHS)
- public llvm::VPValue * createNaryOp(unsigned int Opcode, ArrayRef<llvm::VPValue *> Operands, llvm::Instruction * Inst = nullptr)
- public llvm::VPValue * createNaryOp(unsigned int Opcode, std::initializer_list<VPValue *> Operands, llvm::Instruction * Inst = nullptr)
- public llvm::VPValue * createNot(llvm::VPValue * Operand)
- public llvm::VPValue * createOr(llvm::VPValue * LHS, llvm::VPValue * RHS)
- public llvm::VPBasicBlock * getInsertBlock() const
- public VPBasicBlock::iterator getInsertPoint() const
- public llvm::VPInstruction * insert(llvm::VPInstruction * I) const
- public void restoreIP(llvm::VPBuilder::VPInsertPoint IP)
- public void setInsertPoint(llvm::VPBasicBlock * TheBB)
- public void setInsertPoint(llvm::VPBasicBlock * TheBB, VPBasicBlock::iterator IP)
Methods
¶VPBuilder()
VPBuilder()
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:54
¶void clearInsertionPoint()
void clearInsertionPoint()
Description
Clear the insertion point: created instructions will not be inserted into a block.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:58
¶llvm::VPValue* createAnd(llvm::VPValue* LHS,
llvm::VPValue* RHS)
llvm::VPValue* createAnd(llvm::VPValue* LHS,
llvm::VPValue* RHS)
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:133
Parameters
- llvm::VPValue* LHS
- llvm::VPValue* RHS
¶llvm::VPValue* createNaryOp(
unsigned int Opcode,
ArrayRef<llvm::VPValue*> Operands,
llvm::Instruction* Inst = nullptr)
llvm::VPValue* createNaryOp(
unsigned int Opcode,
ArrayRef<llvm::VPValue*> Operands,
llvm::Instruction* Inst = nullptr)
Description
Create an N-ary operation with \p Opcode, \p Operands and set \p Inst as its underlying Instruction.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:117
Parameters
- unsigned int Opcode
- ArrayRef<llvm::VPValue*> Operands
- llvm::Instruction* Inst = nullptr
¶llvm::VPValue* createNaryOp(
unsigned int Opcode,
std::initializer_list<VPValue*> Operands,
llvm::Instruction* Inst = nullptr)
llvm::VPValue* createNaryOp(
unsigned int Opcode,
std::initializer_list<VPValue*> Operands,
llvm::Instruction* Inst = nullptr)
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:123
Parameters
- unsigned int Opcode
- std::initializer_list<VPValue*> Operands
- llvm::Instruction* Inst = nullptr
¶llvm::VPValue* createNot(llvm::VPValue* Operand)
llvm::VPValue* createNot(llvm::VPValue* Operand)
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:129
Parameters
- llvm::VPValue* Operand
¶llvm::VPValue* createOr(llvm::VPValue* LHS,
llvm::VPValue* RHS)
llvm::VPValue* createOr(llvm::VPValue* LHS,
llvm::VPValue* RHS)
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:137
Parameters
- llvm::VPValue* LHS
- llvm::VPValue* RHS
¶llvm::VPBasicBlock* getInsertBlock() const
llvm::VPBasicBlock* getInsertBlock() const
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:63
¶VPBasicBlock::iterator getInsertPoint() const
VPBasicBlock::iterator getInsertPoint() const
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:64
¶llvm::VPInstruction* insert(
llvm::VPInstruction* I) const
llvm::VPInstruction* insert(
llvm::VPInstruction* I) const
Description
Insert and return the specified instruction.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:110
Parameters
¶void restoreIP(llvm::VPBuilder::VPInsertPoint IP)
void restoreIP(llvm::VPBuilder::VPInsertPoint IP)
Description
Sets the current insert point to a previously-saved location.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:87
Parameters
¶void setInsertPoint(llvm::VPBasicBlock* TheBB)
void setInsertPoint(llvm::VPBasicBlock* TheBB)
Description
This specifies that created VPInstructions should be appended to the end of the specified block.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:96
Parameters
- llvm::VPBasicBlock* TheBB
¶void setInsertPoint(llvm::VPBasicBlock* TheBB,
VPBasicBlock::iterator IP)
void setInsertPoint(llvm::VPBasicBlock* TheBB,
VPBasicBlock::iterator IP)
Description
This specifies that created instructions should be inserted at the specified point.
Declared at: llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h:104
Parameters
- llvm::VPBasicBlock* TheBB
- VPBasicBlock::iterator IP