Coverage Report

Created: 2018-12-14 11:24

/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/include/llvm/ADT/PostOrderIterator.h
Line
Count
Source
1
//===- llvm/ADT/PostOrderIterator.h - PostOrder iterator --------*- C++ -*-===//
2
//
3
//                     The LLVM Compiler Infrastructure
4
//
5
// This file is distributed under the University of Illinois Open Source
6
// License. See LICENSE.TXT for details.
7
//
8
//===----------------------------------------------------------------------===//
9
//
10
// This file builds on the ADT/GraphTraits.h file to build a generic graph
11
// post order iterator.  This should work over any graph type that has a
12
// GraphTraits specialization.
13
//
14
//===----------------------------------------------------------------------===//
15
16
#ifndef LLVM_ADT_POSTORDERITERATOR_H
17
#define LLVM_ADT_POSTORDERITERATOR_H
18
19
#include "llvm/ADT/GraphTraits.h"
20
#include "llvm/ADT/Optional.h"
21
#include "llvm/ADT/SmallPtrSet.h"
22
#include "llvm/ADT/iterator_range.h"
23
#include <iterator>
24
#include <set>
25
#include <utility>
26
#include <vector>
27
28
namespace llvm {
29
30
// The po_iterator_storage template provides access to the set of already
31
// visited nodes during the po_iterator's depth-first traversal.
32
//
33
// The default implementation simply contains a set of visited nodes, while
34
// the External=true version uses a reference to an external set.
35
//
36
// It is possible to prune the depth-first traversal in several ways:
37
//
38
// - When providing an external set that already contains some graph nodes,
39
//   those nodes won't be visited again. This is useful for restarting a
40
//   post-order traversal on a graph with nodes that aren't dominated by a
41
//   single node.
42
//
43
// - By providing a custom SetType class, unwanted graph nodes can be excluded
44
//   by having the insert() function return false. This could for example
45
//   confine a CFG traversal to blocks in a specific loop.
46
//
47
// - Finally, by specializing the po_iterator_storage template itself, graph
48
//   edges can be pruned by returning false in the insertEdge() function. This
49
//   could be used to remove loop back-edges from the CFG seen by po_iterator.
50
//
51
// A specialized po_iterator_storage class can observe both the pre-order and
52
// the post-order. The insertEdge() function is called in a pre-order, while
53
// the finishPostorder() function is called just before the po_iterator moves
54
// on to the next node.
55
56
/// Default po_iterator_storage implementation with an internal set object.
57
template<class SetType, bool External>
58
class po_iterator_storage {
59
  SetType Visited;
60
61
public:
62
  // Return true if edge destination should be visited.
63
  template <typename NodeRef>
64
240M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
240M
    return Visited.insert(To).second;
66
240M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false>::insertEdge<llvm::MachineBasicBlock*>(llvm::Optional<llvm::MachineBasicBlock*>, llvm::MachineBasicBlock*)
Line
Count
Source
64
33.2M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
33.2M
    return Visited.insert(To).second;
66
33.2M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false>::insertEdge<llvm::MachineBasicBlock const*>(llvm::Optional<llvm::MachineBasicBlock const*>, llvm::MachineBasicBlock const*)
Line
Count
Source
64
15.8M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
15.8M
    return Visited.insert(To).second;
66
15.8M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false>::insertEdge<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(llvm::Optional<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>, llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
Line
Count
Source
64
2.06M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
2.06M
    return Visited.insert(To).second;
66
2.06M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false>::insertEdge<llvm::BasicBlock*>(llvm::Optional<llvm::BasicBlock*>, llvm::BasicBlock*)
Line
Count
Source
64
79.9M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
79.9M
    return Visited.insert(To).second;
66
79.9M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false>::insertEdge<llvm::BasicBlock const*>(llvm::Optional<llvm::BasicBlock const*>, llvm::BasicBlock const*)
Line
Count
Source
64
55.7M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
55.7M
    return Visited.insert(To).second;
66
55.7M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false>::insertEdge<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>(llvm::Optional<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>, llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
Line
Count
Source
64
41.6M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
41.6M
    return Visited.insert(To).second;
66
41.6M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false>::insertEdge<llvm::DomTreeNodeBase<llvm::BasicBlock>*>(llvm::Optional<llvm::DomTreeNodeBase<llvm::BasicBlock>*>, llvm::DomTreeNodeBase<llvm::BasicBlock>*)
Line
Count
Source
64
37.0k
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
37.0k
    return Visited.insert(To).second;
66
37.0k
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false>::insertEdge<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>(llvm::Optional<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>, llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)
Line
Count
Source
64
11.3M
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
11.3M
    return Visited.insert(To).second;
66
11.3M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::Type*, 8u>, false>::insertEdge<llvm::Type*>(llvm::Optional<llvm::Type*>, llvm::Type*)
Line
Count
Source
64
204k
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
204k
    return Visited.insert(To).second;
66
204k
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false>::insertEdge<llvm::RegionNode*>(llvm::Optional<llvm::RegionNode*>, llvm::RegionNode*)
Line
Count
Source
64
35.7k
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
35.7k
    return Visited.insert(To).second;
66
35.7k
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false>::insertEdge<llvm::VPBlockBase*>(llvm::Optional<llvm::VPBlockBase*>, llvm::VPBlockBase*)
Line
Count
Source
64
1.45k
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
1.45k
    return Visited.insert(To).second;
66
1.45k
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false>::insertEdge<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>(llvm::Optional<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>, llvm::DomTreeNodeBase<llvm::VPBlockBase> const*)
Line
Count
Source
64
68
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
68
    return Visited.insert(To).second;
66
68
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false>::insertEdge<clang::CallGraphNode*>(llvm::Optional<clang::CallGraphNode*>, clang::CallGraphNode*)
Line
Count
Source
64
20.6k
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
20.6k
    return Visited.insert(To).second;
66
20.6k
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false>::insertEdge<clang::CallGraphNode const*>(llvm::Optional<clang::CallGraphNode const*>, clang::CallGraphNode const*)
Line
Count
Source
64
31
  bool insertEdge(Optional<NodeRef> From, NodeRef To) {
65
31
    return Visited.insert(To).second;
66
31
  }
67
68
  // Called after all children of BB have been visited.
69
181M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false>::finishPostorder<llvm::MachineBasicBlock*>(llvm::MachineBasicBlock*)
Line
Count
Source
69
23.1M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false>::finishPostorder<llvm::MachineBasicBlock const*>(llvm::MachineBasicBlock const*)
Line
Count
Source
69
11.1M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false>::finishPostorder<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
Line
Count
Source
69
2.06M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false>::finishPostorder<llvm::BasicBlock*>(llvm::BasicBlock*)
Line
Count
Source
69
54.0M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false>::finishPostorder<llvm::BasicBlock const*>(llvm::BasicBlock const*)
Line
Count
Source
69
37.9M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false>::finishPostorder<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>(llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
Line
Count
Source
69
41.6M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false>::finishPostorder<llvm::DomTreeNodeBase<llvm::BasicBlock>*>(llvm::DomTreeNodeBase<llvm::BasicBlock>*)
Line
Count
Source
69
37.0k
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false>::finishPostorder<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)
Line
Count
Source
69
11.3M
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::Type*, 8u>, false>::finishPostorder<llvm::Type*>(llvm::Type*)
Line
Count
Source
69
141k
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false>::finishPostorder<llvm::RegionNode*>(llvm::RegionNode*)
Line
Count
Source
69
28.7k
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false>::finishPostorder<llvm::VPBlockBase*>(llvm::VPBlockBase*)
Line
Count
Source
69
1.09k
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false>::finishPostorder<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>(llvm::DomTreeNodeBase<llvm::VPBlockBase> const*)
Line
Count
Source
69
68
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false>::finishPostorder<clang::CallGraphNode*>(clang::CallGraphNode*)
Line
Count
Source
69
15.5k
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false>::finishPostorder<clang::CallGraphNode const*>(clang::CallGraphNode const*)
Line
Count
Source
69
18
  template <typename NodeRef> void finishPostorder(NodeRef BB) {}
70
};
71
72
/// Specialization of po_iterator_storage that references an external set.
73
template<class SetType>
74
class po_iterator_storage<SetType, true> {
75
  SetType &Visited;
76
77
public:
78
209k
  po_iterator_storage(SetType &VSet) : Visited(VSet) {}
llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true>::po_iterator_storage(llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
78
316
  po_iterator_storage(SetType &VSet) : Visited(VSet) {}
llvm::po_iterator_storage<clang::PostOrderCFGView::CFGBlockSet, true>::po_iterator_storage(clang::PostOrderCFGView::CFGBlockSet&)
Line
Count
Source
78
209k
  po_iterator_storage(SetType &VSet) : Visited(VSet) {}
79
1.26k
  po_iterator_storage(const po_iterator_storage &S) : Visited(S.Visited) {}
80
81
  // Return true if edge destination should be visited, called with From = 0 for
82
  // the root node.
83
  // Graph edges can be pruned by specializing this function.
84
1.12M
  template <class NodeRef> bool insertEdge(Optional<NodeRef> From, NodeRef To) {
85
1.12M
    return Visited.insert(To).second;
86
1.12M
  }
bool llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true>::insertEdge<llvm::BasicBlock*>(llvm::Optional<llvm::BasicBlock*>, llvm::BasicBlock*)
Line
Count
Source
84
11.8k
  template <class NodeRef> bool insertEdge(Optional<NodeRef> From, NodeRef To) {
85
11.8k
    return Visited.insert(To).second;
86
11.8k
  }
bool llvm::po_iterator_storage<clang::PostOrderCFGView::CFGBlockSet, true>::insertEdge<clang::CFGBlock const*>(llvm::Optional<clang::CFGBlock const*>, clang::CFGBlock const*)
Line
Count
Source
84
1.11M
  template <class NodeRef> bool insertEdge(Optional<NodeRef> From, NodeRef To) {
85
1.11M
    return Visited.insert(To).second;
86
1.11M
  }
87
88
  // Called after all children of BB have been visited.
89
828k
  template <class NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true>::finishPostorder<llvm::BasicBlock*>(llvm::BasicBlock*)
Line
Count
Source
89
7.42k
  template <class NodeRef> void finishPostorder(NodeRef BB) {}
void llvm::po_iterator_storage<clang::PostOrderCFGView::CFGBlockSet, true>::finishPostorder<clang::CFGBlock const*>(clang::CFGBlock const*)
Line
Count
Source
89
820k
  template <class NodeRef> void finishPostorder(NodeRef BB) {}
90
};
91
92
template <class GraphT,
93
          class SetType =
94
              SmallPtrSet<typename GraphTraits<GraphT>::NodeRef, 8>,
95
          bool ExtStorage = false, class GT = GraphTraits<GraphT>>
96
class po_iterator
97
    : public std::iterator<std::forward_iterator_tag, typename GT::NodeRef>,
98
      public po_iterator_storage<SetType, ExtStorage> {
99
  using super = std::iterator<std::forward_iterator_tag, typename GT::NodeRef>;
100
  using NodeRef = typename GT::NodeRef;
101
  using ChildItTy = typename GT::ChildIteratorType;
102
103
  // VisitStack - Used to maintain the ordering.  Top = current block
104
  // First element is basic block pointer, second is the 'next child' to visit
105
  std::vector<std::pair<NodeRef, ChildItTy>> VisitStack;
106
107
29.7M
  po_iterator(NodeRef BB) {
108
29.7M
    this->insertEdge(Optional<NodeRef>(), BB);
109
29.7M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
29.7M
    traverseChild();
111
29.7M
  }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::po_iterator(llvm::MachineBasicBlock*)
Line
Count
Source
107
3.55M
  po_iterator(NodeRef BB) {
108
3.55M
    this->insertEdge(Optional<NodeRef>(), BB);
109
3.55M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
3.55M
    traverseChild();
111
3.55M
  }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::po_iterator(llvm::MachineBasicBlock*)
Line
Count
Source
107
483k
  po_iterator(NodeRef BB) {
108
483k
    this->insertEdge(Optional<NodeRef>(), BB);
109
483k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
483k
    traverseChild();
111
483k
  }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::po_iterator(llvm::MachineBasicBlock const*)
Line
Count
Source
107
1.94M
  po_iterator(NodeRef BB) {
108
1.94M
    this->insertEdge(Optional<NodeRef>(), BB);
109
1.94M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
1.94M
    traverseChild();
111
1.94M
  }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::po_iterator(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
Line
Count
Source
107
278k
  po_iterator(NodeRef BB) {
108
278k
    this->insertEdge(Optional<NodeRef>(), BB);
109
278k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
278k
    traverseChild();
111
278k
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::po_iterator(llvm::BasicBlock*)
Line
Count
Source
107
8.63M
  po_iterator(NodeRef BB) {
108
8.63M
    this->insertEdge(Optional<NodeRef>(), BB);
109
8.63M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
8.63M
    traverseChild();
111
8.63M
  }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::po_iterator(llvm::BasicBlock const*)
Line
Count
Source
107
5.54M
  po_iterator(NodeRef BB) {
108
5.54M
    this->insertEdge(Optional<NodeRef>(), BB);
109
5.54M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
5.54M
    traverseChild();
111
5.54M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::po_iterator(llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
Line
Count
Source
107
6.94M
  po_iterator(NodeRef BB) {
108
6.94M
    this->insertEdge(Optional<NodeRef>(), BB);
109
6.94M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
6.94M
    traverseChild();
111
6.94M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::po_iterator(llvm::DomTreeNodeBase<llvm::BasicBlock>*)
Line
Count
Source
107
24.2k
  po_iterator(NodeRef BB) {
108
24.2k
    this->insertEdge(Optional<NodeRef>(), BB);
109
24.2k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
24.2k
    traverseChild();
111
24.2k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::po_iterator(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)
Line
Count
Source
107
2.22M
  po_iterator(NodeRef BB) {
108
2.22M
    this->insertEdge(Optional<NodeRef>(), BB);
109
2.22M
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
2.22M
    traverseChild();
111
2.22M
  }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::po_iterator(llvm::Type*)
Line
Count
Source
107
57.2k
  po_iterator(NodeRef BB) {
108
57.2k
    this->insertEdge(Optional<NodeRef>(), BB);
109
57.2k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
57.2k
    traverseChild();
111
57.2k
  }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::po_iterator(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::po_iterator(llvm::RegionNode*)
Line
Count
Source
107
10.2k
  po_iterator(NodeRef BB) {
108
10.2k
    this->insertEdge(Optional<NodeRef>(), BB);
109
10.2k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
10.2k
    traverseChild();
111
10.2k
  }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::po_iterator(llvm::BasicBlock*)
Line
Count
Source
107
23.8k
  po_iterator(NodeRef BB) {
108
23.8k
    this->insertEdge(Optional<NodeRef>(), BB);
109
23.8k
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
23.8k
    traverseChild();
111
23.8k
  }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::po_iterator(llvm::VPBlockBase*)
Line
Count
Source
107
354
  po_iterator(NodeRef BB) {
108
354
    this->insertEdge(Optional<NodeRef>(), BB);
109
354
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
354
    traverseChild();
111
354
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::po_iterator(llvm::DomTreeNodeBase<llvm::VPBlockBase> const*)
Line
Count
Source
107
18
  po_iterator(NodeRef BB) {
108
18
    this->insertEdge(Optional<NodeRef>(), BB);
109
18
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
18
    traverseChild();
111
18
  }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::po_iterator(clang::CallGraphNode*)
Line
Count
Source
107
801
  po_iterator(NodeRef BB) {
108
801
    this->insertEdge(Optional<NodeRef>(), BB);
109
801
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
801
    traverseChild();
111
801
  }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::po_iterator(clang::CallGraphNode const*)
Line
Count
Source
107
1
  po_iterator(NodeRef BB) {
108
1
    this->insertEdge(Optional<NodeRef>(), BB);
109
1
    VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
110
1
    traverseChild();
111
1
  }
112
113
29.7M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::po_iterator()
Line
Count
Source
113
3.55M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::po_iterator()
Line
Count
Source
113
483k
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::po_iterator()
Line
Count
Source
113
1.94M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::po_iterator()
Line
Count
Source
113
278k
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::po_iterator()
Line
Count
Source
113
8.63M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::po_iterator()
Line
Count
Source
113
5.54M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::po_iterator()
Line
Count
Source
113
6.94M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::po_iterator()
Line
Count
Source
113
24.2k
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::po_iterator()
Line
Count
Source
113
2.22M
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::po_iterator()
Line
Count
Source
113
57.2k
  po_iterator() = default; // End is when stack is empty.
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::po_iterator()
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::po_iterator()
Line
Count
Source
113
10.2k
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::po_iterator()
Line
Count
Source
113
23.8k
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::po_iterator()
Line
Count
Source
113
354
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::po_iterator()
Line
Count
Source
113
18
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::po_iterator()
Line
Count
Source
113
801
  po_iterator() = default; // End is when stack is empty.
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::po_iterator()
Line
Count
Source
113
1
  po_iterator() = default; // End is when stack is empty.
114
115
  po_iterator(NodeRef BB, SetType &S)
116
1.24M
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
1.24M
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
1.18M
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
1.18M
      traverseChild();
120
1.18M
    }
121
1.24M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::po_iterator(llvm::BasicBlock*, llvm::LoopBlocksTraversal&)
Line
Count
Source
116
854k
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
854k
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
854k
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
854k
      traverseChild();
120
854k
    }
121
854k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::po_iterator(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
116
141k
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
141k
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
136k
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
136k
      traverseChild();
120
136k
    }
121
141k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::po_iterator(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
116
141k
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
141k
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
87.5k
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
87.5k
      traverseChild();
120
87.5k
    }
121
141k
  }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::po_iterator(llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
116
158
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
158
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
158
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
158
      traverseChild();
120
158
    }
121
158
  }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::po_iterator(clang::CFGBlock const*, clang::PostOrderCFGView::CFGBlockSet&)
Line
Count
Source
116
104k
      : po_iterator_storage<SetType, ExtStorage>(S) {
117
104k
    if (this->insertEdge(Optional<NodeRef>(), BB)) {
118
104k
      VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
119
104k
      traverseChild();
120
104k
    }
121
104k
  }
122
123
  po_iterator(SetType &S)
124
1.24M
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
1.24M
  } // End is when stack is empty.
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::po_iterator(llvm::LoopBlocksTraversal&)
Line
Count
Source
124
854k
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
854k
  } // End is when stack is empty.
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::po_iterator((anonymous namespace)::LoopBounds&)
Line
Count
Source
124
141k
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
141k
  } // End is when stack is empty.
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::po_iterator((anonymous namespace)::LoopBounds&)
Line
Count
Source
124
141k
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
141k
  } // End is when stack is empty.
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::po_iterator(llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
124
158
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
158
  } // End is when stack is empty.
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::po_iterator(clang::PostOrderCFGView::CFGBlockSet&)
Line
Count
Source
124
104k
      : po_iterator_storage<SetType, ExtStorage>(S) {
125
104k
  } // End is when stack is empty.
126
127
186M
  void traverseChild() {
128
406M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
219M
      NodeRef BB = *VisitStack.back().second++;
130
219M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
156M
        // If the block is not visited...
132
156M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
156M
      }
134
219M
    }
135
186M
  }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::traverseChild()
Line
Count
Source
127
19.2M
  void traverseChild() {
128
43.2M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
23.9M
      NodeRef BB = *VisitStack.back().second++;
130
23.9M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
15.7M
        // If the block is not visited...
132
15.7M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
15.7M
      }
134
23.9M
    }
135
19.2M
  }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::traverseChild()
Line
Count
Source
127
3.83M
  void traverseChild() {
128
9.11M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
5.27M
      NodeRef BB = *VisitStack.back().second++;
130
5.27M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
3.50M
        // If the block is not visited...
132
3.50M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
3.50M
      }
134
5.27M
    }
