LLVM  4.0.0
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT > Struct Template Reference

#include <BlockFrequencyInfoImpl.h>

Inheritance diagram for llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >:
[legend]
Collaboration diagram for llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >:
[legend]

Public Types

typedef GraphTraits
< BlockFrequencyInfoT * > 
GTraits
 
typedef GTraits::NodeRef NodeRef
 
typedef GTraits::ChildIteratorType EdgeIter
 
typedef GTraits::nodes_iterator NodeIter
 

Public Member Functions

 BFIDOTGraphTraitsBase (bool isSimple=false)
 
std::string getNodeAttributes (NodeRef Node, const BlockFrequencyInfoT *Graph, unsigned HotPercentThreshold=0)
 
std::string getNodeLabel (NodeRef Node, const BlockFrequencyInfoT *Graph, GVDAGType GType)
 
std::string getEdgeAttributes (NodeRef Node, EdgeIter EI, const BlockFrequencyInfoT *BFI, const BranchProbabilityInfoT *BPI, unsigned HotPercentThreshold=0)
 
- 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 getGraphName (const BlockFrequencyInfoT *G)
 
- 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...
 

Public Attributes

uint64_t MaxFrequency = 0
 

Additional Inherited Members

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

Detailed Description

template<class BlockFrequencyInfoT, class BranchProbabilityInfoT>
struct llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >

Definition at line 1249 of file BlockFrequencyInfoImpl.h.

Member Typedef Documentation

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
typedef GTraits::ChildIteratorType llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::EdgeIter

Definition at line 1255 of file BlockFrequencyInfoImpl.h.

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
typedef GraphTraits<BlockFrequencyInfoT *> llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::GTraits

Definition at line 1253 of file BlockFrequencyInfoImpl.h.

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
typedef GTraits::nodes_iterator llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::NodeIter

Definition at line 1256 of file BlockFrequencyInfoImpl.h.

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
typedef GTraits::NodeRef llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::NodeRef

Definition at line 1254 of file BlockFrequencyInfoImpl.h.

Constructor & Destructor Documentation

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::BFIDOTGraphTraitsBase ( bool  isSimple = false)
inlineexplicit

Definition at line 1250 of file BlockFrequencyInfoImpl.h.

Member Function Documentation

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
std::string llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::getEdgeAttributes ( NodeRef  Node,
EdgeIter  EI,
const BlockFrequencyInfoT *  BFI,
const BranchProbabilityInfoT *  BPI,
unsigned  HotPercentThreshold = 0 
)
inline
template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
static std::string llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::getGraphName ( const BlockFrequencyInfoT *  G)
inlinestatic

Definition at line 1259 of file BlockFrequencyInfoImpl.h.

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
std::string llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::getNodeAttributes ( NodeRef  Node,
const BlockFrequencyInfoT *  Graph,
unsigned  HotPercentThreshold = 0 
)
inline
template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
std::string llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::getNodeLabel ( NodeRef  Node,
const BlockFrequencyInfoT *  Graph,
GVDAGType  GType 
)
inline

Member Data Documentation

template<class BlockFrequencyInfoT , class BranchProbabilityInfoT >
uint64_t llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >::MaxFrequency = 0

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