LLVM  8.0.1
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::DOTGraphTraits< BoUpSLP * > Struct Template Reference
Inheritance diagram for llvm::DOTGraphTraits< BoUpSLP * >:
Inheritance graph
[legend]
Collaboration diagram for llvm::DOTGraphTraits< BoUpSLP * >:
Collaboration graph
[legend]

Public Types

using TreeEntry = BoUpSLP::TreeEntry
 

Public Member Functions

 DOTGraphTraits (bool isSimple=false)
 
std::string getNodeLabel (const TreeEntry *Entry, const BoUpSLP *R)
 
- Public Member Functions inherited from llvm::DefaultDOTGraphTraits
 DefaultDOTGraphTraits (bool simple=false)
 
template<typename GraphType >
std::string getNodeLabel (const void *, const GraphType &)
 getNodeLabel - Given a node and a pointer to the top level graph, return the label to print in the node. More...
 

Static Public Member Functions

static std::string getNodeAttributes (const TreeEntry *Entry, const BoUpSLP *)
 
- Static Public Member Functions inherited from llvm::DefaultDOTGraphTraits
template<typename GraphType >
static std::string getGraphName (const GraphType &)
 getGraphName - Return the label for the graph as a whole. More...
 
template<typename GraphType >
static std::string getGraphProperties (const GraphType &)
 getGraphProperties - Return any custom properties that should be included in the top level graph structure for dot. More...
 
static bool renderGraphFromBottomUp ()
 renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of top-down. More...
 
static bool isNodeHidden (const void *)
 isNodeHidden - If the function returns true, the given node is not displayed in the graph. More...
 
template<typename GraphType >
static std::string getNodeIdentifierLabel (const void *, const GraphType &)
 
template<typename GraphType >
static std::string getNodeDescription (const void *, const GraphType &)
 
template<typename GraphType >
static std::string getNodeAttributes (const void *, const GraphType &)
 If you want to specify custom node attributes, this is the place to do so. More...
 
template<typename EdgeIter , typename GraphType >
static std::string getEdgeAttributes (const void *, EdgeIter, const GraphType &)
 If you want to override the dot attributes printed for a particular edge, override this method. More...
 
template<typename EdgeIter >
static std::string getEdgeSourceLabel (const void *, EdgeIter)
 getEdgeSourceLabel - If you want to label the edge source itself, implement this method. More...
 
template<typename EdgeIter >
static bool edgeTargetsEdgeSource (const void *, EdgeIter)
 edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another edge source, not a node. More...
 
template<typename EdgeIter >
static EdgeIter getEdgeTarget (const void *, EdgeIter I)
 getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgoing edge of Node is the target of this edge. More...
 
static bool hasEdgeDestLabels ()
 hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge destinations. More...
 
static unsigned numEdgeDestLabels (const void *)
 numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels the given node has. More...
 
static std::string getEdgeDestLabel (const void *, unsigned)
 getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given index in the given node. More...
 
template<typename GraphType , typename GraphWriter >
static void addCustomGraphFeatures (const GraphType &, GraphWriter &)
 addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges, this is the place to put all of the custom stuff necessary. More...
 

Additional Inherited Members

- Protected Member Functions inherited from llvm::DefaultDOTGraphTraits
bool isSimple ()
 

Detailed Description

template<>
struct llvm::DOTGraphTraits< BoUpSLP * >

Definition at line 1288 of file SLPVectorizer.cpp.

Member Typedef Documentation

◆ TreeEntry

using llvm::DOTGraphTraits< BoUpSLP * >::TreeEntry = BoUpSLP::TreeEntry

Definition at line 1289 of file SLPVectorizer.cpp.

Constructor & Destructor Documentation

◆ DOTGraphTraits()

llvm::DOTGraphTraits< BoUpSLP * >::DOTGraphTraits ( bool  isSimple = false)
inline

Definition at line 1291 of file SLPVectorizer.cpp.

Member Function Documentation

◆ getNodeAttributes()

static std::string llvm::DOTGraphTraits< BoUpSLP * >::getNodeAttributes ( const TreeEntry Entry,
const BoUpSLP *   
)
inlinestatic

Definition at line 1311 of file SLPVectorizer.cpp.

References llvm::MCID::Add, allConstant(), allSameBlock(), allSameType(), assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::MCID::Call, llvm::SmallVectorImpl< T >::clear(), llvm::dbgs(), llvm::Depth, llvm::dyn_cast(), E, llvm::SmallVectorImpl< T >::emplace_back(), llvm::lltok::equal, llvm::find(), llvm::CallBase::getArgOperand(), llvm::CallBase::getBundleOperandsEndIndex(), llvm::CallBase::getBundleOperandsStartIndex(), llvm::CallBase::getCalledFunction(), llvm::PHINode::getIncomingBlock(), llvm::CallBase::getNumArgOperands(), llvm::PHINode::getNumIncomingValues(), llvm::User::getOperand(), llvm::BasicBlock::getParent(), llvm::PPC::getPredicate(), llvm::CmpInst::getPredicate(), getSameOpcode(), llvm::Value::getType(), llvm::getVectorIntrinsicIDForCall(), llvm::CallBase::hasIdenticalOperandBundleSchema(), llvm::CallBase::hasOperandBundles(), llvm::hasVectorInstrinsicScalarOpd(), I, llvm::tgtok::Int, InTreeUserNeedToExtract(), llvm::is_contained(), llvm::isConsecutiveAccess(), llvm::isPowerOf2_32(), isSplat(), llvm::Instruction::isTerminator(), llvm::isTriviallyVectorizable(), isValidElementType(), llvm::AArch64CC::LE, llvm::Left, LLVM_DEBUG, llvm::SPII::Load, llvm::User::op_begin(), RecursionMaxDepth, llvm::Right, llvm::NVPTX::PTXLdStInstCode::Scalar, llvm::MCID::Select, SI, Size, llvm::SmallVectorBase::size(), llvm::ArrayRef< T >::size(), llvm::sortPtrAccesses(), llvm::SPII::Store, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::try_emplace(), and llvm::Value::users().

◆ getNodeLabel()

std::string llvm::DOTGraphTraits< BoUpSLP * >::getNodeLabel ( const TreeEntry Entry,
const BoUpSLP *  R 
)
inline

Definition at line 1293 of file SLPVectorizer.cpp.

References llvm::any_of(), and isSplat().


The documentation for this struct was generated from the following file: