Coverage Report

Created: 2019-07-24 05:18

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/Support/DOTGraphTraits.h
Line
Count
Source (jump to first uncovered line)
1
//===-- llvm/Support/DOTGraphTraits.h - Customize .dot output ---*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
// This file defines a template class that can be used to customize dot output
10
// graphs generated by the GraphWriter.h file.  The default implementation of
11
// this file will produce a simple, but not very polished graph.  By
12
// specializing this template, lots of customization opportunities are possible.
13
//
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_SUPPORT_DOTGRAPHTRAITS_H
17
#define LLVM_SUPPORT_DOTGRAPHTRAITS_H
18
19
#include <string>
20
21
namespace llvm {
22
23
/// DefaultDOTGraphTraits - This class provides the default implementations of
24
/// all of the DOTGraphTraits methods.  If a specialization does not need to
25
/// override all methods here it should inherit so that it can get the default
26
/// implementations.
27
///
28
struct DefaultDOTGraphTraits {
29
private:
30
  bool IsSimple;
31
32
protected:
33
16
  bool isSimple() {
34
16
    return IsSimple;
35
16
  }
36
37
public:
38
8
  explicit DefaultDOTGraphTraits(bool simple=false) : IsSimple (simple) {}
39
40
  /// getGraphName - Return the label for the graph as a whole.  Printed at the
41
  /// top of the graph.
42
  ///
43
  template<typename GraphType>
44
0
  static std::string getGraphName(const GraphType &) { return ""; }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphName<llvm::slpvectorizer::BoUpSLP*>(llvm::slpvectorizer::BoUpSLP* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphName<clang::CallGraph const*>(clang::CallGraph const* const&)
45
46
  /// getGraphProperties - Return any custom properties that should be included
47
  /// in the top level graph structure for dot.
48
  ///
49
  template<typename GraphType>
50
4
  static std::string getGraphProperties(const GraphType &) {
51
4
    return "";
52
4
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::BlockFrequencyInfo*>(llvm::BlockFrequencyInfo* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::Function const*>(llvm::Function const* const&)
Line
Count
Source
50
3
  static std::string getGraphProperties(const GraphType &) {
51
3
    return "";
52
3
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::CallGraph*>(llvm::CallGraph* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::DominatorTree*>(llvm::DominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::PostDominatorTree*>(llvm::PostDominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::RegionInfo*>(llvm::RegionInfo* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::MachineBlockFrequencyInfo*>(llvm::MachineBlockFrequencyInfo* const&)
Unexecuted instantiation: PGOInstrumentation.cpp:std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<(anonymous namespace)::PGOUseFunc*>((anonymous namespace)::PGOUseFunc* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<llvm::slpvectorizer::BoUpSLP*>(llvm::slpvectorizer::BoUpSLP* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<polly::ScopDetectionWrapperPass*>(polly::ScopDetectionWrapperPass* const&)
Line
Count
Source
50
1
  static std::string getGraphProperties(const GraphType &) {
51
1
    return "";
52
1
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getGraphProperties<clang::CallGraph const*>(clang::CallGraph const* const&)
53
54
  /// renderGraphFromBottomUp - If this function returns true, the graph is
55
  /// emitted bottom-up instead of top-down.  This requires graphviz 2.0 to work
56
  /// though.
57
38
  static bool renderGraphFromBottomUp() {
58
38
    return false;
59
38
  }
60
61
  /// isNodeHidden - If the function returns true, the given node is not
62
  /// displayed in the graph.
63
31
  static bool isNodeHidden(const void *) {
64
31
    return false;
65
31
  }
66
67
  /// getNodeLabel - Given a node and a pointer to the top level graph, return
68
  /// the label to print in the node.
69
  template<typename GraphType>
70
  std::string getNodeLabel(const void *, const GraphType &) {
71
    return "";
72
  }
73
74
  // getNodeIdentifierLabel - Returns a string representing the
75
  // address or other unique identifier of the node. (Only used if
76
  // non-empty.)
77
  template <typename GraphType>
78
16
  static std::string getNodeIdentifierLabel(const void *, const GraphType &) {
79
16
    return "";
80
16
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::BlockFrequencyInfo*>(void const*, llvm::BlockFrequencyInfo* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::Function const*>(void const*, llvm::Function const* const&)
Line
Count
Source
78
7
  static std::string getNodeIdentifierLabel(const void *, const GraphType &) {
79
7
    return "";
80
7
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::CallGraph*>(void const*, llvm::CallGraph* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::DominatorTree*>(void const*, llvm::DominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::PostDominatorTree*>(void const*, llvm::PostDominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::RegionInfo*>(void const*, llvm::RegionInfo* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::MachineBlockFrequencyInfo*>(void const*, llvm::MachineBlockFrequencyInfo* const&)
Unexecuted instantiation: PGOInstrumentation.cpp:std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<(anonymous namespace)::PGOUseFunc*>(void const*, (anonymous namespace)::PGOUseFunc* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<llvm::slpvectorizer::BoUpSLP*>(void const*, llvm::slpvectorizer::BoUpSLP* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<polly::ScopDetectionWrapperPass*>(void const*, polly::ScopDetectionWrapperPass* const&)
Line
Count
Source
78
9
  static std::string getNodeIdentifierLabel(const void *, const GraphType &) {
79
9
    return "";
80
9
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeIdentifierLabel<clang::CallGraph const*>(void const*, clang::CallGraph const* const&)
81
82
  template<typename GraphType>
83
16
  static std::string getNodeDescription(const void *, const GraphType &) {
84
16
    return "";
85
16
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::BlockFrequencyInfo*>(void const*, llvm::BlockFrequencyInfo* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::Function const*>(void const*, llvm::Function const* const&)
Line
Count
Source
83
7
  static std::string getNodeDescription(const void *, const GraphType &) {
84
7
    return "";
85
7
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::CallGraph*>(void const*, llvm::CallGraph* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::DominatorTree*>(void const*, llvm::DominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::PostDominatorTree*>(void const*, llvm::PostDominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::RegionInfo*>(void const*, llvm::RegionInfo* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::MachineBlockFrequencyInfo*>(void const*, llvm::MachineBlockFrequencyInfo* const&)
Unexecuted instantiation: PGOInstrumentation.cpp:std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<(anonymous namespace)::PGOUseFunc*>(void const*, (anonymous namespace)::PGOUseFunc* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<llvm::slpvectorizer::BoUpSLP*>(void const*, llvm::slpvectorizer::BoUpSLP* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<polly::ScopDetectionWrapperPass*>(void const*, polly::ScopDetectionWrapperPass* const&)
Line
Count
Source
83
9
  static std::string getNodeDescription(const void *, const GraphType &) {
84
9
    return "";
85
9
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeDescription<clang::CallGraph const*>(void const*, clang::CallGraph const* const&)
86
87
  /// If you want to specify custom node attributes, this is the place to do so
88
  ///
89
  template<typename GraphType>
90
  static std::string getNodeAttributes(const void *,
91
16
                                       const GraphType &) {
92
16
    return "";
93
16
  }
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<llvm::Function const*>(void const*, llvm::Function const* const&)
Line
Count
Source
91
7
                                       const GraphType &) {
92
7
    return "";
93
7
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<llvm::CallGraph*>(void const*, llvm::CallGraph* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<llvm::DominatorTree*>(void const*, llvm::DominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<llvm::PostDominatorTree*>(void const*, llvm::PostDominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<llvm::RegionInfo*>(void const*, llvm::RegionInfo* const&)
Unexecuted instantiation: PGOInstrumentation.cpp:std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<(anonymous namespace)::PGOUseFunc*>(void const*, (anonymous namespace)::PGOUseFunc* const&)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<polly::ScopDetectionWrapperPass*>(void const*, polly::ScopDetectionWrapperPass* const&)
Line
Count
Source
91
9
                                       const GraphType &) {
92
9
    return "";
93
9
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getNodeAttributes<clang::CallGraph const*>(void const*, clang::CallGraph const* const&)
94
95
  /// If you want to override the dot attributes printed for a particular edge,
96
  /// override this method.
97
  template<typename EdgeIter, typename GraphType>
98
  static std::string getEdgeAttributes(const void *, EdgeIter,
99
0
                                       const GraphType &) {
100
0
    return "";
101
0
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*>, llvm::CallGraph*>(void const*, llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*>, llvm::CallGraph* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>, llvm::DominatorTree*>(void const*, std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>, llvm::DominatorTree* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>, llvm::PostDominatorTree*>(void const*, std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>, llvm::PostDominatorTree* const&)
Unexecuted instantiation: PGOInstrumentation.cpp:std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const>, (anonymous namespace)::PGOUseFunc*>(void const*, llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const>, (anonymous namespace)::PGOUseFunc* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType, llvm::slpvectorizer::BoUpSLP*>(void const*, llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType, llvm::slpvectorizer::BoUpSLP* const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeAttributes<clang::CallGraphNode* const*, clang::CallGraph const*>(void const*, clang::CallGraphNode* const*, clang::CallGraph const* const&)
102
103
  /// getEdgeSourceLabel - If you want to label the edge source itself,
104
  /// implement this method.
105
  template<typename EdgeIter>
106
20
  static std::string getEdgeSourceLabel(const void *, EdgeIter) {
107
20
    return "";
108
20
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const> >(void const*, llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const>)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*> >(void const*, llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*>)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**> >(void const*, std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region> >(void const*, llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region>)
Line
Count
Source
106
20
  static std::string getEdgeSourceLabel(const void *, EdgeIter) {
107
20
    return "";
108
20
  }
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<std::__1::__wrap_iter<llvm::MachineBasicBlock* const*> >(void const*, std::__1::__wrap_iter<llvm::MachineBasicBlock* const*>)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType>(void const*, llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > llvm::DefaultDOTGraphTraits::getEdgeSourceLabel<clang::CallGraphNode* const*>(void const*, clang::CallGraphNode* const*)
109
110
  /// edgeTargetsEdgeSource - This method returns true if this outgoing edge
111
  /// should actually target another edge source, not a node.  If this method is
112
  /// implemented, getEdgeTarget should be implemented.
113
  template<typename EdgeIter>
114
15
  static bool edgeTargetsEdgeSource(const void *, EdgeIter) {
115
15
    return false;
116
15
  }
bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const> >(void const*, llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const>)
Line
Count
Source
114
5
  static bool edgeTargetsEdgeSource(const void *, EdgeIter) {
115
5
    return false;
116
5
  }
Unexecuted instantiation: bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*> >(void const*, llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*>)
Unexecuted instantiation: bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**> >(void const*, std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>)
bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region> >(void const*, llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region>)
Line
Count
Source
114
10
  static bool edgeTargetsEdgeSource(const void *, EdgeIter) {
115
10
    return false;
116
10
  }
Unexecuted instantiation: bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<std::__1::__wrap_iter<llvm::MachineBasicBlock* const*> >(void const*, std::__1::__wrap_iter<llvm::MachineBasicBlock* const*>)
Unexecuted instantiation: bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType>(void const*, llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType)
Unexecuted instantiation: bool llvm::DefaultDOTGraphTraits::edgeTargetsEdgeSource<clang::CallGraphNode* const*>(void const*, clang::CallGraphNode* const*)
117
118
  /// getEdgeTarget - If edgeTargetsEdgeSource returns true, this method is
119
  /// called to determine which outgoing edge of Node is the target of this
120
  /// edge.
121
  template<typename EdgeIter>
122
0
  static EdgeIter getEdgeTarget(const void *, EdgeIter I) {
123
0
    return I;
124
0
  }
Unexecuted instantiation: llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const> llvm::DefaultDOTGraphTraits::getEdgeTarget<llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const> >(void const*, llvm::SuccIterator<llvm::Instruction const, llvm::BasicBlock const>)
Unexecuted instantiation: llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*> llvm::DefaultDOTGraphTraits::getEdgeTarget<llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*> >(void const*, llvm::mapped_iterator<std::__1::__wrap_iter<std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>*>, llvm::CallGraphNode* (*)(std::__1::pair<llvm::WeakTrackingVH, llvm::CallGraphNode*>), llvm::CallGraphNode*>)
Unexecuted instantiation: std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**> llvm::DefaultDOTGraphTraits::getEdgeTarget<std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**> >(void const*, std::__1::__wrap_iter<llvm::DomTreeNodeBase<llvm::BasicBlock>**>)
Unexecuted instantiation: llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region> llvm::DefaultDOTGraphTraits::getEdgeTarget<llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region> >(void const*, llvm::RNSuccIterator<llvm::FlatIt<llvm::RegionNode*>, llvm::BasicBlock, llvm::Region>)
Unexecuted instantiation: std::__1::__wrap_iter<llvm::MachineBasicBlock* const*> llvm::DefaultDOTGraphTraits::getEdgeTarget<std::__1::__wrap_iter<llvm::MachineBasicBlock* const*> >(void const*, std::__1::__wrap_iter<llvm::MachineBasicBlock* const*>)
Unexecuted instantiation: llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType llvm::DefaultDOTGraphTraits::getEdgeTarget<llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType>(void const*, llvm::GraphTraits<llvm::slpvectorizer::BoUpSLP*>::ChildIteratorType)
Unexecuted instantiation: clang::CallGraphNode* const* llvm::DefaultDOTGraphTraits::getEdgeTarget<clang::CallGraphNode* const*>(void const*, clang::CallGraphNode* const*)
125
126
  /// hasEdgeDestLabels - If this function returns true, the graph is able
127
  /// to provide labels for edge destinations.
128
16
  static bool hasEdgeDestLabels() {
129
16
    return false;
130
16
  }
131
132
  /// numEdgeDestLabels - If hasEdgeDestLabels, this function returns the
133
  /// number of incoming edge labels the given node has.
134
0
  static unsigned numEdgeDestLabels(const void *) {
135
0
    return 0;
136
0
  }
137
138
  /// getEdgeDestLabel - If hasEdgeDestLabels, this function returns the
139
  /// incoming edge label with the given index in the given node.
140
0
  static std::string getEdgeDestLabel(const void *, unsigned) {
141
0
    return "";
142
0
  }
143
144
  /// addCustomGraphFeatures - If a graph is made up of more than just
145
  /// straight-forward nodes and edges, this is the place to put all of the
146
  /// custom stuff necessary.  The GraphWriter object, instantiated with your
147
  /// GraphType is passed in as an argument.  You may call arbitrary methods on
148
  /// it to add things to the output graph.
149
  ///
150
  template<typename GraphType, typename GraphWriter>
151
3
  static void addCustomGraphFeatures(const GraphType &, GraphWriter &) {}
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::BlockFrequencyInfo*, llvm::GraphWriter<llvm::BlockFrequencyInfo*> >(llvm::BlockFrequencyInfo* const&, llvm::GraphWriter<llvm::BlockFrequencyInfo*>&)
void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::Function const*, llvm::GraphWriter<llvm::Function const*> >(llvm::Function const* const&, llvm::GraphWriter<llvm::Function const*>&)
Line
Count
Source
151
3
  static void addCustomGraphFeatures(const GraphType &, GraphWriter &) {}
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::CallGraph*, llvm::GraphWriter<llvm::CallGraph*> >(llvm::CallGraph* const&, llvm::GraphWriter<llvm::CallGraph*>&)
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::DominatorTree*, llvm::GraphWriter<llvm::DominatorTree*> >(llvm::DominatorTree* const&, llvm::GraphWriter<llvm::DominatorTree*>&)
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::PostDominatorTree*, llvm::GraphWriter<llvm::PostDominatorTree*> >(llvm::PostDominatorTree* const&, llvm::GraphWriter<llvm::PostDominatorTree*>&)
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::MachineBlockFrequencyInfo*, llvm::GraphWriter<llvm::MachineBlockFrequencyInfo*> >(llvm::MachineBlockFrequencyInfo* const&, llvm::GraphWriter<llvm::MachineBlockFrequencyInfo*>&)
Unexecuted instantiation: PGOInstrumentation.cpp:void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<(anonymous namespace)::PGOUseFunc*, llvm::GraphWriter<(anonymous namespace)::PGOUseFunc*> >((anonymous namespace)::PGOUseFunc* const&, llvm::GraphWriter<(anonymous namespace)::PGOUseFunc*>&)
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<llvm::slpvectorizer::BoUpSLP*, llvm::GraphWriter<llvm::slpvectorizer::BoUpSLP*> >(llvm::slpvectorizer::BoUpSLP* const&, llvm::GraphWriter<llvm::slpvectorizer::BoUpSLP*>&)
Unexecuted instantiation: void llvm::DefaultDOTGraphTraits::addCustomGraphFeatures<clang::CallGraph const*, llvm::GraphWriter<clang::CallGraph const*> >(clang::CallGraph const* const&, llvm::GraphWriter<clang::CallGraph const*>&)
152
};
153
154
155
/// DOTGraphTraits - Template class that can be specialized to customize how
156
/// graphs are converted to 'dot' graphs.  When specializing, you may inherit
157
/// from DefaultDOTGraphTraits if you don't need to override everything.
158
///
159
template <typename Ty>
160
struct DOTGraphTraits : public DefaultDOTGraphTraits {
161
  DOTGraphTraits (bool simple=false) : DefaultDOTGraphTraits (simple) {}
162
};
163
164
} // End llvm namespace
165
166
#endif