LLVM
8.0.1
|
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 () | |
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. More... | |
unsigned | getWidestBundleBits () const |
Return the width of the widest combined bundle in bits. More... | |
bool | isCompletelySLP () const |
Return true if all visited instruction can be combined. More... | |
Class that maps (parts of) an existing VPlan to trees of combined VPInstructions.
|
inline |
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 358 of file VPlanSLP.cpp.
References areCommutative(), assert(), llvm::SmallVectorImpl< T >::clear(), llvm::dbgs(), llvm::SmallVectorImpl< T >::emplace_back(), llvm::ArrayRef< T >::empty(), getOpcode(), getOperands(), llvm::Optional< T >::getValue(), I, LLVM_DEBUG, llvm::SPII::Load, print(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorBase::size(), llvm::VPInstruction::SLPLoad, llvm::VPInstruction::SLPStore, and llvm::SPII::Store.
|
inline |
|
inline |