135
3.83M
  }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::traverseChild()
Line
Count
Source
127
11.1M
  void traverseChild() {
128
25.0M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
13.8M
      NodeRef BB = *VisitStack.back().second++;
130
13.8M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
9.23M
        // If the block is not visited...
132
9.23M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
9.23M
      }
134
13.8M
    }
135
11.1M
  }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::traverseChild()
Line
Count
Source
127
2.06M
  void traverseChild() {
128
3.84M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
1.78M
      NodeRef BB = *VisitStack.back().second++;
130
1.78M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
1.78M
        // If the block is not visited...
132
1.78M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
1.78M
      }
134
1.78M
    }
135
2.06M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::traverseChild()
Line
Count
Source
127
54.0M
  void traverseChild() {
128
125M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
71.2M
      NodeRef BB = *VisitStack.back().second++;
130
71.2M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
45.3M
        // If the block is not visited...
132
45.3M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
45.3M
      }
134
71.2M
    }
135
54.0M
  }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::traverseChild()
Line
Count
Source
127
37.9M
  void traverseChild() {
128
88.1M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
50.2M
      NodeRef BB = *VisitStack.back().second++;
130
50.2M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
32.3M
        // If the block is not visited...
132
32.3M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
32.3M
      }
134
50.2M
    }
135
37.9M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::traverseChild()
Line
Count
Source
127
3.37M
  void traverseChild() {
128
9.15M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
5.78M
      NodeRef BB = *VisitStack.back().second++;
130
5.78M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
2.51M
        // If the block is not visited...
132
2.51M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
2.51M
      }
