LLVM 20.0.0git
|
Class that maps (parts of) an existing VPlan to trees of combined VPInstructions. More...
#include "Transforms/Vectorize/VPlan.h"
Public Member Functions | |
VPlanSlp (VPInterleavedAccessInfo &IAI, VPBasicBlock &BB) | |
~VPlanSlp ()=default | |
VPInstruction * | buildGraph (ArrayRef< VPValue * > Operands) |
Tries to build an SLP tree rooted at Operands and returns a VPInstruction combining Operands , if they can be combined. | |
unsigned | getWidestBundleBits () const |
Return the width of the widest combined bundle in bits. | |
bool | isCompletelySLP () const |
Return true if all visited instruction can be combined. | |
Class that maps (parts of) an existing VPlan to trees of combined VPInstructions.
|
inline |
|
default |
VPInstruction * VPlanSlp::buildGraph | ( | ArrayRef< VPValue * > | Operands | ) |
Tries to build an SLP tree rooted at Operands
and returns a VPInstruction combining Operands
, if they can be combined.
Definition at line 359 of file VPlanSLP.cpp.
References areCommutative(), assert(), buildGraph(), llvm::dbgs(), llvm::ArrayRef< T >::empty(), getOpcode(), getOperands(), I, LLVM_DEBUG, Operands, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorBase< Size_T >::size(), llvm::VPInstruction::SLPLoad, and llvm::VPInstruction::SLPStore.
Referenced by buildGraph().
|
inline |
|
inline |