Coverage Report

Created: 2017-10-03 07:32

/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/include/llvm/ADT/ilist.h
Line
Count
Source (jump to first uncovered line)
1
//==-- llvm/ADT/ilist.h - Intrusive Linked List Template ---------*- 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 defines classes to implement an intrusive doubly linked list class
11
// (i.e. each node of the list must contain a next and previous field for the
12
// list.
13
//
14
// The ilist class itself should be a plug in replacement for list.  This list
15
// replacement does not provide a constant time size() method, so be careful to
16
// use empty() when you really want to know if it's empty.
17
//
18
// The ilist class is implemented as a circular list.  The list itself contains
19
// a sentinel node, whose Next points at begin() and whose Prev points at
20
// rbegin().  The sentinel node itself serves as end() and rend().
21
//
22
//===----------------------------------------------------------------------===//
23
24
#ifndef LLVM_ADT_ILIST_H
25
#define LLVM_ADT_ILIST_H
26
27
#include "llvm/ADT/simple_ilist.h"
28
#include <cassert>
29
#include <cstddef>
30
#include <iterator>
31
32
namespace llvm {
33
34
/// Use delete by default for iplist and ilist.
35
///
36
/// Specialize this to get different behaviour for ownership-related API.  (If
37
/// you really want ownership semantics, consider using std::list or building
38
/// something like \a BumpPtrList.)
39
///
40
/// \see ilist_noalloc_traits
41
template <typename NodeTy> struct ilist_alloc_traits {
42
17.0M
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::GlobalAlias>::deleteNode(llvm::GlobalAlias*)
Line
Count
Source
42
2.43k
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::AliasSet>::deleteNode(llvm::AliasSet*)
Line
Count
Source
42
1.56M
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::IVStrideUse>::deleteNode(llvm::IVStrideUse*)
Line
Count
Source
42
899k
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::MemoryAccess>::deleteNode(llvm::MemoryAccess*)
Line
Count
Source
42
7.33M
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::BasicBlock>::deleteNode(llvm::BasicBlock*)
Line
Count
Source
42
4.55M
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::Function>::deleteNode(llvm::Function*)
Line
Count
Source
42
2.07M
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::GlobalVariable>::deleteNode(llvm::GlobalVariable*)
Line
Count
Source
42
128k
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::GlobalIFunc>::deleteNode(llvm::GlobalIFunc*)
Line
Count
Source
42
90
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::NamedMDNode>::deleteNode(llvm::NamedMDNode*)
Line
Count
Source
42
17.7k
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::PredicateBase>::deleteNode(llvm::PredicateBase*)
Line
Count
Source
42
706
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<llvm::VPRecipeBase>::deleteNode(llvm::VPRecipeBase*)
Line
Count
Source
42
451k
  static void deleteNode(NodeTy *V) { delete V; }
llvm::ilist_alloc_traits<clang::ento::BugReport>::deleteNode(clang::ento::BugReport*)
Line
Count
Source
42
7.34k
  static void deleteNode(NodeTy *V) { delete V; }
43
};
44
45
/// Custom traits to do nothing on deletion.
46
///
47
/// Specialize ilist_alloc_traits to inherit from this to disable the
48
/// non-intrusive deletion in iplist (which implies ownership).
49
///
50
/// If you want purely intrusive semantics with no callbacks, consider using \a
51
/// simple_ilist instead.
52
///
53
/// \code
54
/// template <>
55
/// struct ilist_alloc_traits<MyType> : ilist_noalloc_traits<MyType> {};
56
/// \endcode
57
template <typename NodeTy> struct ilist_noalloc_traits {
58
89.0M
  static void deleteNode(NodeTy *V) {}
59
};
60
61
/// Callbacks do nothing by default in iplist and ilist.
62
///
63
/// Specialize this for to use callbacks for when nodes change their list
64
/// membership.
65
template <typename NodeTy> struct ilist_callback_traits {
66
271M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<clang::ento::BugReport>::addNodeToList(clang::ento::BugReport*)
Line
Count
Source
66
7.34k
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::IndexListEntry>::addNodeToList(llvm::IndexListEntry*)
Line
Count
Source
66
89.0M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::SDNode>::addNodeToList(llvm::SDNode*)
Line
Count
Source
66
167M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::MCFragment>::addNodeToList(llvm::MCFragment*)
Line
Count
Source
66
5.09M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::AliasSet>::addNodeToList(llvm::AliasSet*)
Line
Count
Source
66
1.56M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::IVStrideUse>::addNodeToList(llvm::IVStrideUse*)
Line
Count
Source
66
899k
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::MemoryAccess>::addNodeToList(llvm::MemoryAccess*)
Line
Count
Source
66
7.33M
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::NamedMDNode>::addNodeToList(llvm::NamedMDNode*)
Line
Count
Source
66
52.5k
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::PredicateBase>::addNodeToList(llvm::PredicateBase*)
Line
Count
Source
66
706
  void addNodeToList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::VPRecipeBase>::addNodeToList(llvm::VPRecipeBase*)
Line
Count
Source
66
451k
  void addNodeToList(NodeTy *) {}
67
271M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::IndexListEntry>::removeNodeFromList(llvm::IndexListEntry*)
Line
Count
Source
67
89.0M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::VPRecipeBase>::removeNodeFromList(llvm::VPRecipeBase*)
Line
Count
Source
67
451k
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::PredicateBase>::removeNodeFromList(llvm::PredicateBase*)
Line
Count
Source
67
706
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::MCFragment>::removeNodeFromList(llvm::MCFragment*)
Line
Count
Source
67
5.09M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::NamedMDNode>::removeNodeFromList(llvm::NamedMDNode*)
Line
Count
Source
67
17.7k
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::MemoryAccess>::removeNodeFromList(llvm::MemoryAccess*)
Line
Count
Source
67
7.33M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::AliasSet>::removeNodeFromList(llvm::AliasSet*)
Line
Count
Source
67
1.56M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::IVStrideUse>::removeNodeFromList(llvm::IVStrideUse*)
Line
Count
Source
67
899k
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<llvm::SDNode>::removeNodeFromList(llvm::SDNode*)
Line
Count
Source
67
167M
  void removeNodeFromList(NodeTy *) {}
llvm::ilist_callback_traits<clang::ento::BugReport>::removeNodeFromList(clang::ento::BugReport*)
Line
Count
Source
67
7.34k
  void removeNodeFromList(NodeTy *) {}
68
69
  /// Callback before transferring nodes to this list.
70
  ///
71
  /// \pre \c this!=&OldList
72
  template <class Iterator>
73
  void transferNodesFromList(ilist_callback_traits &OldList, Iterator /*first*/,
74
                             Iterator /*last*/) {
75
    (void)OldList;
76
  }
77
};
78
79
/// A fragment for template traits for intrusive list that provides default
80
/// node related operations.
81
///
82
/// TODO: Remove this layer of indirection.  It's not necessary.
83
template <typename NodeTy>
84
struct ilist_node_traits : ilist_alloc_traits<NodeTy>,
85
                           ilist_callback_traits<NodeTy> {};
86
87
/// Default template traits for intrusive list.
88
///
89
/// By inheriting from this, you can easily use default implementations for all
90
/// common operations.
91
///
92
/// TODO: Remove this customization point.  Specializing ilist_traits is
93
/// already fully general.
94
template <typename NodeTy>
95
struct ilist_default_traits : public ilist_node_traits<NodeTy> {};
96
97
/// Template traits for intrusive list.
98
///
99
/// Customize callbacks and allocation semantics.
100
template <typename NodeTy>
101
struct ilist_traits : public ilist_default_traits<NodeTy> {};
102
103
/// Const traits should never be instantiated.
104
template <typename Ty> struct ilist_traits<const Ty> {};
105
106
namespace ilist_detail {
107
108
template <class T> T &make();
109
110
/// Type trait to check for a traits class that has a getNext member (as a
111
/// canary for any of the ilist_nextprev_traits API).
112
template <class TraitsT, class NodeT> struct HasGetNext {
113
  typedef char Yes[1];
114
  typedef char No[2];
115
  template <size_t N> struct SFINAE {};
116
117
  template <class U>
118
  static Yes &test(U *I, decltype(I->getNext(&make<NodeT>())) * = 0);
119
  template <class> static No &test(...);
120
121
public:
122
  static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
123
};
124
125
/// Type trait to check for a traits class that has a createSentinel member (as
126
/// a canary for any of the ilist_sentinel_traits API).
127
template <class TraitsT> struct HasCreateSentinel {
128
  typedef char Yes[1];
129
  typedef char No[2];
130
131
  template <class U>
132
  static Yes &test(U *I, decltype(I->createSentinel()) * = 0);
133
  template <class> static No &test(...);
134
135
public:
136
  static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
137
};
138
139
/// Type trait to check for a traits class that has a createNode member.
140
/// Allocation should be managed in a wrapper class, instead of in
141
/// ilist_traits.
142
template <class TraitsT, class NodeT> struct HasCreateNode {
143
  typedef char Yes[1];
144
  typedef char No[2];
145
  template <size_t N> struct SFINAE {};
146
147
  template <class U>
148
  static Yes &test(U *I, decltype(I->createNode(make<NodeT>())) * = 0);
149
  template <class> static No &test(...);
150
151
public:
152
  static const bool value = sizeof(test<TraitsT>(nullptr)) == sizeof(Yes);
153
};
154
155
template <class TraitsT, class NodeT> struct HasObsoleteCustomization {
156
  static const bool value = HasGetNext<TraitsT, NodeT>::value ||
157
                            HasCreateSentinel<TraitsT>::value ||
158
                            HasCreateNode<TraitsT, NodeT>::value;
159
};
160
161
} // end namespace ilist_detail
162
163
//===----------------------------------------------------------------------===//
164
//
165
/// A wrapper around an intrusive list with callbacks and non-intrusive
166
/// ownership.
167
///
168
/// This wraps a purely intrusive list (like simple_ilist) with a configurable
169
/// traits class.  The traits can implement callbacks and customize the
170
/// ownership semantics.
171
///
172
/// This is a subset of ilist functionality that can safely be used on nodes of
173
/// polymorphic types, i.e. a heterogeneous list with a common base class that
174
/// holds the next/prev pointers.  The only state of the list itself is an
175
/// ilist_sentinel, which holds pointers to the first and last nodes in the
176
/// list.
177
template <class IntrusiveListT, class TraitsT>
178
class iplist_impl : public TraitsT, IntrusiveListT {
179
  typedef IntrusiveListT base_list_type;
180
181
protected:
182
  typedef iplist_impl iplist_impl_type;
183
184
public:
185
  typedef typename base_list_type::pointer pointer;
186
  typedef typename base_list_type::const_pointer const_pointer;
187
  typedef typename base_list_type::reference reference;
188
  typedef typename base_list_type::const_reference const_reference;
189
  typedef typename base_list_type::value_type value_type;
190
  typedef typename base_list_type::size_type size_type;
191
  typedef typename base_list_type::difference_type difference_type;
192
  typedef typename base_list_type::iterator iterator;
193
  typedef typename base_list_type::const_iterator const_iterator;
194
  typedef typename base_list_type::reverse_iterator reverse_iterator;
195
  typedef
196
      typename base_list_type::const_reverse_iterator const_reverse_iterator;
197
198
private:
199
  // TODO: Drop this assertion and the transitive type traits anytime after
200
  // v4.0 is branched (i.e,. keep them for one release to help out-of-tree code
201
  // update).
202
  static_assert(
203
      !ilist_detail::HasObsoleteCustomization<TraitsT, value_type>::value,
204
      "ilist customization points have changed!");
205
206
  static bool op_less(const_reference L, const_reference R) { return L < R; }
207
  static bool op_equal(const_reference L, const_reference R) { return L == R; }
208
209
public:
210
24.4M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::iplist_impl()
Line
Count
Source
210
932k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::iplist_impl()
Line
Count
Source
210
363k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::iplist_impl()
Line
Count
Source
210
2.78M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::iplist_impl()
Line
Count
Source
210
5.99M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::iplist_impl()
Line
Count
Source
210
598k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::iplist_impl()
Line
Count
Source
210
66.8k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::iplist_impl()
Line
Count
Source
210
8.30M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::iplist_impl()
Line
Count
Source
210
2.84M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::iplist_impl()
Line
Count
Source
210
53.6k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::iplist_impl()
Line
Count
Source
210
35.1k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::iplist_impl()
Line
Count
Source
210
111k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::iplist_impl()
Line
Count
Source
210
339
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::iplist_impl()
Line
Count
Source
210
2.16M
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::iplist_impl()
Line
Count
Source
210
53.6k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::iplist_impl()
Line
Count
Source
210
53.6k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::iplist_impl()
Line
Count
Source
210
53.6k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::iplist_impl()
Line
Count
Source
210
53.6k
  iplist_impl() = default;
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::iplist_impl()
Line
Count
Source
210
6.88k
  iplist_impl() = default;
211
212
  iplist_impl(const iplist_impl &) = delete;
213
  iplist_impl &operator=(const iplist_impl &) = delete;
214
215
  iplist_impl(iplist_impl &&X)
216
24
      : TraitsT(std::move(X)), IntrusiveListT(std::move(X)) {}
217
  iplist_impl &operator=(iplist_impl &&X) {
218
    *static_cast<TraitsT *>(this) = std::move(X);
219
    *static_cast<IntrusiveListT *>(this) = std::move(X);
220
    return *this;
221
  }
222
223
20.1M
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::~iplist_impl()
Line
Count
Source
223
36.2k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::~iplist_impl()
Line
Count
Source
223
2.15M
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::~iplist_impl()
Line
Count
Source
223
339
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::~iplist_impl()
Line
Count
Source
223
111k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::~iplist_impl()
Line
Count
Source
223
35.0k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::~iplist_impl()
Line
Count
Source
223
6.88k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::~iplist_impl()
Line
Count
Source
223
36.2k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::~iplist_impl()
Line
Count
Source
223
36.2k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::~iplist_impl()
Line
Count
Source
223
36.2k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::~iplist_impl()
Line
Count
Source
223
932k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::~iplist_impl()
Line
Count
Source
223
363k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::~iplist_impl()
Line
Count
Source
223
2.78M
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::~iplist_impl()
Line
Count
Source
223
5.99M
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::~iplist_impl()
Line
Count
Source
223
598k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::~iplist_impl()
Line
Count
Source
223
66.6k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::~iplist_impl()
Line
Count
Source
223
36.2k
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::~iplist_impl()
Line
Count
Source
223
2.14M
  ~iplist_impl() { clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::~iplist_impl()
Line
Count
Source
223
4.74M
  ~iplist_impl() { clear(); }
224
225
  // Miscellaneous inspection routines.
226
  size_type max_size() const { return size_type(-1); }
227
228
  using base_list_type::begin;
229
  using base_list_type::end;
230
  using base_list_type::rbegin;
231
  using base_list_type::rend;
232
  using base_list_type::empty;
233
  using base_list_type::front;
234
  using base_list_type::back;
235
236
  void swap(iplist_impl &RHS) {
237
    assert(0 && "Swap does not use list traits callback correctly yet!");
238
    base_list_type::swap(RHS);
239
  }
240
241
437M
  iterator insert(iterator where, pointer New) {
242
437M
    this->addNodeToList(New); // Notify traits that we added a node...
243
437M
    return base_list_type::insert(where, *New);
244
437M
  }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<clang::ento::BugReport, false, false, void>, false, false>, clang::ento::BugReport*)
Line
Count
Source
241
7.34k
  iterator insert(iterator where, pointer New) {
242
7.34k
    this->addNodeToList(New); // Notify traits that we added a node...
243
7.34k
    return base_list_type::insert(where, *New);
244
7.34k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::MachineInstr*)
Line
Count
Source
241
91.2M
  iterator insert(iterator where, pointer New) {
242
91.2M
    this->addNodeToList(New); // Notify traits that we added a node...
243
91.2M
    return base_list_type::insert(where, *New);
244
91.2M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::VPRecipeBase, false, false, void>, false, false>, llvm::VPRecipeBase*)
Line
Count
Source
241
451k
  iterator insert(iterator where, pointer New) {
242
451k
    this->addNodeToList(New); // Notify traits that we added a node...
243
451k
    return base_list_type::insert(where, *New);
244
451k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::PredicateBase, false, false, void>, false, false>, llvm::PredicateBase*)
Line
Count
Source
241
706
  iterator insert(iterator where, pointer New) {
242
706
    this->addNodeToList(New); // Notify traits that we added a node...
243
706
    return base_list_type::insert(where, *New);
244
706
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void>, false, false>, llvm::NamedMDNode*)
Line
Count
Source
241
52.5k
  iterator insert(iterator where, pointer New) {
242
52.5k
    this->addNodeToList(New); // Notify traits that we added a node...
243
52.5k
    return base_list_type::insert(where, *New);
244
52.5k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::GlobalVariable*)
Line
Count
Source
241
863k
  iterator insert(iterator where, pointer New) {
242
863k
    this->addNodeToList(New); // Notify traits that we added a node...
243
863k
    return base_list_type::insert(where, *New);
244
863k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::Function*)
Line
Count
Source
241
2.84M
  iterator insert(iterator where, pointer New) {
242
2.84M
    this->addNodeToList(New); // Notify traits that we added a node...
243
2.84M
    return base_list_type::insert(where, *New);
244
2.84M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false>, llvm::GlobalIFunc*)
Line
Count
Source
241
90
  iterator insert(iterator where, pointer New) {
242
90
    this->addNodeToList(New); // Notify traits that we added a node...
243
90
    return base_list_type::insert(where, *New);
244
90
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false>, llvm::GlobalAlias*)
Line
Count
Source
241
2.44k
  iterator insert(iterator where, pointer New) {
242
2.44k
    this->addNodeToList(New); // Notify traits that we added a node...
243
2.44k
    return base_list_type::insert(where, *New);
244
2.44k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::BasicBlock*)
Line
Count
Source
241
8.12M
  iterator insert(iterator where, pointer New) {
242
8.12M
    this->addNodeToList(New); // Notify traits that we added a node...
243
8.12M
    return base_list_type::insert(where, *New);
244
8.12M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false>, llvm::MemoryAccess*)
Line
Count
Source
241
7.33M
  iterator insert(iterator where, pointer New) {
242
7.33M
    this->addNodeToList(New); // Notify traits that we added a node...
243
7.33M
    return base_list_type::insert(where, *New);
244
7.33M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IVStrideUse, false, false, void>, false, false>, llvm::IVStrideUse*)
Line
Count
Source
241
899k
  iterator insert(iterator where, pointer New) {
242
899k
    this->addNodeToList(New); // Notify traits that we added a node...
243
899k
    return base_list_type::insert(where, *New);
244
899k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MCFragment, false, false, void>, false, false>, llvm::MCFragment*)
Line
Count
Source
241
5.09M
  iterator insert(iterator where, pointer New) {
242
5.09M
    this->addNodeToList(New); // Notify traits that we added a node...
243
5.09M
    return base_list_type::insert(where, *New);
244
5.09M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false>, llvm::SDNode*)
Line
Count
Source
241
167M
  iterator insert(iterator where, pointer New) {
242
167M
    this->addNodeToList(New); // Notify traits that we added a node...
243
167M
    return base_list_type::insert(where, *New);
244
167M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::AliasSet, false, false, void>, false, false>, llvm::AliasSet*)
Line
Count
Source
241
1.56M
  iterator insert(iterator where, pointer New) {
242
1.56M
    this->addNodeToList(New); // Notify traits that we added a node...
243
1.56M
    return base_list_type::insert(where, *New);
244
1.56M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::MachineBasicBlock*)
Line
Count
Source
241
5.99M
  iterator insert(iterator where, pointer New) {
242
5.99M
    this->addNodeToList(New); // Notify traits that we added a node...
243
5.99M
    return base_list_type::insert(where, *New);
244
5.99M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>, llvm::IndexListEntry*)
Line
Count
Source
241
89.0M
  iterator insert(iterator where, pointer New) {
242
89.0M
    this->addNodeToList(New); // Notify traits that we added a node...
243
89.0M
    return base_list_type::insert(where, *New);
244
89.0M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::insert(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::Instruction*)
Line
Count
Source
241
56.6M
  iterator insert(iterator where, pointer New) {
242
56.6M
    this->addNodeToList(New); // Notify traits that we added a node...
243
56.6M
    return base_list_type::insert(where, *New);
244
56.6M
  }
245
246
  iterator insert(iterator where, const_reference New) {
247
    return this->insert(where, new value_type(New));
248
  }
249
250
859k
  iterator insertAfter(iterator where, pointer New) {
251
859k
    if (empty())
252
0
      return insert(begin(), New);
253
859k
    else
254
859k
      return insert(++where, New);
255
859k
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::insertAfter(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>, llvm::IndexListEntry*)
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::insertAfter(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::MachineInstr*)
Line
Count
Source
250
63
  iterator insertAfter(iterator where, pointer New) {
251
63
    if (empty())
252
0
      return insert(begin(), New);
253
63
    else
254
63
      return insert(++where, New);
255
63
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::insertAfter(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::Instruction*)
Line
Count
Source
250
278k
  iterator insertAfter(iterator where, pointer New) {
251
278k
    if (empty())
252
0
      return insert(begin(), New);
253
278k
    else
254
278k
      return insert(++where, New);
255
278k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::insertAfter(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::BasicBlock*)
Line
Count
Source
250
580k
  iterator insertAfter(iterator where, pointer New) {
251
580k
    if (empty())
252
0
      return insert(begin(), New);
253
580k
    else
254
580k
      return insert(++where, New);
255
580k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::insertAfter(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::Function*)
Line
Count
Source
250
155
  iterator insertAfter(iterator where, pointer New) {
251
155
    if (empty())
252
0
      return insert(begin(), New);
253
155
    else
254
155
      return insert(++where, New);
255
155
  }
256
257
  /// Clone another list.
258
  template <class Cloner> void cloneFrom(const iplist_impl &L2, Cloner clone) {
259
    clear();
260
    for (const_reference V : L2)
261
      push_back(clone(V));
262
  }
263
264
372M
  pointer remove(iterator &IT) {
265
372M
    pointer Node = &*IT++;
266
372M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
372M
    base_list_type::remove(*Node);
268
372M
    return Node;
269
372M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>&)
Line
Count
Source
264
5.99M
  pointer remove(iterator &IT) {
265
5.99M
    pointer Node = &*IT++;
266
5.99M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
5.99M
    base_list_type::remove(*Node);
268
5.99M
    return Node;
269
5.99M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>&)
Line
Count
Source
264
89.0M
  pointer remove(iterator &IT) {
265
89.0M
    pointer Node = &*IT++;
266
89.0M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
89.0M
    base_list_type::remove(*Node);
268
89.0M
    return Node;
269
89.0M
  }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<clang::ento::BugReport, false, false, void>, false, false>&)
Line
Count
Source
264
7.34k
  pointer remove(iterator &IT) {
265
7.34k
    pointer Node = &*IT++;
266
7.34k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
7.34k
    base_list_type::remove(*Node);
268
7.34k
    return Node;
269
7.34k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::VPRecipeBase, false, false, void>, false, false>&)
Line
Count
Source
264
451k
  pointer remove(iterator &IT) {
265
451k
    pointer Node = &*IT++;
266
451k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
451k
    base_list_type::remove(*Node);
268
451k
    return Node;
269
451k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::PredicateBase, false, false, void>, false, false>&)
Line
Count
Source
264
706
  pointer remove(iterator &IT) {
265
706
    pointer Node = &*IT++;
266
706
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
706
    base_list_type::remove(*Node);
268
706
    return Node;
269
706
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MCFragment, false, false, void>, false, false>&)
Line
Count
Source
264
5.09M
  pointer remove(iterator &IT) {
265
5.09M
    pointer Node = &*IT++;
266
5.09M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
5.09M
    base_list_type::remove(*Node);
268
5.09M
    return Node;
269
5.09M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::AliasSet, false, false, void>, false, false>&)
Line
Count
Source
264
1.56M
  pointer remove(iterator &IT) {
265
1.56M
    pointer Node = &*IT++;
266
1.56M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
1.56M
    base_list_type::remove(*Node);
268
1.56M
    return Node;
269
1.56M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false>&)
Line
Count
Source
264
90
  pointer remove(iterator &IT) {
265
90
    pointer Node = &*IT++;
266
90
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
90
    base_list_type::remove(*Node);
268
90
    return Node;
269
90
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false>&)
Line
Count
Source
264
2.44k
  pointer remove(iterator &IT) {
265
2.44k
    pointer Node = &*IT++;
266
2.44k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
2.44k
    base_list_type::remove(*Node);
268
2.44k
    return Node;
269
2.44k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>&)
Line
Count
Source
264
4.55M
  pointer remove(iterator &IT) {
265
4.55M
    pointer Node = &*IT++;
266
4.55M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
4.55M
    base_list_type::remove(*Node);
268
4.55M
    return Node;
269
4.55M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false>&)
Line
Count
Source
264
7.33M
  pointer remove(iterator &IT) {
265
7.33M
    pointer Node = &*IT++;
266
7.33M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
7.33M
    base_list_type::remove(*Node);
268
7.33M
    return Node;
269
7.33M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IVStrideUse, false, false, void>, false, false>&)
Line
Count
Source
264
899k
  pointer remove(iterator &IT) {
265
899k
    pointer Node = &*IT++;
266
899k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
899k
    base_list_type::remove(*Node);
268
899k
    return Node;
269
899k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>&)
Line
Count
Source
264
2.14M
  pointer remove(iterator &IT) {
265
2.14M
    pointer Node = &*IT++;
266
2.14M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
2.14M
    base_list_type::remove(*Node);
268
2.14M
    return Node;
269
2.14M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>&)
Line
Count
Source
264
128k
  pointer remove(iterator &IT) {
265
128k
    pointer Node = &*IT++;
266
128k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
128k
    base_list_type::remove(*Node);
268
128k
    return Node;
269
128k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>&)
Line
Count
Source
264
35.8M
  pointer remove(iterator &IT) {
265
35.8M
    pointer Node = &*IT++;
266
35.8M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
35.8M
    base_list_type::remove(*Node);
268
35.8M
    return Node;
269
35.8M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false>&)
Line
Count
Source
264
167M
  pointer remove(iterator &IT) {
265
167M
    pointer Node = &*IT++;
266
167M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
167M
    base_list_type::remove(*Node);
268
167M
    return Node;
269
167M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>&)
Line
Count
Source
264
51.9M
  pointer remove(iterator &IT) {
265
51.9M
    pointer Node = &*IT++;
266
51.9M
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
51.9M
    base_list_type::remove(*Node);
268
51.9M
    return Node;
269
51.9M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void>, false, false>&)
Line
Count
Source
264
17.7k
  pointer remove(iterator &IT) {
265
17.7k
    pointer Node = &*IT++;
266
17.7k
    this->removeNodeFromList(Node); // Notify traits that we removed a node...
267
17.7k
    base_list_type::remove(*Node);
268
17.7k
    return Node;
269
17.7k
  }
270
271
139M
  pointer remove(const iterator &IT) {
272
139M
    iterator MutIt = IT;
273
139M
    return remove(MutIt);
274
139M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false> const&)
Line
Count
Source
271
221k
  pointer remove(const iterator &IT) {
272
221k
    iterator MutIt = IT;
273
221k
    return remove(MutIt);
274
221k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false> const&)
Line
Count
Source
271
137M
  pointer remove(const iterator &IT) {
272
137M
    iterator MutIt = IT;
273
137M
    return remove(MutIt);
274
137M
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false> const&)
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false> const&)
Line
Count
Source
271
9
  pointer remove(const iterator &IT) {
272
9
    iterator MutIt = IT;
273
9
    return remove(MutIt);
274
9
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false> const&)
Line
Count
Source
271
151
  pointer remove(const iterator &IT) {
272
151
    iterator MutIt = IT;
273
151
    return remove(MutIt);
274
151
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false> const&)
Line
Count
Source
271
56
  pointer remove(const iterator &IT) {
272
56
    iterator MutIt = IT;
273
56
    return remove(MutIt);
274
56
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false> const&)
Line
Count
Source
271
72.5k
  pointer remove(const iterator &IT) {
272
72.5k
    iterator MutIt = IT;
273
72.5k
    return remove(MutIt);
274
72.5k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false> const&)
Line
Count
Source
271
943k
  pointer remove(const iterator &IT) {
272
943k
    iterator MutIt = IT;
273
943k
    return remove(MutIt);
274
943k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false> const&)
Line
Count
Source
271
841
  pointer remove(const iterator &IT) {
272
841
    iterator MutIt = IT;
273
841
    return remove(MutIt);
274
841
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::remove(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false> const&)
Line
Count
Source
271
981k
  pointer remove(const iterator &IT) {
272
981k
    iterator MutIt = IT;
273
981k
    return remove(MutIt);
274
981k
  }
275
276
134M
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::remove(llvm::Instruction*)
Line
Count
Source
276
443k
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::remove(llvm::BasicBlock*)
Line
Count
Source
276
150
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::remove(llvm::MachineInstr*)
Line
Count
Source
276
7
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::remove(llvm::MemoryAccess*)
Line
Count
Source
276
56
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::remove(llvm::Function*)
Line
Count
Source
276
72.4k
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::remove(llvm::SDNode*)
Line
Count
Source
276
134M
  pointer remove(pointer IT) { return remove(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::remove(llvm::MachineBasicBlock*)
Line
Count
Source
276
221k
  pointer remove(pointer IT) { return remove(iterator(IT)); }
277
  pointer remove(reference IT) { return remove(iterator(IT)); }
278
279
  // erase - remove a node from the controlled sequence... and delete it.
280
202M
  iterator erase(iterator where) {
281
202M
    this->deleteNode(remove(where));
282
202M
    return where;
283
202M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>)
Line
Count
Source
280
34.8M
  iterator erase(iterator where) {
281
34.8M
    this->deleteNode(remove(where));
282
34.8M
    return where;
283
34.8M
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false>)
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>)
Line
Count
Source
280
128k
  iterator erase(iterator where) {
281
128k
    this->deleteNode(remove(where));
282
128k
    return where;
283
128k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false>)
Line
Count
Source
280
2.43k
  iterator erase(iterator where) {
281
2.43k
    this->deleteNode(remove(where));
282
2.43k
    return where;
283
2.43k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false>)
Line
Count
Source
280
90
  iterator erase(iterator where) {
281
90
    this->deleteNode(remove(where));
282
90
    return where;
283
90
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>)
Line
Count
Source
280
5.77M
  iterator erase(iterator where) {
281
5.77M
    this->deleteNode(remove(where));
282
5.77M
    return where;
283
5.77M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void>, false, false>)
Line
Count
Source
280
17.7k
  iterator erase(iterator where) {
281
17.7k
    this->deleteNode(remove(where));
282
17.7k
    return where;
283
17.7k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>)
Line
Count
Source
280
89.0M
  iterator erase(iterator where) {
281
89.0M
    this->deleteNode(remove(where));
282
89.0M
    return where;
283
89.0M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::AliasSet, false, false, void>, false, false>)
Line
Count
Source
280
1.56M
  iterator erase(iterator where) {
281
1.56M
    this->deleteNode(remove(where));
282
1.56M
    return where;
283
1.56M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MCFragment, false, false, void>, false, false>)
Line
Count
Source
280
5.09M
  iterator erase(iterator where) {
281
5.09M
    this->deleteNode(remove(where));
282
5.09M
    return where;
283
5.09M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::PredicateBase, false, false, void>, false, false>)
Line
Count
Source
280
706
  iterator erase(iterator where) {
281
706
    this->deleteNode(remove(where));
282
706
    return where;
283
706
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::VPRecipeBase, false, false, void>, false, false>)
Line
Count
Source
280
451k
  iterator erase(iterator where) {
281
451k
    this->deleteNode(remove(where));
282
451k
    return where;
283
451k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>)
Line
Count
Source
280
4.55M
  iterator erase(iterator where) {
281
4.55M
    this->deleteNode(remove(where));
282
4.55M
    return where;
283
4.55M
  }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<clang::ento::BugReport, false, false, void>, false, false>)
Line
Count
Source
280
7.34k
  iterator erase(iterator where) {
281
7.34k
    this->deleteNode(remove(where));
282
7.34k
    return where;
283
7.34k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false>)
Line
Count
Source
280
7.33M
  iterator erase(iterator where) {
281
7.33M
    this->deleteNode(remove(where));
282
7.33M
    return where;
283
7.33M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IVStrideUse, false, false, void>, false, false>)
Line
Count
Source
280
899k
  iterator erase(iterator where) {
281
899k
    this->deleteNode(remove(where));
282
899k
    return where;
283
899k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>)
Line
Count
Source
280
51.0M
  iterator erase(iterator where) {
281
51.0M
    this->deleteNode(remove(where));
282
51.0M
    return where;
283
51.0M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>)
Line
Count
Source
280
2.07M
  iterator erase(iterator where) {
281
2.07M
    this->deleteNode(remove(where));
282
2.07M
    return where;
283
2.07M
  }
284
285
3.19M
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::erase(llvm::GlobalAlias*)
Line
Count
Source
285
297
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::erase(llvm::BasicBlock*)
Line
Count
Source
285
114k
  iterator erase(pointer IT) { return erase(iterator(IT)); }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::erase(llvm::IndexListEntry*)
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::erase(llvm::MachineBasicBlock*)
Line
Count
Source
285
521k
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::erase(llvm::GlobalVariable*)
Line
Count
Source
285
421
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::erase(llvm::AliasSet*)
Line
Count
Source
285
102k
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::erase(llvm::Instruction*)
Line
Count
Source
285
2.35M
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::erase(llvm::Function*)
Line
Count
Source
285
100
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::erase(llvm::MemoryAccess*)
Line
Count
Source
285
96.4k
  iterator erase(pointer IT) { return erase(iterator(IT)); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::erase(llvm::IVStrideUse*)
Line
Count
Source
285
411
  iterator erase(pointer IT) { return erase(iterator(IT)); }
286
  iterator erase(reference IT) { return erase(iterator(IT)); }
287
288
  /// Remove all nodes from the list like clear(), but do not call
289
  /// removeNodeFromList() or deleteNode().
290
  ///
291
  /// This should only be used immediately before freeing nodes in bulk to
292
  /// avoid traversing the list and bringing all the nodes into cache.
293
5.31M
  void clearAndLeakNodesUnsafely() { base_list_type::clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::clearAndLeakNodesUnsafely()
Line
Count
Source
293
66.6k
  void clearAndLeakNodesUnsafely() { base_list_type::clear(); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::clearAndLeakNodesUnsafely()
Line
Count
Source
293
5.25M
  void clearAndLeakNodesUnsafely() { base_list_type::clear(); }
294
295
private:
296
  // transfer - The heart of the splice function.  Move linked list nodes from
297
  // [first, last) into position.
298
  //
299
11.1M
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
11.1M
    if (position == last)
301
23.9k
      return;
302
11.1M
303
11.0M
    
if (11.0M
this != &L211.0M
) // Notify traits we moved the nodes...
304
6.00M
      this->transferNodesFromList(L2, first, last);
305
11.1M
306
11.1M
    base_list_type::splice(position, L2, first, last);
307
11.1M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>)
Line
Count
Source
299
17.1k
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
17.1k
    if (position == last)
301
0
      return;
302
17.1k
303
17.1k
    
if (17.1k
this != &L217.1k
) // Notify traits we moved the nodes...
304
0
      this->transferNodesFromList(L2, first, last);
305
17.1k
306
17.1k
    base_list_type::splice(position, L2, first, last);
307
17.1k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>)
Line
Count
Source
299
294k
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
294k
    if (position == last)
301
0
      return;
302
294k
303
294k
    
if (294k
this != &L2294k
) // Notify traits we moved the nodes...
304
7.01k
      this->transferNodesFromList(L2, first, last);
305
294k
306
294k
    base_list_type::splice(position, L2, first, last);
307
294k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>)
Line
Count
Source
299
6.26M
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
6.26M
    if (position == last)
301
23.9k
      return;
302
6.26M
303
6.24M
    
if (6.24M
this != &L26.24M
) // Notify traits we moved the nodes...
304
3.98M
      this->transferNodesFromList(L2, first, last);
305
6.26M
306
6.26M
    base_list_type::splice(position, L2, first, last);
307
6.26M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>)
Line
Count
Source
299
296
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
296
    if (position == last)
301
0
      return;
302
296
303
296
    
if (296
this != &L2296
) // Notify traits we moved the nodes...
304
0
      this->transferNodesFromList(L2, first, last);
305
296
306
296
    base_list_type::splice(position, L2, first, last);
307
296
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>)
Line
Count
Source
299
2.38M
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
2.38M
    if (position == last)
301
0
      return;
302
2.38M
303
2.38M
    
if (2.38M
this != &L22.38M
) // Notify traits we moved the nodes...
304
2.01M
      this->transferNodesFromList(L2, first, last);
305
2.38M
306
2.38M
    base_list_type::splice(position, L2, first, last);
307
2.38M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::transfer(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>)
Line
Count
Source
299
2.14M
  void transfer(iterator position, iplist_impl &L2, iterator first, iterator last) {
300
2.14M
    if (position == last)
301
0
      return;
302
2.14M
303
2.14M
    
if (2.14M
this != &L22.14M
) // Notify traits we moved the nodes...
304
0
      this->transferNodesFromList(L2, first, last);
305
2.14M
306
2.14M
    base_list_type::splice(position, L2, first, last);
307
2.14M
  }
308
309
public:
310
  //===----------------------------------------------------------------------===
311
  // Functionality derived from other functions defined above...
312
  //
313
314
  using base_list_type::size;
315
316
74.4M
  iterator erase(iterator first, iterator last) {
317
233M
    while (first != last)
318
159M
      first = erase(first);
319
74.4M
    return last;
320
74.4M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>)
Line
Count
Source
316
9.48M
  iterator erase(iterator first, iterator last) {
317
16.8M
    while (first != last)
318
7.37M
      first = erase(first);
319
9.48M
    return last;
320
9.48M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::PredicateBase, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::PredicateBase, false, false, void>, false, false>)
Line
Count
Source
316
339
  iterator erase(iterator first, iterator last) {
317
1.04k
    while (first != last)
318
706
      first = erase(first);
319
339
    return last;
320
339
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::VPRecipeBase, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::VPRecipeBase, false, false, void>, false, false>)
Line
Count
Source
316
223k
  iterator erase(iterator first, iterator last) {
317
674k
    while (first != last)
318
451k
      first = erase(first);
319
223k
    return last;
320
223k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::SDNode, false, false, void>, false, false>)
Line
Count
Source
316
35.0k
  iterator erase(iterator first, iterator last) {
317
35.0k
    while (first != last)
318
0
      first = erase(first);
319
35.0k
    return last;
320
35.0k
  }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<clang::ento::BugReport, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<clang::ento::BugReport, false, false, void>, false, false>)
Line
Count
Source
316
6.88k
  iterator erase(iterator first, iterator last) {
317
14.2k
    while (first != last)
318
7.34k
      first = erase(first);
319
6.88k
    return last;
320
6.88k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::AliasSet, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::AliasSet, false, false, void>, false, false>)
Line
Count
Source
316
1.86M
  iterator erase(iterator first, iterator last) {
317
3.32M
    while (first != last)
318
1.46M
      first = erase(first);
319
1.86M
    return last;
320
1.86M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IndexListEntry, false, false, void>, false, false>)
Line
Count
Source
316
1.26M
  iterator erase(iterator first, iterator last) {
317
90.3M
    while (first != last)
318
89.0M
      first = erase(first);
319
1.26M
    return last;
320
1.26M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>)
Line
Count
Source
316
52.8M
  iterator erase(iterator first, iterator last) {
317
99.9M
    while (first != last)
318
47.1M
      first = erase(first);
319
52.8M
    return last;
320
52.8M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IVStrideUse, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::IVStrideUse, false, false, void>, false, false>)
Line
Count
Source
316
726k
  iterator erase(iterator first, iterator last) {
317
1.62M
    while (first != last)
318
898k
      first = erase(first);
319
726k
    return last;
320
726k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MemoryAccess, false, false, llvm::MSSAHelpers::AllAccessTag>, false, false>)
Line
Count
Source
316
2.78M
  iterator erase(iterator first, iterator last) {
317
10.0M
    while (first != last)
318
7.24M
      first = erase(first);
319
2.78M
    return last;
320
2.78M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>)
Line
Count
Source
316
598k
  iterator erase(iterator first, iterator last) {
317
598k
    while (first != last)
318
0
      first = erase(first);
319
598k
    return last;
320
598k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MCFragment, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MCFragment, false, false, void>, false, false>)
Line
Count
Source
316
2.15M
  iterator erase(iterator first, iterator last) {
317
7.25M
    while (first != last)
318
5.09M
      first = erase(first);
319
2.15M
    return last;
320
2.15M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>)
Line
Count
Source
316
2.14M
  iterator erase(iterator first, iterator last) {
317
2.14M
    while (first != last)
318
0
      first = erase(first);
319
2.14M
    return last;
320
2.14M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>)
Line
Count
Source
316
72.4k
  iterator erase(iterator first, iterator last) {
317
153k
    while (first != last)
318
80.8k
      first = erase(first);
319
72.4k
    return last;
320
72.4k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>)
Line
Count
Source
316
72.4k
  iterator erase(iterator first, iterator last) {
317
436k
    while (first != last)
318
363k
      first = erase(first);
319
72.4k
    return last;
320
72.4k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalAlias, false, false, void>, false, false>)
Line
Count
Source
316
72.4k
  iterator erase(iterator first, iterator last) {
317
74.5k
    while (first != last)
318
2.06k
      first = erase(first);
319
72.4k
    return last;
320
72.4k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalIFunc, false, false, void>, false, false>)
Line
Count
Source
316
72.4k
  iterator erase(iterator first, iterator last) {
317
72.5k
    while (first != last)
318
83
      first = erase(first);
319
72.4k
    return last;
320
72.4k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::erase(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::NamedMDNode, false, false, void>, false, false>)
Line
Count
Source
316
72.4k
  iterator erase(iterator first, iterator last) {
317
90.0k
    while (first != last)
318
17.6k
      first = erase(first);
319
72.4k
    return last;
320
72.4k
  }
321
322
27.6M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::clear()
Line
Count
Source
322
223k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::clear()
Line
Count
Source
322
2.78M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::clear()
Line
Count
Source
322
339
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::clear()
Line
Count
Source
322
2.15M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::clear()
Line
Count
Source
322
1.86M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::clear()
Line
Count
Source
322
1.26M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::clear()
Line
Count
Source
322
5.99M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::clear()
Line
Count
Source
322
726k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::clear()
Line
Count
Source
322
72.4k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::clear()
Line
Count
Source
322
6.88k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::clear()
Line
Count
Source
322
72.4k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::clear()
Line
Count
Source
322
72.4k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::clear()
Line
Count
Source
322
72.4k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::clear()
Line
Count
Source
322
72.4k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::clear()
Line
Count
Source
322
2.14M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::clear()
Line
Count
Source
322
9.48M
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::clear()
Line
Count
Source
322
598k
  void clear() { erase(begin(), end()); }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::clear()
Line
Count
Source
322
35.0k
  void clear() { erase(begin(), end()); }
323
324
  // Front and back inserters...
325
958k
  void push_front(pointer val) { insert(begin(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::push_front(llvm::MachineBasicBlock*)
Line
Count
Source
325
272
  void push_front(pointer val) { insert(begin(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::push_front(llvm::MemoryAccess*)
Line
Count
Source
325
958k
  void push_front(pointer val) { insert(begin(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::push_front(llvm::Instruction*)
Line
Count
Source
325
21
  void push_front(pointer val) { insert(begin(), val); }
326
259M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::AliasSet>, llvm::ilist_traits<llvm::AliasSet> >::push_back(llvm::AliasSet*)
Line
Count
Source
326
1.56M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::push_back(llvm::Instruction*)
Line
Count
Source
326
29.7M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::push_back(llvm::Function*)
Line
Count
Source
326
2.84M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::push_back(llvm::MachineInstr*)
Line
Count
Source
326
1.08k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::push_back(llvm::MachineBasicBlock*)
Line
Count
Source
326
5.26M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::push_back(llvm::BasicBlock*)
Line
Count
Source
326
5.40M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::push_back(llvm::GlobalVariable*)
Line
Count
Source
326
863k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalAlias>, llvm::SymbolTableListTraits<llvm::GlobalAlias> >::push_back(llvm::GlobalAlias*)
Line
Count
Source
326
2.44k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalIFunc>, llvm::SymbolTableListTraits<llvm::GlobalIFunc> >::push_back(llvm::GlobalIFunc*)
Line
Count
Source
326
90
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::NamedMDNode>, llvm::ilist_traits<llvm::NamedMDNode> >::push_back(llvm::NamedMDNode*)
Line
Count
Source
326
52.5k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::push_back(llvm::MCFragment*)
Line
Count
Source
326
13.1k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::PredicateBase>, llvm::ilist_traits<llvm::PredicateBase> >::push_back(llvm::PredicateBase*)
Line
Count
Source
326
706
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::VPRecipeBase>, llvm::ilist_traits<llvm::VPRecipeBase> >::push_back(llvm::VPRecipeBase*)
Line
Count
Source
326
451k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::SDNode>, llvm::ilist_traits<llvm::SDNode> >::push_back(llvm::SDNode*)
Line
Count
Source
326
119M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<clang::ento::BugReport>, llvm::ilist_traits<clang::ento::BugReport> >::push_back(clang::ento::BugReport*)
Line
Count
Source
326
7.34k
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IndexListEntry>, llvm::ilist_traits<llvm::IndexListEntry> >::push_back(llvm::IndexListEntry*)
Line
Count
Source
326
86.5M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >, llvm::ilist_traits<llvm::MemoryAccess> >::push_back(llvm::MemoryAccess*)
Line
Count
Source
326
6.37M
  void push_back(pointer val) { insert(end(), val); }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::push_back(llvm::IVStrideUse*)
Line
Count
Source
326
899k
  void push_back(pointer val) { insert(end(), val); }
327
58.9k
  void pop_front() {
328
58.9k
    assert(!empty() && "pop_front() on empty list!");
329
58.9k
    erase(begin());
330
58.9k
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::pop_front()
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::pop_front()
Line
Count
Source
327
58.9k
  void pop_front() {
328
58.9k
    assert(!empty() && "pop_front() on empty list!");
329
58.9k
    erase(begin());
330
58.9k
  }
331
904k
  void pop_back() {
332
904k
    assert(!empty() && "pop_back() on empty list!");
333
904k
    iterator t = end(); erase(--t);
334
904k
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::pop_back()
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::pop_back()
Line
Count
Source
331
152k
  void pop_back() {
332
152k
    assert(!empty() && "pop_back() on empty list!");
333
152k
    iterator t = end(); erase(--t);
334
152k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::IVStrideUse>, llvm::ilist_traits<llvm::IVStrideUse> >::pop_back()
Line
Count
Source
331
571
  void pop_back() {
332
571
    assert(!empty() && "pop_back() on empty list!");
333
571
    iterator t = end(); erase(--t);
334
571
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::pop_back()
Line
Count
Source
331
751k
  void pop_back() {
332
751k
    assert(!empty() && "pop_back() on empty list!");
333
751k
    iterator t = end(); erase(--t);
334
751k
  }
335
336
  // Special forms of insert...
337
215
  template<class InIt> void insert(iterator where, InIt first, InIt last) {
338
217
    for (; 
first != last217
;
++first2
)
insert(where, *first)2
;
339
215
  }
340
341
  // Splice members - defined in terms of transfer...
342
1.15M
  void splice(iterator where, iplist_impl &L2) {
343
1.15M
    if (!L2.empty())
344
1.03M
      transfer(where, L2, L2.begin(), L2.end());
345
1.15M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >&)
Line
Count
Source
342
7.01k
  void splice(iterator where, iplist_impl &L2) {
343
7.01k
    if (!L2.empty())
344
7.01k
      transfer(where, L2, L2.begin(), L2.end());
345
7.01k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >&)
Line
Count
Source
342
1.14M
  void splice(iterator where, iplist_impl &L2) {
343
1.14M
    if (!L2.empty())
344
1.02M
      transfer(where, L2, L2.begin(), L2.end());
345
1.14M
  }
346
3.47M
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
3.47M
    iterator last = first; ++last;
348
3.47M
    if (
where == first || 3.47M
where == last3.43M
)
return294k
; // No change
349
3.18M
    transfer(where, L2, first, last);
350
3.18M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>)
Line
Count
Source
346
2.14M
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
2.14M
    iterator last = first; ++last;
348
2.14M
    if (
where == first || 2.14M
where == last2.14M
)
return0
; // No change
349
2.14M
    transfer(where, L2, first, last);
350
2.14M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>)
Line
Count
Source
346
418k
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
418k
    iterator last = first; ++last;
348
418k
    if (
where == first || 418k
where == last393k
)
return241k
; // No change
349
177k
    transfer(where, L2, first, last);
350
177k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>)
Line
Count
Source
346
29.5k
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
29.5k
    iterator last = first; ++last;
348
29.5k
    if (
where == first || 29.5k
where == last29.5k
)
return12.3k
; // No change
349
17.1k
    transfer(where, L2, first, last);
350
17.1k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>)
Line
Count
Source
346
350
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
350
    iterator last = first; ++last;
348
350
    if (
where == first || 350
where == last350
)
return54
; // No change
349
296
    transfer(where, L2, first, last);
350
296
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>)
Line
Count
Source
346
888k
  void splice(iterator where, iplist_impl &L2, iterator first) {
347
888k
    iterator last = first; ++last;
348
888k
    if (
where == first || 888k
where == last866k
)
return39.9k
; // No change
349
848k
    transfer(where, L2, first, last);
350
848k
  }
351
6.91M
  void splice(iterator where, iplist_impl &L2, iterator first, iterator last) {
352
6.91M
    if (
first != last6.91M
)
transfer(where, L2, first, last)6.88M
;
353
6.91M
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>)
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineInstr, true, true, void>, false, false>)
Line
Count
Source
351
6.27M
  void splice(iterator where, iplist_impl &L2, iterator first, iterator last) {
352
6.27M
    if (
first != last6.27M
)
transfer(where, L2, first, last)6.26M
;
353
6.27M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>)
Line
Count
Source
351
530k
  void splice(iterator where, iplist_impl &L2, iterator first, iterator last) {
352
530k
    if (
first != last530k
)
transfer(where, L2, first, last)508k
;
353
530k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >&, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>)
Line
Count
Source
351
110k
  void splice(iterator where, iplist_impl &L2, iterator first, iterator last) {
352
110k
    if (
first != last110k
)
transfer(where, L2, first, last)110k
;
353
110k
  }
354
13
  void splice(iterator where, iplist_impl &L2, reference N) {
355
13
    splice(where, L2, iterator(N));
356
13
  }
357
2.03M
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
2.03M
    splice(where, L2, iterator(N));
359
2.03M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >&, llvm::Instruction*)
Line
Count
Source
357
72.8k
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
72.8k
    splice(where, L2, iterator(N));
359
72.8k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::GlobalVariable, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::GlobalVariable>, llvm::SymbolTableListTraits<llvm::GlobalVariable> >&, llvm::GlobalVariable*)
Line
Count
Source
357
350
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
350
    splice(where, L2, iterator(N));
359
350
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Function, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::Function>, llvm::SymbolTableListTraits<llvm::Function> >&, llvm::Function*)
Line
Count
Source
357
29.5k
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
29.5k
    splice(where, L2, iterator(N));
359
29.5k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::MachineBasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >&, llvm::MachineBasicBlock*)
Line
Count
Source
357
1.67M
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
1.67M
    splice(where, L2, iterator(N));
359
1.67M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::splice(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >&, llvm::BasicBlock*)
Line
Count
Source
357
258k
  void splice(iterator where, iplist_impl &L2, pointer N) {
358
258k
    splice(where, L2, iterator(N));
359
258k
  }
360
361
  template <class Compare>
362
  void merge(iplist_impl &Right, Compare comp) {
363
    if (this == &Right)
364
      return;
365
    this->transferNodesFromList(Right, Right.begin(), Right.end());
366
    base_list_type::merge(Right, comp);
367
  }
368
  void merge(iplist_impl &Right) { return merge(Right, op_less); }
369
370
  using base_list_type::sort;
371
372
  /// \brief Get the previous node, or \c nullptr for the list head.
373
39.3M
  pointer getPrevNode(reference N) const {
374
39.3M
    auto I = N.getIterator();
375
39.3M
    if (I == begin())
376
1.28M
      return nullptr;
377
38.0M
    return &*std::prev(I);
378
39.3M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MCFragment>, llvm::ilist_traits<llvm::MCFragment> >::getPrevNode(llvm::MCFragment&) const
Line
Count
Source
373
4.39M
  pointer getPrevNode(reference N) const {
374
4.39M
    auto I = N.getIterator();
375
4.39M
    if (I == begin())
376
420k
      return nullptr;
377
3.96M
    return &*std::prev(I);
378
4.39M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::getPrevNode(llvm::Instruction&) const
Line
Count
Source
373
34.9M
  pointer getPrevNode(reference N) const {
374
34.9M
    auto I = N.getIterator();
375
34.9M
    if (I == begin())
376
867k
      return nullptr;
377
34.0M
    return &*std::prev(I);
378
34.9M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::getPrevNode(llvm::MachineBasicBlock&) const
Line
Count
Source
373
35
  pointer getPrevNode(reference N) const {
374
35
    auto I = N.getIterator();
375
35
    if (I == begin())
376
0
      return nullptr;
377
35
    return &*std::prev(I);
378
35
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::getPrevNode(llvm::MachineInstr&) const
Line
Count
Source
373
20.3k
  pointer getPrevNode(reference N) const {
374
20.3k
    auto I = N.getIterator();
375
20.3k
    if (I == begin())
376
850
      return nullptr;
377
19.5k
    return &*std::prev(I);
378
20.3k
  }
Unexecuted instantiation: llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::getPrevNode(llvm::BasicBlock&) const
379
  /// \brief Get the previous node, or \c nullptr for the list head.
380
  const_pointer getPrevNode(const_reference N) const {
381
    return getPrevNode(const_cast<reference >(N));
382
  }
383
384
  /// \brief Get the next node, or \c nullptr for the list tail.
385
61.3M
  pointer getNextNode(reference N) const {
386
61.3M
    auto Next = std::next(N.getIterator());
387
61.3M
    if (Next == end())
388
197k
      return nullptr;
389
61.1M
    return &*Next;
390
61.3M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::Instruction>, llvm::SymbolTableListTraits<llvm::Instruction> >::getNextNode(llvm::Instruction&) const
Line
Count
Source
385
34.6M
  pointer getNextNode(reference N) const {
386
34.6M
    auto Next = std::next(N.getIterator());
387
34.6M
    if (Next == end())
388
35.0k
      return nullptr;
389
34.6M
    return &*Next;
390
34.6M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >, llvm::ilist_traits<llvm::MachineInstr> >::getNextNode(llvm::MachineInstr&) const
Line
Count
Source
385
10.7k
  pointer getNextNode(reference N) const {
386
10.7k
    auto Next = std::next(N.getIterator());
387
10.7k
    if (Next == end())
388
3
      return nullptr;
389
10.7k
    return &*Next;
390
10.7k
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::MachineBasicBlock>, llvm::ilist_traits<llvm::MachineBasicBlock> >::getNextNode(llvm::MachineBasicBlock&) const
Line
Count
Source
385
26.3M
  pointer getNextNode(reference N) const {
386
26.3M
    auto Next = std::next(N.getIterator());
387
26.3M
    if (Next == end())
388
142k
      return nullptr;
389
26.1M
    return &*Next;
390
26.3M
  }
llvm::iplist_impl<llvm::simple_ilist<llvm::BasicBlock>, llvm::SymbolTableListTraits<llvm::BasicBlock> >::getNextNode(llvm::BasicBlock&) const
Line
Count
Source
385
328k
  pointer getNextNode(reference N) const {
386
328k
    auto Next = std::next(N.getIterator());
387
328k
    if (Next == end())
388
19.7k
      return nullptr;
389
308k
    return &*Next;
390
328k
  }
391
  /// \brief Get the next node, or \c nullptr for the list tail.
392
  const_pointer getNextNode(const_reference N) const {
393
    return getNextNode(const_cast<reference >(N));
394
  }
395
};
396
397
/// An intrusive list with ownership and callbacks specified/controlled by
398
/// ilist_traits, only with API safe for polymorphic types.
399
///
400
/// The \p Options parameters are the same as those for \a simple_ilist.  See
401
/// there for a description of what's available.
402
template <class T, class... Options>
403
class iplist
404
    : public iplist_impl<simple_ilist<T, Options...>, ilist_traits<T>> {
405
  typedef typename iplist::iplist_impl_type iplist_impl_type;
406
407
public:
408
13.1M
  iplist() = default;
llvm::iplist<llvm::SDNode>::iplist()
Line
Count
Source
408
35.1k
  iplist() = default;
llvm::iplist<llvm::IndexListEntry>::iplist()
Line
Count
Source
408
66.8k
  iplist() = default;
llvm::iplist<llvm::MachineBasicBlock>::iplist()
Line
Count
Source
408
598k
  iplist() = default;
llvm::iplist<llvm::MachineInstr, llvm::ilist_sentinel_tracking<true> >::iplist()
Line
Count
Source
408
5.99M
  iplist() = default;
llvm::iplist<llvm::MemoryAccess, llvm::ilist_tag<llvm::MSSAHelpers::AllAccessTag> >::iplist()
Line
Count
Source
408
2.78M
  iplist() = default;
llvm::iplist<llvm::IVStrideUse>::iplist()
Line
Count
Source
408
363k
  iplist() = default;
llvm::iplist<llvm::AliasSet>::iplist()
Line
Count
Source
408
932k
  iplist() = default;
llvm::iplist<clang::ento::BugReport>::iplist()
Line
Count
Source
408
6.88k
  iplist() = default;
llvm::iplist<llvm::MCFragment>::iplist()
Line
Count
Source
408
2.16M
  iplist() = default;
llvm::iplist<llvm::PredicateBase>::iplist()
Line
Count
Source
408
339
  iplist() = default;
llvm::iplist<llvm::VPRecipeBase>::iplist()
Line
Count
Source
408
111k
  iplist() = default;
llvm::iplist<llvm::NamedMDNode>::iplist()
Line
Count
Source
408
53.6k
  iplist() = default;
409
410
  iplist(const iplist &X) = delete;
411
  iplist &operator=(const iplist &X) = delete;
412
413
24
  iplist(iplist &&X) : iplist_impl_type(std::move(X)) {}
414
  iplist &operator=(iplist &&X) {
415
    *static_cast<iplist_impl_type *>(this) = std::move(X);
416
    return *this;
417
  }
418
};
419
420
template <class T, class... Options> using ilist = iplist<T, Options...>;
421
422
} // end namespace llvm
423
424
namespace std {
425
426
  // Ensure that swap uses the fast list swap...
427
  template<class Ty>
428
  void swap(llvm::iplist<Ty> &Left, llvm::iplist<Ty> &Right) {
429
    Left.swap(Right);
430
  }
431
432
} // end namespace std
433
434
#endif // LLVM_ADT_ILIST_H