class VPWidenCanonicalIVRecipe
Declaration
class VPWidenCanonicalIVRecipe : public VPRecipeBase, public VPValue { /* full declaration omitted */ };
Description
A Recipe for widening the canonical induction variable of the vector loop.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1917
Inherits from: VPRecipeBase, VPValue
Member Variables
Inherited from VPValue:
Method Overview
- public VPWidenCanonicalIVRecipe(llvm::VPCanonicalIVPHIRecipe * CanonicalIV)
- public static inline bool classof(const llvm::VPDef * D)
- public static inline bool classof(const llvm::VPUser * U)
- public static inline bool classof(const llvm::VPRecipeBase * R)
- public void execute(llvm::VPTransformState & State)
- public const llvm::Type * getScalarType() const
- public void print(llvm::raw_ostream & O, const llvm::Twine & Indent, llvm::VPSlotTracker & SlotTracker) const
- public ~VPWidenCanonicalIVRecipe()
Inherited from VPValue:
- public addUser
- public dump
- public getDef
- public getDef
- public getLiveInIRValue
- public getLiveInIRValue
- public getNumUsers
- public getUnderlyingValue
- public getUnderlyingValue
- public getVPValueID
- public hasMoreThanOneUniqueUser
- public print
- public printAsOperand
- public removeUser
- public replaceAllUsesWith
- protected setUnderlyingValue
- public user_begin
- public user_begin
- public user_end
- public user_end
- public users
- public users
Inherited from VPRecipeBase:
- public classof
- public classof
- public eraseFromParent
- public execute
- public getParent
- public getParent
- public getUnderlyingInstr
- public getUnderlyingInstr
- public insertAfter
- public insertBefore
- public insertBefore
- public isPhi
- public mayHaveSideEffects
- public mayReadFromMemory
- public mayReadOrWriteMemory
- public mayWriteToMemory
- public moveAfter
- public moveBefore
- public removeFromParent
Inherited from VPUser:
- public addOperand
- public classof
- public getNumOperands
- public getOperand
- public getVPUserID
- public onlyFirstLaneUsed
- public op_begin
- public op_begin
- public op_end
- public op_end
- public operands
- public operands
- protected printOperands
- public removeLastOperand
- public setOperand
- public usesScalars
Inherited from VPDef:
- public definedValues
- public definedValues
- public dump
- public getNumDefinedValues
- public getVPDefID
- public getVPSingleValue
- public getVPSingleValue
- public getVPValue
- public getVPValue
- public print
Methods
¶VPWidenCanonicalIVRecipe(
llvm::VPCanonicalIVPHIRecipe* CanonicalIV)
VPWidenCanonicalIVRecipe(
llvm::VPCanonicalIVPHIRecipe* CanonicalIV)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1919
Parameters
- llvm::VPCanonicalIVPHIRecipe* CanonicalIV
¶static inline bool classof(const llvm::VPDef* D)
static inline bool classof(const llvm::VPDef* D)
Description
Method to support type inquiry through isa, cast, and dyn_cast.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1926
Parameters
- const llvm::VPDef* D
¶static inline bool classof(const llvm::VPUser* U)
static inline bool classof(const llvm::VPUser* U)
Description
Extra classof implementations to allow directly casting from VPUser -> VPWidenCanonicalIVRecipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1932
Parameters
- const llvm::VPUser* U
¶static inline bool classof(
const llvm::VPRecipeBase* R)
static inline bool classof(
const llvm::VPRecipeBase* R)
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1936
Parameters
- const llvm::VPRecipeBase* R
¶void execute(llvm::VPTransformState& State)
void execute(llvm::VPTransformState& State)
Description
Generate a canonical vector induction variable of the vector loop, with start = { <Part *VF, Part*VF+1, ..., Part*VF+VF-1> for 0 < = Part < UF}, and step = <VF *UF, VF*UF, ..., VF*UF>.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1943
Parameters
- llvm::VPTransformState& State
¶const llvm::Type* getScalarType() const
const llvm::Type* getScalarType() const
Description
Returns the scalar type of the induction.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1952
¶void print(llvm::raw_ostream& O,
const llvm::Twine& Indent,
llvm::VPSlotTracker& SlotTracker) const
void print(llvm::raw_ostream& O,
const llvm::Twine& Indent,
llvm::VPSlotTracker& SlotTracker) const
Description
Print the recipe.
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1947
Parameters
- llvm::raw_ostream& O
- const llvm::Twine& Indent
- llvm::VPSlotTracker& SlotTracker
¶~VPWidenCanonicalIVRecipe()
~VPWidenCanonicalIVRecipe()
Declared at: llvm/lib/Transforms/Vectorize/VPlan.h:1923