134
5.78M
    }
135
3.37M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::traverseChild()
Line
Count
Source
127
41.6M
  void traverseChild() {
128
76.3M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
34.7M
      NodeRef BB = *VisitStack.back().second++;
130
34.7M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
34.7M
        // If the block is not visited...
132
34.7M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
34.7M
      }
134
34.7M
    }
135
41.6M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::traverseChild()
Line
Count
Source
127
37.0k
  void traverseChild() {
128
49.7k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
12.7k
      NodeRef BB = *VisitStack.back().second++;
130
12.7k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
12.7k
        // If the block is not visited...
132
12.7k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
12.7k
      }
134
12.7k
    }
135
37.0k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::traverseChild()
Line
Count
Source
127
11.3M
  void traverseChild() {
128
20.4M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
9.12M
      NodeRef BB = *VisitStack.back().second++;
130
9.12M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
9.12M
        // If the block is not visited...
132
9.12M
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
9.12M
      }
134
9.12M
    }
135
11.3M
  }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::traverseChild()
Line
Count
Source
127
141k
  void traverseChild() {
128
288k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
147k
      NodeRef BB = *VisitStack.back().second++;
130
147k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
84.5k
        // If the block is not visited...
132
84.5k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
84.5k
      }
134
147k
    }
135
141k
  }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::traverseChild()
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::traverseChild()
Line
Count
Source
127
581k
  void traverseChild() {
128
1.42M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
839k
      NodeRef BB = *VisitStack.back().second++;
130
839k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
445k
        // If the block is not visited...
132
445k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
445k
      }
134
839k
    }
135
581k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::traverseChild()
Line
Count
Source
127
649k
  void traverseChild() {
128
1.63M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
980k
      NodeRef BB = *VisitStack.back().second++;
130
980k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
562k
        // If the block is not visited...
132
562k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
562k
      }
134
980k
    }
135
649k
  }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::traverseChild()
Line
Count
Source
127
7.42k
  void traverseChild() {
128
19.0k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
11.6k
      NodeRef BB = *VisitStack.back().second++;
130
11.6k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
7.26k
        // If the block is not visited...
132
7.26k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
7.26k
      }
134
11.6k
    }
135
7.42k
  }
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::traverseChild()
Line
Count
Source
127
28.7k
  void traverseChild() {
128
54.2k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
25.4k
      NodeRef BB = *VisitStack.back().second++;
130
25.4k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
18.5k
        // If the block is not visited...
132
18.5k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
18.5k
      }
134
25.4k
    }
135
28.7k
  }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::traverseChild()
Line
Count
Source
127
26.1k
  void traverseChild() {
128
29.5k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
3.38k
      NodeRef BB = *VisitStack.back().second++;
130
3.38k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
2.32k
        // If the block is not visited...
132
2.32k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
2.32k
      }
134
3.38k
    }
135
26.1k
  }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::traverseChild()
Line
Count
Source
127
1.09k
  void traverseChild() {
128
2.19k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
1.10k
      NodeRef BB = *VisitStack.back().second++;
130
1.10k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
736
        // If the block is not visited...
132
736
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
736
      }
134
1.10k
    }
135
1.09k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::traverseChild()
Line
Count
Source
127
68
  void traverseChild() {
128
118
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
50
      NodeRef BB = *VisitStack.back().second++;
130
50
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
50
        // If the block is not visited...
132
50
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
50
      }
134
50
    }
135
68
  }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::traverseChild()
Line
Count
Source
127
15.5k
  void traverseChild() {
128
35.4k
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
19.8k
      NodeRef BB = *VisitStack.back().second++;
130
19.8k
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
14.7k
        // If the block is not visited...
132
14.7k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
14.7k
      }
134
19.8k
    }
135
15.5k
  }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::traverseChild()
Line
Count
Source
127
18
  void traverseChild() {
128
48
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
30
      NodeRef BB = *VisitStack.back().second++;
130
30
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
17
        // If the block is not visited...
132
17
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
17
      }
134
30
    }
135
18
  }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::traverseChild()
Line
Count
Source
127
820k
  void traverseChild() {
128
1.83M
    while (VisitStack.back().second != GT::child_end(VisitStack.back().first)) {
129
1.01M
      NodeRef BB = *VisitStack.back().second++;
130
1.01M
      if (this->insertEdge(Optional<NodeRef>(VisitStack.back().first), BB)) {
131
715k
        // If the block is not visited...
132
715k
        VisitStack.push_back(std::make_pair(BB, GT::child_begin(BB)));
133
715k
      }
134
1.01M
    }
135
820k
  }
136
137
public:
138
  using pointer = typename super::pointer;
139
140
  // Provide static "constructors"...
141
29.7M
  static po_iterator begin(GraphT G) {
142
29.7M
    return po_iterator(GT::getEntryNode(G));
143
29.7M
  }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::begin(llvm::MachineBasicBlock*)
Line
Count
Source
141
3.55M
  static po_iterator begin(GraphT G) {
142
3.55M
    return po_iterator(GT::getEntryNode(G));
143
3.55M
  }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::begin(llvm::MachineFunction*)
Line
Count
Source
141
483k
  static po_iterator begin(GraphT G) {
142
483k
    return po_iterator(GT::getEntryNode(G));
143
483k
  }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::begin(llvm::MachineBasicBlock const*)
Line
Count
Source
141
1.94M
  static po_iterator begin(GraphT G) {
142
1.94M
    return po_iterator(GT::getEntryNode(G));
143
1.94M
  }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::begin(llvm::MachineDominatorTree*)
