LLVM
8.0.1
|
A recipe for handling phi nodes of integer and floating-point inductions, producing their vector and scalar values. More...
#include "Transforms/Vectorize/VPlan.h"
Public Member Functions | |
VPWidenIntOrFpInductionRecipe (PHINode *IV, TruncInst *Trunc=nullptr) | |
~VPWidenIntOrFpInductionRecipe () override=default | |
void | execute (VPTransformState &State) override |
Generate the vectorized and scalarized versions of the phi node as needed by their users. More... | |
void | print (raw_ostream &O, const Twine &Indent) const override |
Print the recipe. More... | |
Public Member Functions inherited from llvm::VPRecipeBase | |
VPRecipeBase (const unsigned char SC) | |
virtual | ~VPRecipeBase ()=default |
unsigned | getVPRecipeID () const |
VPBasicBlock * | getParent () |
const VPBasicBlock * | getParent () const |
void | insertBefore (VPRecipeBase *InsertPos) |
Insert an unlinked recipe into a basic block immediately before the specified recipe. More... | |
iplist< VPRecipeBase >::iterator | eraseFromParent () |
This method unlinks 'this' from the containing basic block and deletes it. More... | |
Public Member Functions inherited from llvm::ilist_node_with_parent< VPRecipeBase, VPBasicBlock > | |
VPRecipeBase * | getPrevNode () |
const VPRecipeBase * | getPrevNode () const |
Get the previous node, or nullptr for the list head. More... | |
VPRecipeBase * | getNextNode () |
Get the next node, or nullptr for the list tail. More... | |
const VPRecipeBase * | getNextNode () const |
Get the next node, or nullptr for the list tail. More... | |
Public Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< VPRecipeBase, Options... >::type > | |
self_iterator | getIterator () |
const_self_iterator | getIterator () const |
reverse_self_iterator | getReverseIterator () |
const_reverse_self_iterator | getReverseIterator () const |
bool | isSentinel () const |
Check whether this is the sentinel node. More... | |
Static Public Member Functions | |
static bool | classof (const VPRecipeBase *V) |
Method to support type inquiry through isa, cast, and dyn_cast. More... | |
A recipe for handling phi nodes of integer and floating-point inductions, producing their vector and scalar values.
|
overridedefault |
|
inlinestatic |
Method to support type inquiry through isa, cast, and dyn_cast.
Definition at line 735 of file VPlan.h.
References llvm::VPRecipeBase::getVPRecipeID(), Indent, llvm::RISCVFenceField::O, and print().
|
overridevirtual |
Generate the vectorized and scalarized versions of the phi node as needed by their users.
Implements llvm::VPRecipeBase.
Definition at line 6935 of file LoopVectorize.cpp.
References assert(), llvm::VPTransformState::ILV, llvm::VPTransformState::Instance, and llvm::InnerLoopVectorizer::widenIntOrFpInduction().
|
overridevirtual |