|
VPBuilder ()=default |
|
VPBuilder (VPBasicBlock *InsertBB) |
|
VPBuilder (VPRecipeBase *InsertPt) |
|
VPBuilder (VPBasicBlock *TheBB, VPBasicBlock::iterator IP) |
| 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. |
| void |
setInsertPoint (VPRecipeBase *IP) |
|
This specifies that created instructions should be inserted at the specified point. |
| void |
insert (VPRecipeBase *R) |
|
Insert R at the current insertion point. |
| VPInstruction * |
createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, Instruction *Inst=nullptr, const VPIRFlags &Flags={}, const VPIRMetadata &MD={}, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
|
Create an N-ary operation with Opcode, Operands and set Inst as its underlying Instruction. |
| VPInstruction * |
createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, DebugLoc DL, const Twine &Name="") |
| VPInstruction * |
createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, const VPIRFlags &Flags, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createNaryOp (unsigned Opcode, ArrayRef< VPValue * > Operands, Type *ResultTy, const VPIRFlags &Flags={}, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createOverflowingOp (unsigned Opcode, ArrayRef< VPValue * > Operands, VPRecipeWithIRFlags::WrapFlagsTy WrapFlags={false, false}, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createNot (VPValue *Operand, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createAnd (VPValue *LHS, VPValue *RHS, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createOr (VPValue *LHS, VPValue *RHS, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createLogicalAnd (VPValue *LHS, VPValue *RHS, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createSelect (VPValue *Cond, VPValue *TrueVal, VPValue *FalseVal, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="", std::optional< FastMathFlags > FMFs=std::nullopt) |
| VPInstruction * |
createICmp (CmpInst::Predicate Pred, VPValue *A, VPValue *B, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
|
Create a new ICmp VPInstruction with predicate Pred and operands A and B. |
| VPInstruction * |
createFCmp (CmpInst::Predicate Pred, VPValue *A, VPValue *B, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
|
Create a new FCmp VPInstruction with predicate Pred and operands A and B. |
| VPInstruction * |
createPtrAdd (VPValue *Ptr, VPValue *Offset, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createNoWrapPtrAdd (VPValue *Ptr, VPValue *Offset, GEPNoWrapFlags GEPFlags, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPInstruction * |
createWidePtrAdd (VPValue *Ptr, VPValue *Offset, DebugLoc DL=DebugLoc::getUnknown(), const Twine &Name="") |
| VPPhi * |
createScalarPhi (ArrayRef< VPValue * > IncomingValues, DebugLoc DL, const Twine &Name="") |
| VPValue * |
createElementCount (Type *Ty, ElementCount EC) |
| VPDerivedIVRecipe * |
createDerivedIV (InductionDescriptor::InductionKind Kind, FPMathOperator *FPBinOp, VPValue *Start, VPValue *Current, VPValue *Step, const Twine &Name="") |
|
Convert the input value Current to the corresponding value of an induction with Start and Step values, using Start + Current * Step. |
| VPInstruction * |
createScalarCast (Instruction::CastOps Opcode, VPValue *Op, Type *ResultTy, DebugLoc DL, const VPIRFlags &Flags={}, const VPIRMetadata &Metadata={}) |
| VPValue * |
createScalarZExtOrTrunc (VPValue *Op, Type *ResultTy, Type *SrcTy, DebugLoc DL) |
| VPWidenCastRecipe * |
createWidenCast (Instruction::CastOps Opcode, VPValue *Op, Type *ResultTy) |
| VPScalarIVStepsRecipe * |
createScalarIVSteps (Instruction::BinaryOps InductionOpcode, FPMathOperator *FPBinOp, VPValue *IV, VPValue *Step, VPValue *VF, DebugLoc DL) |
| VPExpandSCEVRecipe * |
createExpandSCEV (const SCEV *Expr) |