Line
Count
Source
141
278k
  static po_iterator begin(GraphT G) {
142
278k
    return po_iterator(GT::getEntryNode(G));
143
278k
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::begin(llvm::BasicBlock*)
Line
Count
Source
141
8.63M
  static po_iterator begin(GraphT G) {
142
8.63M
    return po_iterator(GT::getEntryNode(G));
143
8.63M
  }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::begin(llvm::BasicBlock const*)
Line
Count
Source
141
5.54M
  static po_iterator begin(GraphT G) {
142
5.54M
    return po_iterator(GT::getEntryNode(G));
143
5.54M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::begin(llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
Line
Count
Source
141
6.94M
  static po_iterator begin(GraphT G) {
142
6.94M
    return po_iterator(GT::getEntryNode(G));
143
6.94M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::begin(llvm::DomTreeNodeBase<llvm::BasicBlock>*)
Line
Count
Source
141
24.2k
  static po_iterator begin(GraphT G) {
142
24.2k
    return po_iterator(GT::getEntryNode(G));
143
24.2k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::begin(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)
Line
Count
Source
141
2.22M
  static po_iterator begin(GraphT G) {
142
2.22M
    return po_iterator(GT::getEntryNode(G));
143
2.22M
  }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::begin(llvm::Type*)
Line
Count
Source
141
57.2k
  static po_iterator begin(GraphT G) {
142
57.2k
    return po_iterator(GT::getEntryNode(G));
143
57.2k
  }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::begin(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::begin(llvm::RegionNode*)
Line
Count
Source
141
10.2k
  static po_iterator begin(GraphT G) {
142
10.2k
    return po_iterator(GT::getEntryNode(G));
143
10.2k
  }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::begin(llvm::Function*)
Line
Count
Source
141
23.8k
  static po_iterator begin(GraphT G) {
142
23.8k
    return po_iterator(GT::getEntryNode(G));
143
23.8k
  }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::begin(llvm::VPBlockBase*)
Line
Count
Source
141
354
  static po_iterator begin(GraphT G) {
142
354
    return po_iterator(GT::getEntryNode(G));
143
354
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::begin(llvm::DomTreeNodeBase<llvm::VPBlockBase> const*)
Line
Count
Source
141
18
  static po_iterator begin(GraphT G) {
142
18
    return po_iterator(GT::getEntryNode(G));
143
18
  }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::begin(clang::CallGraphNode*)
Line
Count
Source
141
801
  static po_iterator begin(GraphT G) {
142
801
    return po_iterator(GT::getEntryNode(G));
143
801
  }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::begin(clang::CallGraphNode const*)
Line
Count
Source
141
1
  static po_iterator begin(GraphT G) {
142
1
    return po_iterator(GT::getEntryNode(G));
143
1
  }
144
29.7M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::end(llvm::MachineBasicBlock*)
Line
Count
Source
144
3.55M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::end(llvm::MachineFunction*)
Line
Count
Source
144
483k
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::end(llvm::MachineBasicBlock const*)
Line
Count
Source
144
1.94M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::end(llvm::MachineDominatorTree*)
Line
Count
Source
144
278k
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::end(llvm::BasicBlock*)
Line
Count
Source
144
8.63M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::end(llvm::BasicBlock const*)
Line
Count
Source
144
5.54M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::end(llvm::DomTreeNodeBase<llvm::BasicBlock> const*)
Line
Count
Source
144
6.94M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::end(llvm::DomTreeNodeBase<llvm::BasicBlock>*)
Line
Count
Source
144
24.2k
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::end(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*)
Line
Count
Source
144
2.22M
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::end(llvm::Type*)
Line
Count
Source
144
57.2k
  static po_iterator end(GraphT G) { return po_iterator(); }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::end(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*)
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::end(llvm::RegionNode*)
Line
Count
Source
144
10.2k
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::end(llvm::Function*)
Line
Count
Source
144
23.8k
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::end(llvm::VPBlockBase*)
Line
Count
Source
144
354
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::end(llvm::DomTreeNodeBase<llvm::VPBlockBase> const*)
Line
Count
Source
144
18
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::end(clang::CallGraphNode*)
Line
Count
Source
144
801
  static po_iterator end(GraphT G) { return po_iterator(); }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::end(clang::CallGraphNode const*)
Line
Count
Source
144
1
  static po_iterator end(GraphT G) { return po_iterator(); }
145
146
1.24M
  static po_iterator begin(GraphT G, SetType &S) {
147
1.24M
    return po_iterator(GT::getEntryNode(G), S);
148
1.24M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::begin(llvm::BasicBlock*, llvm::LoopBlocksTraversal&)
Line
Count
Source
146
854k
  static po_iterator begin(GraphT G, SetType &S) {
147
854k
    return po_iterator(GT::getEntryNode(G), S);
148
854k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::begin(llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds&)
Line
Count
Source
146
141k
  static po_iterator begin(GraphT G, SetType &S) {
147
141k
    return po_iterator(GT::getEntryNode(G), S);
148
141k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::begin(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
146
141k
  static po_iterator begin(GraphT G, SetType &S) {
147
141k
    return po_iterator(GT::getEntryNode(G), S);
148
141k
  }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::begin(llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
146
158
  static po_iterator begin(GraphT G, SetType &S) {
147
158
    return po_iterator(GT::getEntryNode(G), S);
148
158
  }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::begin(clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet&)
Line
Count
Source
146
104k
  static po_iterator begin(GraphT G, SetType &S) {
147
104k
    return po_iterator(GT::getEntryNode(G), S);
148
104k
  }
149
1.24M
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::end(llvm::BasicBlock*, llvm::LoopBlocksTraversal&)
Line
Count
Source
149
854k
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::end(llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds&)
Line
Count
Source
149
141k
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::end(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
149
141k
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::end(llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
149
158
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::end(clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet&)
Line
Count
Source
149
104k
  static po_iterator end(GraphT G, SetType &S) { return po_iterator(S); }
150
151
217M
  bool operator==(const po_iterator &x) const {
152
217M
    return VisitStack == x.VisitStack;
153
217M
  }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::operator==(llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> > const&) const
Line
Count
Source
151
22.8M
  bool operator==(const po_iterator &x) const {
152
22.8M
    return VisitStack == x.VisitStack;
153
22.8M
  }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::operator==(llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> > const&) const
Line
Count
Source
151
4.29M
  bool operator==(const po_iterator &x) const {
152
4.29M
    return VisitStack == x.VisitStack;
153
4.29M
  }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator==(llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> > const&) const
Line
Count
Source
151
13.1M
  bool operator==(const po_iterator &x) const {
152
13.1M
    return VisitStack == x.VisitStack;
153
13.1M
  }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::operator==(llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> > const&) const
Line
Count
Source
151
2.33M
  bool operator==(const po_iterator &x) const {
152
2.33M
    return VisitStack == x.VisitStack;
153
2.33M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::operator==(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > const&) const
Line
Count
Source
151
62.6M
  bool operator==(const po_iterator &x) const {
152
62.6M
    return VisitStack == x.VisitStack;
153
62.6M
  }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::operator==(llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> > const&) const
Line
Count
Source
151
43.4M
  bool operator==(const po_iterator &x) const {
152
43.4M
    return VisitStack == x.VisitStack;
153
43.4M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::operator==(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> > const&) const
Line
Count
Source
151
48.6M
  bool operator==(const po_iterator &x) const {
152
48.6M
    return VisitStack == x.VisitStack;
153
48.6M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::operator==(llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> > const&) const
Line
Count
Source
151
4.22M
  bool operator==(const po_iterator &x) const {
152
4.22M
    return VisitStack == x.VisitStack;
153
4.22M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::operator==(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > const&) const
Line
Count
Source
151
61.2k
  bool operator==(const po_iterator &x) const {
152
61.2k
    return VisitStack == x.VisitStack;
153
61.2k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::operator==(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> > const&) const
Line
Count
Source
151
13.5M
  bool operator==(const po_iterator &x) const {
152
13.5M
    return VisitStack == x.VisitStack;
153
13.5M
  }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::operator==(llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> > const&) const
Line
Count
Source
151
198k
  bool operator==(const po_iterator &x) const {
152
198k
    return VisitStack == x.VisitStack;
153
198k
  }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::operator==(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > const&) const
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::operator==(llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > > const&) const
Line
Count
Source
151
723k
  bool operator==(const po_iterator &x) const {
152
723k
    return VisitStack == x.VisitStack;
153
723k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator==(llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> > const&) const
Line
Count
Source
151
791k
  bool operator==(const po_iterator &x) const {
152
791k
    return VisitStack == x.VisitStack;
153
791k
  }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::operator==(llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > > const&) const
Line
Count
Source
151
7.58k
  bool operator==(const po_iterator &x) const {
152
7.58k
    return VisitStack == x.VisitStack;
153
7.58k
  }
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::operator==(llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> > const&) const
Line
Count
Source
151
39.0k
  bool operator==(const po_iterator &x) const {
152
39.0k
    return VisitStack == x.VisitStack;
153
39.0k
  }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::operator==(llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> > const&) const
Line
Count
Source
151
49.9k
  bool operator==(const po_iterator &x) const {
152
49.9k
    return VisitStack == x.VisitStack;
153
49.9k
  }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::operator==(llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> > const&) const
Line
Count
Source
151
1.44k
  bool operator==(const po_iterator &x) const {
152
1.44k
    return VisitStack == x.VisitStack;
153
1.44k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::operator==(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> > const&) const
Line
Count
Source
151
86
  bool operator==(const po_iterator &x) const {
152
86
    return VisitStack == x.VisitStack;
153
86
  }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::operator==(llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> > const&) const
Line
Count
Source
151
16.3k
  bool operator==(const po_iterator &x) const {
152
16.3k
    return VisitStack == x.VisitStack;
153
16.3k
  }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::operator==(llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> > const&) const
Line
Count
Source
151
19
  bool operator==(const po_iterator &x) const {
152
19
    return VisitStack == x.VisitStack;
153
19
  }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::operator==(llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> > const&) const
Line
Count
Source
151
925k
  bool operator==(const po_iterator &x) const {
152
925k
    return VisitStack == x.VisitStack;
153
925k
  }
154
217M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::operator!=(llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> > const&) const
Line
Count
Source
154
22.8M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::operator!=(llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> > const&) const
Line
Count
Source
154
4.29M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator!=(llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> > const&) const
Line
Count
Source
154
13.1M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::operator!=(llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> > const&) const
Line
Count
Source
154
2.33M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::operator!=(llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > const&) const
Line
Count
Source
154
62.6M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::operator!=(llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> > const&) const
Line
Count
Source
154
43.4M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::operator!=(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> > const&) const
Line
Count
Source
154
48.6M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::operator!=(llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> > const&) const
Line
Count
Source
154
4.22M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::operator!=(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > const&) const
Line
Count
Source
154
61.2k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::operator!=(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> > const&) const
Line
Count
Source
154
13.5M
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::operator!=(llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> > const&) const
Line
Count
Source
154
198k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::operator!=(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > const&) const
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::operator!=(llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > > const&) const
Line
Count
Source
154
723k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator!=(llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> > const&) const
Line
Count
Source
154
791k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::operator!=(llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > > const&) const
Line
Count
Source
154
7.58k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::operator!=(llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> > const&) const
Line
Count
Source
154
39.0k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::operator!=(llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> > const&) const
Line
Count
Source
154
49.9k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::operator!=(llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> > const&) const
Line
Count
Source
154
1.44k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::operator!=(llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> > const&) const
Line
Count
Source
154
86
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::operator!=(llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> > const&) const
Line
Count
Source
154
16.3k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::operator!=(llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> > const&) const
Line
Count
Source
154
19
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::operator!=(llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> > const&) const
Line
Count
Source
154
925k
  bool operator!=(const po_iterator &x) const { return !(*this == x); }
155
156
184M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::operator*() const
Line
Count
Source
156
19.2M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::operator*() const
Line
Count
Source
156
3.83M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator*() const
Line
Count
Source
156
11.1M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::operator*() const
Line
Count
Source
156
2.06M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::operator*() const
Line
Count
Source
156
54.0M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::operator*() const
Line
Count
Source
156
37.9M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::operator*() const
Line
Count
Source
156
15.2k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::operator*() const
Line
Count
Source
156
41.6M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::operator*() const
Line
Count
Source
156
37.0k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::operator*() const
Line
Count
Source
156
11.3M
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::operator*() const
Line
Count
Source
156
141k
  const NodeRef &operator*() const { return VisitStack.back().first; }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::operator*() const
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::operator*() const
Line
Count
Source
156
581k
  const NodeRef &operator*() const { return VisitStack.back().first; }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator*() const
Line
Count
Source
156
649k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::operator*() const
Line
Count
Source
156
7.42k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::operator*() const
Line
Count
Source
156
28.7k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::operator*() const
Line
Count
Source
156
26.1k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::operator*() const
Line
Count
Source
156
1.09k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::operator*() const
Line
Count
Source
156
68
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::operator*() const
Line
Count
Source
156
15.5k
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::operator*() const
Line
Count
Source
156
18
  const NodeRef &operator*() const { return VisitStack.back().first; }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::operator*() const
Line
Count
Source
156
1.64M
  const NodeRef &operator*() const { return VisitStack.back().first; }
157
158
  // This is a nonstandard operator-> that dereferences the pointer an extra
159
  // time... so that you can actually call methods ON the BasicBlock, because
160
  // the contained type is a pointer.  This allows BBIt->getTerminator() f.e.
161
  //
162
456
  NodeRef operator->() const { return **this; }
163
164
186M
  po_iterator &operator++() { // Preincrement
165
186M
    this->finishPostorder(VisitStack.back().first);
166
186M
    VisitStack.pop_back();
167
186M
    if (!VisitStack.empty())
168
156M
      traverseChild();
169
186M
    return *this;
170
186M
  }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> >::operator++()
Line
Count
Source
164
19.2M
  po_iterator &operator++() { // Preincrement
165
19.2M
    this->finishPostorder(VisitStack.back().first);
166
19.2M
    VisitStack.pop_back();
167
19.2M
    if (!VisitStack.empty())
168
15.7M
      traverseChild();
169
19.2M
    return *this;
170
19.2M
  }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::MachineBasicBlock*, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> >::operator++()
Line
Count
Source
164
3.81M
  po_iterator &operator++() { // Preincrement
165
3.81M
    this->finishPostorder(VisitStack.back().first);
166
3.81M
    VisitStack.pop_back();
167
3.81M
    if (!VisitStack.empty())
168
3.35M
      traverseChild();
169
3.81M
    return *this;
170
3.81M
  }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::MachineBasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator++()
Line
Count
Source
164
11.1M
  po_iterator &operator++() { // Preincrement
165
11.1M
    this->finishPostorder(VisitStack.back().first);
166
11.1M
    VisitStack.pop_back();
167
11.1M
    if (!VisitStack.empty())
168
9.23M
      traverseChild();
169
11.1M
    return *this;
170
11.1M
  }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> >::operator++()
Line
Count
Source
164
2.06M
  po_iterator &operator++() { // Preincrement
165
2.06M
    this->finishPostorder(VisitStack.back().first);
166
2.06M
    VisitStack.pop_back();
167
2.06M
    if (!VisitStack.empty())
168
1.78M
      traverseChild();
169
2.06M
    return *this;
170
2.06M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> >::operator++()
Line
Count
Source
164
54.0M
  po_iterator &operator++() { // Preincrement
165
54.0M
    this->finishPostorder(VisitStack.back().first);
166
54.0M
    VisitStack.pop_back();
167
54.0M
    if (!VisitStack.empty())
168
45.3M
      traverseChild();
169
54.0M
    return *this;
170
54.0M
  }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::BasicBlock const*, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> >::operator++()
Line
Count
Source
164
37.9M
  po_iterator &operator++() { // Preincrement
165
37.9M
    this->finishPostorder(VisitStack.back().first);
166
37.9M
    VisitStack.pop_back();
167
37.9M
    if (!VisitStack.empty())
168
32.3M
      traverseChild();
169
37.9M
    return *this;
170
37.9M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> >::operator++()
Line
Count
Source
164
41.6M
  po_iterator &operator++() { // Preincrement
165
41.6M
    this->finishPostorder(VisitStack.back().first);
166
41.6M
    VisitStack.pop_back();
167
41.6M
    if (!VisitStack.empty())
168
34.7M
      traverseChild();
169
41.6M
    return *this;
170
41.6M
  }
llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> >::operator++()
Line
Count
Source
164
3.37M
  po_iterator &operator++() { // Preincrement
165
3.37M
    this->finishPostorder(VisitStack.back().first);
166
3.37M
    VisitStack.pop_back();
167
3.37M
    if (!VisitStack.empty())
168
2.51M
      traverseChild();
169
3.37M
    return *this;
170
3.37M
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::BasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> >::operator++()
Line
Count
Source
164
37.0k
  po_iterator &operator++() { // Preincrement
165
37.0k
    this->finishPostorder(VisitStack.back().first);
166
37.0k
    VisitStack.pop_back();
167
37.0k
    if (!VisitStack.empty())
168
12.7k
      traverseChild();
169
37.0k
    return *this;
170
37.0k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> >::operator++()
Line
Count
Source
164
11.3M
  po_iterator &operator++() { // Preincrement
165
11.3M
    this->finishPostorder(VisitStack.back().first);
166
11.3M
    VisitStack.pop_back();
167
11.3M
    if (!VisitStack.empty())
168
9.12M
      traverseChild();
169
11.3M
    return *this;
170
11.3M
  }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::Type*, 8u>, false, llvm::GraphTraits<llvm::Type*> >::operator++()
Line
Count
Source
164
141k
  po_iterator &operator++() { // Preincrement
165
141k
    this->finishPostorder(VisitStack.back().first);
166
141k
    VisitStack.pop_back();
167
141k
    if (!VisitStack.empty())
168
84.4k
      traverseChild();
169
141k
    return *this;
170
141k
  }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> >::operator++()
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > >::operator++()
Line
Count
Source
164
581k
  po_iterator &operator++() { // Preincrement
165
581k
    this->finishPostorder(VisitStack.back().first);
166
581k
    VisitStack.pop_back();
167
581k
    if (!VisitStack.empty())
168
445k
      traverseChild();
169
581k
    return *this;
170
581k
  }
MachineTraceMetrics.cpp:llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> >::operator++()
Line
Count
Source
164
649k
  po_iterator &operator++() { // Preincrement
165
649k
    this->finishPostorder(VisitStack.back().first);
166
649k
    VisitStack.pop_back();
167
649k
    if (!VisitStack.empty())
168
562k
      traverseChild();
169
649k
    return *this;
170
649k
  }
llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > >::operator++()
Line
Count
Source
164
7.42k
  po_iterator &operator++() { // Preincrement
165
7.42k
    this->finishPostorder(VisitStack.back().first);
166
7.42k
    VisitStack.pop_back();
167
7.42k
    if (!VisitStack.empty())
168
7.26k
      traverseChild();
169
7.42k
    return *this;
170
7.42k
  }
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::RegionNode*, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> >::operator++()
Line
Count
Source
164
28.7k
  po_iterator &operator++() { // Preincrement
165
28.7k
    this->finishPostorder(VisitStack.back().first);
166
28.7k
    VisitStack.pop_back();
167
28.7k
    if (!VisitStack.empty())
168
18.5k
      traverseChild();
169
28.7k
    return *this;
170
28.7k
  }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::BasicBlock*, 8u>, false, llvm::GraphTraits<llvm::Function*> >::operator++()
Line
Count
Source
164
26.1k
  po_iterator &operator++() { // Preincrement
165
26.1k
    this->finishPostorder(VisitStack.back().first);
166
26.1k
    VisitStack.pop_back();
167
26.1k
    if (!VisitStack.empty())
168
2.32k
      traverseChild();
169
26.1k
    return *this;
170
26.1k
  }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::VPBlockBase*, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> >::operator++()
Line
Count
Source
164
1.09k
  po_iterator &operator++() { // Preincrement
165
1.09k
    this->finishPostorder(VisitStack.back().first);
166
1.09k
    VisitStack.pop_back();
167
1.09k
    if (!VisitStack.empty())
168
736
      traverseChild();
169
1.09k
    return *this;
170
1.09k
  }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> >::operator++()
Line
Count
Source
164
68
  po_iterator &operator++() { // Preincrement
165
68
    this->finishPostorder(VisitStack.back().first);
166
68
    VisitStack.pop_back();
167
68
    if (!VisitStack.empty())
168
50
      traverseChild();
169
68
    return *this;
170
68
  }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<clang::CallGraphNode*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> >::operator++()
Line
Count
Source
164
15.5k
  po_iterator &operator++() { // Preincrement
165
15.5k
    this->finishPostorder(VisitStack.back().first);
166
15.5k
    VisitStack.pop_back();
167
15.5k
    if (!VisitStack.empty())
168
14.7k
      traverseChild();
169
15.5k
    return *this;
170
15.5k
  }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<clang::CallGraphNode const*, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> >::operator++()
Line
Count
Source
164
18
  po_iterator &operator++() { // Preincrement
165
18
    this->finishPostorder(VisitStack.back().first);
166
18
    VisitStack.pop_back();
167
18
    if (!VisitStack.empty())
168
17
      traverseChild();
169
18
    return *this;
170
18
  }
llvm::po_iterator<clang::CFG const*, clang::PostOrderCFGView::CFGBlockSet, true, llvm::GraphTraits<clang::CFG const*> >::operator++()
Line
Count
Source
164
820k
  po_iterator &operator++() { // Preincrement
165
820k
    this->finishPostorder(VisitStack.back().first);
166
820k
    VisitStack.pop_back();
167
820k
    if (!VisitStack.empty())
168
715k
      traverseChild();
169
820k
    return *this;
170
820k
  }
171
172
  po_iterator operator++(int) { // Postincrement
173
    po_iterator tmp = *this;
174
    ++*this;
175
    return tmp;
176
  }
177
};
178
179
// Provide global constructors that automatically figure out correct types...
180
//
181
template <class T>
182
29.7M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> > llvm::po_begin<llvm::MachineBasicBlock*>(llvm::MachineBasicBlock* const&)
Line
Count
Source
182
3.55M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineFunction*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> > llvm::po_begin<llvm::MachineFunction*>(llvm::MachineFunction* const&)
Line
Count
Source
182
483k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineBasicBlock const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> > llvm::po_begin<llvm::MachineBasicBlock const*>(llvm::MachineBasicBlock const* const&)
Line
Count
Source
182
1.94M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineDominatorTree*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> > llvm::po_begin<llvm::MachineDominatorTree*>(llvm::MachineDominatorTree* const&)
Line
Count
Source
182
278k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > llvm::po_begin<llvm::BasicBlock*>(llvm::BasicBlock* const&)
Line
Count
Source
182
8.63M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> > llvm::po_begin<llvm::BasicBlock const*>(llvm::BasicBlock const* const&)
Line
Count
Source
182
5.54M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> > llvm::po_begin<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>(llvm::DomTreeNodeBase<llvm::BasicBlock> const* const&)
Line
Count
Source
182
6.94M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > llvm::po_begin<llvm::DomTreeNodeBase<llvm::BasicBlock>*>(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&)
Line
Count
Source
182
24.2k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> > llvm::po_begin<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const* const&)
Line
Count
Source
182
2.22M
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Type*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Type*> > llvm::po_begin<llvm::Type*>(llvm::Type* const&)
Line
Count
Source
182
57.2k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > llvm::po_begin<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&)
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::RegionNode*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> > llvm::po_begin<llvm::RegionNode*>(llvm::RegionNode* const&)
Line
Count
Source
182
10.2k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Function*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Function*> > llvm::po_begin<llvm::Function*>(llvm::Function* const&)
Line
Count
Source
182
23.8k
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::VPBlockBase*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> > llvm::po_begin<llvm::VPBlockBase*>(llvm::VPBlockBase* const&)
Line
Count
Source
182
354
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> > llvm::po_begin<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>(llvm::DomTreeNodeBase<llvm::VPBlockBase> const* const&)
Line
Count
Source
182
18
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<llvm::GraphTraits<clang::CallGraphNode*>::NodeRef, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> > llvm::po_begin<clang::CallGraphNode*>(clang::CallGraphNode* const&)
Line
Count
Source
182
801
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<llvm::GraphTraits<clang::CallGraphNode const*>::NodeRef, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> > llvm::po_begin<clang::CallGraphNode const*>(clang::CallGraphNode const* const&)
Line
Count
Source
182
1
po_iterator<T> po_begin(const T &G) { return po_iterator<T>::begin(G); }
183
template <class T>
184
29.7M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> > llvm::po_end<llvm::MachineBasicBlock*>(llvm::MachineBasicBlock* const&)
Line
Count
Source
184
3.55M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineFunction*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> > llvm::po_end<llvm::MachineFunction*>(llvm::MachineFunction* const&)
Line
Count
Source
184
483k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::MachineBasicBlock const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineBasicBlock const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock const*> > llvm::po_end<llvm::MachineBasicBlock const*>(llvm::MachineBasicBlock const* const&)
Line
Count
Source
184
1.94M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineDominatorTree*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> > llvm::po_end<llvm::MachineDominatorTree*>(llvm::MachineDominatorTree* const&)
Line
Count
Source
184
278k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > llvm::po_end<llvm::BasicBlock*>(llvm::BasicBlock* const&)
Line
Count
Source
184
8.63M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> > llvm::po_end<llvm::BasicBlock const*>(llvm::BasicBlock const* const&)
Line
Count
Source
184
5.54M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> > llvm::po_end<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>(llvm::DomTreeNodeBase<llvm::BasicBlock> const* const&)
Line
Count
Source
184
6.94M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > llvm::po_end<llvm::DomTreeNodeBase<llvm::BasicBlock>*>(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&)
Line
Count
Source
184
24.2k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> > llvm::po_end<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const* const&)
Line
Count
Source
184
2.22M
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Type*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Type*> > llvm::po_end<llvm::Type*>(llvm::Type* const&)
Line
Count
Source
184
57.2k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
Unexecuted instantiation: llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > llvm::po_end<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&)
llvm::po_iterator<llvm::RegionNode*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::RegionNode*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::RegionNode*> > llvm::po_end<llvm::RegionNode*>(llvm::RegionNode* const&)
Line
Count
Source
184
10.2k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Function*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Function*> > llvm::po_end<llvm::Function*>(llvm::Function* const&)
Line
Count
Source
184
23.8k
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::VPBlockBase*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> > llvm::po_end<llvm::VPBlockBase*>(llvm::VPBlockBase* const&)
Line
Count
Source
184
354
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> > llvm::po_end<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>(llvm::DomTreeNodeBase<llvm::VPBlockBase> const* const&)
Line
Count
Source
184
18
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<clang::CallGraphNode*, llvm::SmallPtrSet<llvm::GraphTraits<clang::CallGraphNode*>::NodeRef, 8u>, false, llvm::GraphTraits<clang::CallGraphNode*> > llvm::po_end<clang::CallGraphNode*>(clang::CallGraphNode* const&)
Line
Count
Source
184
801
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
llvm::po_iterator<clang::CallGraphNode const*, llvm::SmallPtrSet<llvm::GraphTraits<clang::CallGraphNode const*>::NodeRef, 8u>, false, llvm::GraphTraits<clang::CallGraphNode const*> > llvm::po_end<clang::CallGraphNode const*>(clang::CallGraphNode const* const&)
Line
Count
Source
184
1
po_iterator<T> po_end  (const T &G) { return po_iterator<T>::end(G); }
185
186
22.2M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
22.2M
  return make_range(po_begin(G), po_end(G));
188
22.2M
}
llvm::iterator_range<llvm::po_iterator<llvm::MachineBasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineBasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineBasicBlock*> > > llvm::post_order<llvm::MachineBasicBlock*>(llvm::MachineBasicBlock* const&)
Line
Count
Source
186
2.22M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
2.22M
  return make_range(po_begin(G), po_end(G));
188
2.22M
}
llvm::iterator_range<llvm::po_iterator<llvm::MachineFunction*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineFunction*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineFunction*> > > llvm::post_order<llvm::MachineFunction*>(llvm::MachineFunction* const&)
Line
Count
Source
186
483k
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
483k
  return make_range(po_begin(G), po_end(G));
188
483k
}
llvm::iterator_range<llvm::po_iterator<llvm::MachineDominatorTree*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::MachineDominatorTree*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::MachineDominatorTree*> > > llvm::post_order<llvm::MachineDominatorTree*>(llvm::MachineDominatorTree* const&)
Line
Count
Source
186
278k
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
278k
  return make_range(po_begin(G), po_end(G));
188
278k
}
llvm::iterator_range<llvm::po_iterator<llvm::BasicBlock const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock const*> > > llvm::post_order<llvm::BasicBlock const*>(llvm::BasicBlock const* const&)
Line
Count
Source
186
2.75M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
2.75M
  return make_range(po_begin(G), po_end(G));
188
2.75M
}
llvm::iterator_range<llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock> const*> > > llvm::post_order<llvm::DomTreeNodeBase<llvm::BasicBlock> const*>(llvm::DomTreeNodeBase<llvm::BasicBlock> const* const&)
Line
Count
Source
186
6.94M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
6.94M
  return make_range(po_begin(G), po_end(G));
188
6.94M
}
llvm::iterator_range<llvm::po_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::BasicBlock*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::BasicBlock*> > > llvm::post_order<llvm::BasicBlock*>(llvm::BasicBlock* const&)
Line
Count
Source
186
7.21M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
7.21M
  return make_range(po_begin(G), po_end(G));
188
7.21M
}
llvm::iterator_range<llvm::po_iterator<llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::BasicBlock>*> > > llvm::post_order<llvm::DomTreeNodeBase<llvm::BasicBlock>*>(llvm::DomTreeNodeBase<llvm::BasicBlock>* const&)
Line
Count
Source
186
24.2k
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
24.2k
  return make_range(po_begin(G), po_end(G));
188
24.2k
}
llvm::iterator_range<llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*> > > llvm::post_order<llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock> const* const&)
Line
Count
Source
186
2.22M
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
2.22M
  return make_range(po_begin(G), po_end(G));
188
2.22M
}
llvm::iterator_range<llvm::po_iterator<llvm::Type*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Type*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Type*> > > llvm::post_order<llvm::Type*>(llvm::Type* const&)
Line
Count
Source
186
57.2k
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
57.2k
  return make_range(po_begin(G), po_end(G));
188
57.2k
}
Unexecuted instantiation: llvm::iterator_range<llvm::po_iterator<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*> > > llvm::post_order<llvm::DomTreeNodeBase<llvm::MachineBasicBlock>*>(llvm::DomTreeNodeBase<llvm::MachineBasicBlock>* const&)
llvm::iterator_range<llvm::po_iterator<llvm::Function*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::Function*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::Function*> > > llvm::post_order<llvm::Function*>(llvm::Function* const&)
Line
Count
Source
186
23.8k
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
23.8k
  return make_range(po_begin(G), po_end(G));
188
23.8k
}
llvm::iterator_range<llvm::po_iterator<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*> > > llvm::post_order<llvm::DomTreeNodeBase<llvm::VPBlockBase> const*>(llvm::DomTreeNodeBase<llvm::VPBlockBase> const* const&)
Line
Count
Source
186
18
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
18
  return make_range(po_begin(G), po_end(G));
188
18
}
llvm::iterator_range<llvm::po_iterator<llvm::VPBlockBase*, llvm::SmallPtrSet<llvm::GraphTraits<llvm::VPBlockBase*>::NodeRef, 8u>, false, llvm::GraphTraits<llvm::VPBlockBase*> > > llvm::post_order<llvm::VPBlockBase*>(llvm::VPBlockBase* const&)
Line
Count
Source
186
18
template <class T> iterator_range<po_iterator<T>> post_order(const T &G) {
187
18
  return make_range(po_begin(G), po_end(G));
188
18
}
189
190
// Provide global definitions of external postorder iterators...
191
template <class T, class SetType = std::set<typename GraphTraits<T>::NodeRef>>
192
struct po_ext_iterator : public po_iterator<T, SetType, true> {
193
  po_ext_iterator(const po_iterator<T, SetType, true> &V) :
194
1.99M
  po_iterator<T, SetType, true>(V) {}
llvm::po_ext_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal>::po_ext_iterator(llvm::po_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal, true, llvm::GraphTraits<llvm::BasicBlock*> > const&)
Line
Count
Source
194
1.70M
  po_iterator<T, SetType, true>(V) {}
MachineTraceMetrics.cpp:llvm::po_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>::po_ext_iterator(llvm::po_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::MachineBasicBlock const*> > const&)
Line
Count
Source
194
283k
  po_iterator<T, SetType, true>(V) {}
195
};
196
197
template<class T, class SetType>
198
995k
po_ext_iterator<T, SetType> po_ext_begin(T G, SetType &S) {
199
995k
  return po_ext_iterator<T, SetType>::begin(G, S);
200
995k
}
llvm::po_ext_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal> llvm::po_ext_begin<llvm::BasicBlock*, llvm::LoopBlocksTraversal>(llvm::BasicBlock*, llvm::LoopBlocksTraversal&)
Line
Count
Source
198
854k
po_ext_iterator<T, SetType> po_ext_begin(T G, SetType &S) {
199
854k
  return po_ext_iterator<T, SetType>::begin(G, S);
200
854k
}
MachineTraceMetrics.cpp:llvm::po_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds> llvm::po_ext_begin<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
198
141k
po_ext_iterator<T, SetType> po_ext_begin(T G, SetType &S) {
199
141k
  return po_ext_iterator<T, SetType>::begin(G, S);
200
141k
}
201
202
template<class T, class SetType>
203
995k
po_ext_iterator<T, SetType> po_ext_end(T G, SetType &S) {
204
995k
  return po_ext_iterator<T, SetType>::end(G, S);
205
995k
}
llvm::po_ext_iterator<llvm::BasicBlock*, llvm::LoopBlocksTraversal> llvm::po_ext_end<llvm::BasicBlock*, llvm::LoopBlocksTraversal>(llvm::BasicBlock*, llvm::LoopBlocksTraversal&)
Line
Count
Source
203
854k
po_ext_iterator<T, SetType> po_ext_end(T G, SetType &S) {
204
854k
  return po_ext_iterator<T, SetType>::end(G, S);
205
854k
}
MachineTraceMetrics.cpp:llvm::po_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds> llvm::po_ext_end<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>(llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds&)
Line
Count
Source
203
141k
po_ext_iterator<T, SetType> po_ext_end(T G, SetType &S) {
204
141k
  return po_ext_iterator<T, SetType>::end(G, S);
205
141k
}
206
207
template <class T, class SetType>
208
141k
iterator_range<po_ext_iterator<T, SetType>> post_order_ext(const T &G, SetType &S) {
209
141k
  return make_range(po_ext_begin(G, S), po_ext_end(G, S));
210
141k
}
211
212
// Provide global definitions of inverse post order iterators...
213
template <class T, class SetType = std::set<typename GraphTraits<T>::NodeRef>,
214
          bool External = false>
215
struct ipo_iterator : public po_iterator<Inverse<T>, SetType, External> {
216
  ipo_iterator(const po_iterator<Inverse<T>, SetType, External> &V) :
217
283k
     po_iterator<Inverse<T>, SetType, External> (V) {}
MachineTraceMetrics.cpp:llvm::ipo_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds, true>::ipo_iterator(llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > > const&)
Line
Count
Source
217
283k
     po_iterator<Inverse<T>, SetType, External> (V) {}
llvm::ipo_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true>::ipo_iterator(llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > > const&)
Line
Count
Source
217
316
     po_iterator<Inverse<T>, SetType, External> (V) {}
218
};
219
220
template <class T>
221
ipo_iterator<T> ipo_begin(const T &G) {
222
  return ipo_iterator<T>::begin(G);
223
}
224
225
template <class T>
226
ipo_iterator<T> ipo_end(const T &G){
227
  return ipo_iterator<T>::end(G);
228
}
229
230
template <class T>
231
iterator_range<ipo_iterator<T>> inverse_post_order(const T &G) {
232
  return make_range(ipo_begin(G), ipo_end(G));
233
}
234
235
// Provide global definitions of external inverse postorder iterators...
236
template <class T, class SetType = std::set<typename GraphTraits<T>::NodeRef>>
237
struct ipo_ext_iterator : public ipo_iterator<T, SetType, true> {
238
  ipo_ext_iterator(const ipo_iterator<T, SetType, true> &V) :
239
    ipo_iterator<T, SetType, true>(V) {}
240
  ipo_ext_iterator(const po_iterator<Inverse<T>, SetType, true> &V) :
241
283k
    ipo_iterator<T, SetType, true>(V) {}
MachineTraceMetrics.cpp:llvm::ipo_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>::ipo_ext_iterator(llvm::po_iterator<llvm::Inverse<llvm::MachineBasicBlock const*>, (anonymous namespace)::LoopBounds, true, llvm::GraphTraits<llvm::Inverse<llvm::MachineBasicBlock const*> > > const&)
Line
Count
Source
241
283k
    ipo_iterator<T, SetType, true>(V) {}
llvm::ipo_ext_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> >::ipo_ext_iterator(llvm::po_iterator<llvm::Inverse<llvm::BasicBlock*>, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>, true, llvm::GraphTraits<llvm::Inverse<llvm::BasicBlock*> > > const&)
Line
Count
Source
241
316
    ipo_iterator<T, SetType, true>(V) {}
242
};
243
244
template <class T, class SetType>
245
141k
ipo_ext_iterator<T, SetType> ipo_ext_begin(const T &G, SetType &S) {
246
141k
  return ipo_ext_iterator<T, SetType>::begin(G, S);
247
141k
}
MachineTraceMetrics.cpp:llvm::ipo_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds> llvm::ipo_ext_begin<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>(llvm::MachineBasicBlock const* const&, (anonymous namespace)::LoopBounds&)
Line
Count
Source
245
141k
ipo_ext_iterator<T, SetType> ipo_ext_begin(const T &G, SetType &S) {
246
141k
  return ipo_ext_iterator<T, SetType>::begin(G, S);
247
141k
}
llvm::ipo_ext_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> > llvm::ipo_ext_begin<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> >(llvm::BasicBlock* const&, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
245
158
ipo_ext_iterator<T, SetType> ipo_ext_begin(const T &G, SetType &S) {
246
158
  return ipo_ext_iterator<T, SetType>::begin(G, S);
247
158
}
248
249
template <class T, class SetType>
250
141k
ipo_ext_iterator<T, SetType> ipo_ext_end(const T &G, SetType &S) {
251
141k
  return ipo_ext_iterator<T, SetType>::end(G, S);
252
141k
}
MachineTraceMetrics.cpp:llvm::ipo_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds> llvm::ipo_ext_end<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>(llvm::MachineBasicBlock const* const&, (anonymous namespace)::LoopBounds&)
Line
Count
Source
250
141k
ipo_ext_iterator<T, SetType> ipo_ext_end(const T &G, SetType &S) {
251
141k
  return ipo_ext_iterator<T, SetType>::end(G, S);
252
141k
}
llvm::ipo_ext_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> > llvm::ipo_ext_end<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> >(llvm::BasicBlock* const&, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
250
158
ipo_ext_iterator<T, SetType> ipo_ext_end(const T &G, SetType &S) {
251
158
  return ipo_ext_iterator<T, SetType>::end(G, S);
252
158
}
253
254
template <class T, class SetType>
255
iterator_range<ipo_ext_iterator<T, SetType>>
256
141k
inverse_post_order_ext(const T &G, SetType &S) {
257
141k
  return make_range(ipo_ext_begin(G, S), ipo_ext_end(G, S));
258
141k
}
MachineTraceMetrics.cpp:llvm::iterator_range<llvm::ipo_ext_iterator<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds> > llvm::inverse_post_order_ext<llvm::MachineBasicBlock const*, (anonymous namespace)::LoopBounds>(llvm::MachineBasicBlock const* const&, (anonymous namespace)::LoopBounds&)
Line
Count
Source
256
141k
inverse_post_order_ext(const T &G, SetType &S) {
257
141k
  return make_range(ipo_ext_begin(G, S), ipo_ext_end(G, S));
258
141k
}
llvm::iterator_range<llvm::ipo_ext_iterator<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> > > llvm::inverse_post_order_ext<llvm::BasicBlock*, llvm::SmallPtrSet<llvm::BasicBlock*, 16u> >(llvm::BasicBlock* const&, llvm::SmallPtrSet<llvm::BasicBlock*, 16u>&)
Line
Count
Source
256
158
inverse_post_order_ext(const T &G, SetType &S) {
257
158
  return make_range(ipo_ext_begin(G, S), ipo_ext_end(G, S));
258
158
}
259
260
//===--------------------------------------------------------------------===//
261
// Reverse Post Order CFG iterator code
262
//===--------------------------------------------------------------------===//
263
//
264
// This is used to visit basic blocks in a method in reverse post order.  This
265
// class is awkward to use because I don't know a good incremental algorithm to
266
// computer RPO from a graph.  Because of this, the construction of the
267
// ReversePostOrderTraversal object is expensive (it must walk the entire graph
268
// with a postorder iterator to build the data structures).  The moral of this
269
// story is: Don't create more ReversePostOrderTraversal classes than necessary.
270
//
271
// Because it does the traversal in its constructor, it won't invalidate when
272
// BasicBlocks are removed, *but* it may contain erased blocks. Some places
273
// rely on this behavior (i.e. GVN).
274
//
275
// This class should be used like this:
276
// {
277
//   ReversePostOrderTraversal<Function*> RPOT(FuncPtr); // Expensive to create
278
//   for (rpo_iterator I = RPOT.begin(); I != RPOT.end(); ++I) {
279
//      ...
280
//   }
281
//   for (rpo_iterator I = RPOT.begin(); I != RPOT.end(); ++I) {
282
//      ...
283
//   }
284
// }
285
//
286
287
template<class GraphT, class GT = GraphTraits<GraphT>>
288
class ReversePostOrderTraversal {
289
  using NodeRef = typename GT::NodeRef;
290
291
  std::vector<NodeRef> Blocks; // Block list in normal PO order
292
293
3.27M
  void Initialize(NodeRef BB) {
294
3.27M
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
3.27M
  }
llvm::ReversePostOrderTraversal<llvm::MachineFunction*, llvm::GraphTraits<llvm::MachineFunction*> >::Initialize(llvm::MachineBasicBlock*)
Line
Count
Source
293
690k
  void Initialize(NodeRef BB) {
294
690k
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
690k
  }
llvm::ReversePostOrderTraversal<llvm::MachineFunction const*, llvm::GraphTraits<llvm::MachineFunction const*> >::Initialize(llvm::MachineBasicBlock const*)
Line
Count
Source
293
5.01k
  void Initialize(NodeRef BB) {
294
5.01k
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
5.01k
  }
llvm::ReversePostOrderTraversal<llvm::Function*, llvm::GraphTraits<llvm::Function*> >::Initialize(llvm::BasicBlock*)
Line
Count
Source
293
1.41M
  void Initialize(NodeRef BB) {
294
1.41M
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
1.41M
  }
llvm::ReversePostOrderTraversal<llvm::Function const*, llvm::GraphTraits<llvm::Function const*> >::Initialize(llvm::BasicBlock const*)
Line
Count
Source
293
523k
  void Initialize(NodeRef BB) {
294
523k
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
523k
  }
llvm::ReversePostOrderTraversal<llvm::MachineBasicBlock*, llvm::GraphTraits<llvm::MachineBasicBlock*> >::Initialize(llvm::MachineBasicBlock*)
Line
Count
Source
293
631k
  void Initialize(NodeRef BB) {
294
631k
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
631k
  }
llvm::ReversePostOrderTraversal<llvm::BasicBlock*, llvm::GraphTraits<llvm::BasicBlock*> >::Initialize(llvm::BasicBlock*)
Line
Count
Source
293
72
  void Initialize(NodeRef BB) {
294
72
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
72
  }
llvm::ReversePostOrderTraversal<llvm::Region*, llvm::GraphTraits<llvm::Region*> >::Initialize(llvm::RegionNode*)
Line
Count
Source
293
10.2k
  void Initialize(NodeRef BB) {
294
10.2k
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
10.2k
  }
llvm::ReversePostOrderTraversal<llvm::VPBlockBase*, llvm::GraphTraits<llvm::VPBlockBase*> >::Initialize(llvm::VPBlockBase*)
Line
Count
Source
293
336
  void Initialize(NodeRef BB) {
294
336
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
336
  }
llvm::ReversePostOrderTraversal<clang::CallGraph*, llvm::GraphTraits<clang::CallGraph*> >::Initialize(clang::CallGraphNode*)
Line
Count
Source
293
801
  void Initialize(NodeRef BB) {
294
801
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
801
  }
llvm::ReversePostOrderTraversal<clang::CallGraph const*, llvm::GraphTraits<clang::CallGraph const*> >::Initialize(clang::CallGraphNode const*)
Line
Count
Source
293
1
  void Initialize(NodeRef BB) {
294
1
    std::copy(po_begin(BB), po_end(BB), std::back_inserter(Blocks));
295
1
  }
296
297
public:
298
  using rpo_iterator = typename std::vector<NodeRef>::reverse_iterator;
299
  using const_rpo_iterator = typename std::vector<NodeRef>::const_reverse_iterator;
300
301
3.27M
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction*, llvm::GraphTraits<llvm::MachineFunction*> >::ReversePostOrderTraversal(llvm::MachineFunction*)
Line
Count
Source
301
690k
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction const*, llvm::GraphTraits<llvm::MachineFunction const*> >::ReversePostOrderTraversal(llvm::MachineFunction const*)
Line
Count
Source
301
5.01k
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::Function*, llvm::GraphTraits<llvm::Function*> >::ReversePostOrderTraversal(llvm::Function*)
Line
Count
Source
301
1.41M
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::Function const*, llvm::GraphTraits<llvm::Function const*> >::ReversePostOrderTraversal(llvm::Function const*)
Line
Count
Source
301
523k
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::MachineBasicBlock*, llvm::GraphTraits<llvm::MachineBasicBlock*> >::ReversePostOrderTraversal(llvm::MachineBasicBlock*)
Line
Count
Source
301
631k
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::BasicBlock*, llvm::GraphTraits<llvm::BasicBlock*> >::ReversePostOrderTraversal(llvm::BasicBlock*)
Line
Count
Source
301
72
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::Region*, llvm::GraphTraits<llvm::Region*> >::ReversePostOrderTraversal(llvm::Region*)
Line
Count
Source
301
10.2k
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<llvm::VPBlockBase*, llvm::GraphTraits<llvm::VPBlockBase*> >::ReversePostOrderTraversal(llvm::VPBlockBase*)
Line
Count
Source
301
336
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<clang::CallGraph*, llvm::GraphTraits<clang::CallGraph*> >::ReversePostOrderTraversal(clang::CallGraph*)
Line
Count
Source
301
801
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
llvm::ReversePostOrderTraversal<clang::CallGraph const*, llvm::GraphTraits<clang::CallGraph const*> >::ReversePostOrderTraversal(clang::CallGraph const*)
Line
Count
Source
301
1
  ReversePostOrderTraversal(GraphT G) { Initialize(GT::getEntryNode(G)); }
302
303
  // Because we want a reverse post order, use reverse iterators from the vector
304
4.46M
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction*, llvm::GraphTraits<llvm::MachineFunction*> >::begin()
Line
Count
Source
304
690k
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction const*, llvm::GraphTraits<llvm::MachineFunction const*> >::begin()
Line
Count
Source
304
5.01k
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::Function*, llvm::GraphTraits<llvm::Function*> >::begin()
Line
Count
Source
304
2.31M
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::MachineBasicBlock*, llvm::GraphTraits<llvm::MachineBasicBlock*> >::begin()
Line
Count
Source
304
912k
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::BasicBlock*, llvm::GraphTraits<llvm::BasicBlock*> >::begin()
Line
Count
Source
304
72
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::Region*, llvm::GraphTraits<llvm::Region*> >::begin()
Line
Count
Source
304
10.8k
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::VPBlockBase*, llvm::GraphTraits<llvm::VPBlockBase*> >::begin()
Line
Count
Source
304
956
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<llvm::Function const*, llvm::GraphTraits<llvm::Function const*> >::begin()
Line
Count
Source
304
523k
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<clang::CallGraph*, llvm::GraphTraits<clang::CallGraph*> >::begin()
Line
Count
Source
304
801
  rpo_iterator begin() { return Blocks.rbegin(); }
llvm::ReversePostOrderTraversal<clang::CallGraph const*, llvm::GraphTraits<clang::CallGraph const*> >::begin()
Line
Count
Source
304
1
  rpo_iterator begin() { return Blocks.rbegin(); }
305
117
  const_rpo_iterator begin() const { return Blocks.crbegin(); }
306
4.46M
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction*, llvm::GraphTraits<llvm::MachineFunction*> >::end()
Line
Count
Source
306
690k
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::MachineFunction const*, llvm::GraphTraits<llvm::MachineFunction const*> >::end()
Line
Count
Source
306
5.01k
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::Function*, llvm::GraphTraits<llvm::Function*> >::end()
Line
Count
Source
306
2.31M
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::MachineBasicBlock*, llvm::GraphTraits<llvm::MachineBasicBlock*> >::end()
Line
Count
Source
306
913k
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::BasicBlock*, llvm::GraphTraits<llvm::BasicBlock*> >::end()
Line
Count
Source
306
72
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::Region*, llvm::GraphTraits<llvm::Region*> >::end()
Line
Count
Source
306
10.8k
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::VPBlockBase*, llvm::GraphTraits<llvm::VPBlockBase*> >::end()
Line
Count
Source
306
956
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<llvm::Function const*, llvm::GraphTraits<llvm::Function const*> >::end()
Line
Count
Source
306
523k
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<clang::CallGraph*, llvm::GraphTraits<clang::CallGraph*> >::end()
Line
Count
Source
306
801
  rpo_iterator end() { return Blocks.rend(); }
llvm::ReversePostOrderTraversal<clang::CallGraph const*, llvm::GraphTraits<clang::CallGraph const*> >::end()
Line
Count
Source
306
1
  rpo_iterator end() { return Blocks.rend(); }
307
117
  const_rpo_iterator end() const { return Blocks.crend(); }
308
};
309
310
} // end namespace llvm
311
312
#endif // LLVM_ADT_POSTORDERITERATOR_H