LLVM: include/llvm/Support/DOTGraphTraits.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16#ifndef LLVM_SUPPORT_DOTGRAPHTRAITS_H
17#define LLVM_SUPPORT_DOTGRAPHTRAITS_H
18
19#include
20
21namespace llvm {
22
23
24
25
26
27
29private:
30 bool IsSimple;
31
32protected:
36
37public:
39
40
41
42
43 template
44 static std::string getGraphName(const GraphType &) { return ""; }
45
46
47
48
49 template
53
54
55
56
60
61
62
63 template
64 static bool isNodeHidden(const void *, const GraphType &) {
65 return false;
66 }
67
68
69
70
72
73
74
75 template
76 std::string getNodeLabel(const void *, const GraphType &) {
77 return "";
78 }
79
80
81
82
83 template
87
88 template
92
93
94
95 template
97 const GraphType &) {
98 return "";
99 }
100
101
102
103 template<typename EdgeIter, typename GraphType>
105 const GraphType &) {
106 return "";
107 }
108
109
110
111 template
115
116
117
118
119 template
123
124
125
126
127 template
131
132
133
137
138
139
143
144
145
149
150
151
152
153
154
155
156 template<typename GraphType, typename GraphWriter>
158};
159
160
161
162
163
164
168
169}
170
171#endif
This is an optimization pass for GlobalISel generic memory operations.
DOTGraphTraits - Template class that can be specialized to customize how graphs are converted to 'dot...
Definition DOTGraphTraits.h:165
DefaultDOTGraphTraits(bool simple=false)
Definition DOTGraphTraits.h:38
static std::string getNodeIdentifierLabel(const void *, const GraphType &)
Definition DOTGraphTraits.h:84
static bool isNodeHidden(const void *, const GraphType &)
isNodeHidden - If the function returns true, the given node is not displayed in the graph.
Definition DOTGraphTraits.h:64
static std::string getGraphName(const GraphType &)
getGraphName - Return the label for the graph as a whole.
Definition DOTGraphTraits.h:44
static EdgeIter getEdgeTarget(const void *, EdgeIter I)
getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is called to determine which outgo...
Definition DOTGraphTraits.h:128
static std::string getGraphProperties(const GraphType &)
getGraphProperties - Return any custom properties that should be included in the top level graph stru...
Definition DOTGraphTraits.h:50
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.
Definition DOTGraphTraits.h:104
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 no...
Definition DOTGraphTraits.h:76
static bool edgeTargetsEdgeSource(const void *, EdgeIter)
edgeTargetsEdgeSource - This method returns true if this outgoing edge should actually target another...
Definition DOTGraphTraits.h:120
DefaultDOTGraphTraits(bool simple=false)
Definition DOTGraphTraits.h:38
static bool renderGraphFromBottomUp()
renderGraphFromBottomUp - If this function returns true, the graph is emitted bottom-up instead of to...
Definition DOTGraphTraits.h:57
static std::string getEdgeDestLabel(const void *, unsigned)
getEdgeDestLabel - If hasEdgeDestLabels, this function returns the incoming edge label with the given...
Definition DOTGraphTraits.h:146
static std::string getEdgeSourceLabel(const void *, EdgeIter)
getEdgeSourceLabel - If you want to label the edge source itself, implement this method.
Definition DOTGraphTraits.h:112
static bool hasEdgeDestLabels()
hasEdgeDestLabels - If this function returns true, the graph is able to provide labels for edge desti...
Definition DOTGraphTraits.h:134
static bool renderNodesUsingHTML()
Definition DOTGraphTraits.h:71
static void addCustomGraphFeatures(const GraphType &, GraphWriter &)
addCustomGraphFeatures - If a graph is made up of more than just straight-forward nodes and edges,...
Definition DOTGraphTraits.h:157
static std::string getNodeDescription(const void *, const GraphType &)
Definition DOTGraphTraits.h:89
bool isSimple()
Definition DOTGraphTraits.h:33
static std::string getNodeAttributes(const void *, const GraphType &)
If you want to specify custom node attributes, this is the place to do so.
Definition DOTGraphTraits.h:96
static unsigned numEdgeDestLabels(const void *)
numEdgeDestLabels - If hasEdgeDestLabels, this function returns the number of incoming edge labels th...
Definition DOTGraphTraits.h:140