/Users/buildslave/jenkins/sharedspace/clang-stage2-coverage-R@2/llvm/include/llvm/IR/ValueMap.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- ValueMap.h - Safe map from Values to data ----------------*- 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 the ValueMap class. ValueMap maps Value* or any subclass |
11 | | // to an arbitrary other type. It provides the DenseMap interface but updates |
12 | | // itself to remain safe when keys are RAUWed or deleted. By default, when a |
13 | | // key is RAUWed from V1 to V2, the old mapping V1->target is removed, and a new |
14 | | // mapping V2->target is added. If V2 already existed, its old target is |
15 | | // overwritten. When a key is deleted, its mapping is removed. |
16 | | // |
17 | | // You can override a ValueMap's Config parameter to control exactly what |
18 | | // happens on RAUW and destruction and to get called back on each event. It's |
19 | | // legal to call back into the ValueMap from a Config's callbacks. Config |
20 | | // parameters should inherit from ValueMapConfig<KeyT> to get default |
21 | | // implementations of all the methods ValueMap uses. See ValueMapConfig for |
22 | | // documentation of the functions you can override. |
23 | | // |
24 | | //===----------------------------------------------------------------------===// |
25 | | |
26 | | #ifndef LLVM_IR_VALUEMAP_H |
27 | | #define LLVM_IR_VALUEMAP_H |
28 | | |
29 | | #include "llvm/ADT/DenseMap.h" |
30 | | #include "llvm/ADT/DenseMapInfo.h" |
31 | | #include "llvm/ADT/None.h" |
32 | | #include "llvm/ADT/Optional.h" |
33 | | #include "llvm/IR/TrackingMDRef.h" |
34 | | #include "llvm/IR/ValueHandle.h" |
35 | | #include "llvm/Support/Casting.h" |
36 | | #include "llvm/Support/Mutex.h" |
37 | | #include "llvm/Support/UniqueLock.h" |
38 | | #include <algorithm> |
39 | | #include <cassert> |
40 | | #include <cstddef> |
41 | | #include <iterator> |
42 | | #include <type_traits> |
43 | | #include <utility> |
44 | | |
45 | | namespace llvm { |
46 | | |
47 | | template<typename KeyT, typename ValueT, typename Config> |
48 | | class ValueMapCallbackVH; |
49 | | template<typename DenseMapT, typename KeyT> |
50 | | class ValueMapIterator; |
51 | | template<typename DenseMapT, typename KeyT> |
52 | | class ValueMapConstIterator; |
53 | | |
54 | | /// This class defines the default behavior for configurable aspects of |
55 | | /// ValueMap<>. User Configs should inherit from this class to be as compatible |
56 | | /// as possible with future versions of ValueMap. |
57 | | template<typename KeyT, typename MutexT = sys::Mutex> |
58 | | struct ValueMapConfig { |
59 | | using mutex_type = MutexT; |
60 | | |
61 | | /// If FollowRAUW is true, the ValueMap will update mappings on RAUW. If it's |
62 | | /// false, the ValueMap will leave the original mapping in place. |
63 | | enum { FollowRAUW = true }; |
64 | | |
65 | | // All methods will be called with a first argument of type ExtraData. The |
66 | | // default implementations in this class take a templated first argument so |
67 | | // that users' subclasses can use any type they want without having to |
68 | | // override all the defaults. |
69 | | struct ExtraData {}; |
70 | | |
71 | | template<typename ExtraDataT> |
72 | 156k | static void onRAUW(const ExtraDataT & /*Data*/, KeyT /*Old*/, KeyT /*New*/) {} void llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Function*, llvm::Function*) Line | Count | Source | 72 | 2 | static void onRAUW(const ExtraDataT & /*Data*/, KeyT /*Old*/, KeyT /*New*/) {} |
void llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalValue*, llvm::GlobalValue*) Line | Count | Source | 72 | 1 | static void onRAUW(const ExtraDataT & /*Data*/, KeyT /*Old*/, KeyT /*New*/) {} |
Unexecuted instantiation: void llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalValue const*, llvm::GlobalValue const*) void llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Value*, llvm::Value*) Line | Count | Source | 72 | 3 | static void onRAUW(const ExtraDataT & /*Data*/, KeyT /*Old*/, KeyT /*New*/) {} |
Unexecuted instantiation: void llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Constant*, llvm::Constant*) Unexecuted instantiation: void llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalVariable*, llvm::GlobalVariable*) Unexecuted instantiation: void llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::AllocaInst const*, llvm::AllocaInst const*) void llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::onRAUW<llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Value const*, llvm::Value const*) Line | Count | Source | 72 | 156k | static void onRAUW(const ExtraDataT & /*Data*/, KeyT /*Old*/, KeyT /*New*/) {} |
|
73 | | template<typename ExtraDataT> |
74 | 209k | static void onDelete(const ExtraDataT &/*Data*/, KeyT /*Old*/) {} void llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Function*) Line | Count | Source | 74 | 2 | static void onDelete(const ExtraDataT &/*Data*/, KeyT /*Old*/) {} |
void llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalValue*) Line | Count | Source | 74 | 1 | static void onDelete(const ExtraDataT &/*Data*/, KeyT /*Old*/) {} |
Unexecuted instantiation: void llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalValue const*) void llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Value*) Line | Count | Source | 74 | 194k | static void onDelete(const ExtraDataT &/*Data*/, KeyT /*Old*/) {} |
Unexecuted instantiation: void llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Constant*) Unexecuted instantiation: void llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::GlobalVariable*) Unexecuted instantiation: void llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::AllocaInst const*) void llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::onDelete<llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData const&, llvm::Value const*) Line | Count | Source | 74 | 14.7k | static void onDelete(const ExtraDataT &/*Data*/, KeyT /*Old*/) {} |
|
75 | | |
76 | | /// Returns a mutex that should be acquired around any changes to the map. |
77 | | /// This is only acquired from the CallbackVH (and held around calls to onRAUW |
78 | | /// and onDelete) and not inside other ValueMap methods. NULL means that no |
79 | | /// mutex is necessary. |
80 | | template<typename ExtraDataT> |
81 | 365k | static mutex_type *getMutex(const ExtraDataT &/*Data*/) { return nullptr; } Unexecuted instantiation: llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> >::ExtraData const&) Unexecuted instantiation: llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> >::ExtraData const&) llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> >::ExtraData const&) Line | Count | Source | 81 | 194k | static mutex_type *getMutex(const ExtraDataT &/*Data*/) { return nullptr; } |
Unexecuted instantiation: llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> >::ExtraData const&) llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::GlobalValue*, llvm::sys::SmartMutex<false> >::ExtraData const&) Line | Count | Source | 81 | 2 | static mutex_type *getMutex(const ExtraDataT &/*Data*/) { return nullptr; } |
llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> >::ExtraData const&) Line | Count | Source | 81 | 4 | static mutex_type *getMutex(const ExtraDataT &/*Data*/) { return nullptr; } |
llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> >::ExtraData const&) Line | Count | Source | 81 | 170k | static mutex_type *getMutex(const ExtraDataT &/*Data*/) { return nullptr; } |
Unexecuted instantiation: llvm::sys::SmartMutex<false>* llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::getMutex<llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData>(llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> >::ExtraData const&) |
82 | | }; |
83 | | |
84 | | /// See the file comment. |
85 | | template<typename KeyT, typename ValueT, typename Config =ValueMapConfig<KeyT>> |
86 | | class ValueMap { |
87 | | friend class ValueMapCallbackVH<KeyT, ValueT, Config>; |
88 | | |
89 | | using ValueMapCVH = ValueMapCallbackVH<KeyT, ValueT, Config>; |
90 | | using MapT = DenseMap<ValueMapCVH, ValueT, DenseMapInfo<ValueMapCVH>>; |
91 | | using MDMapT = DenseMap<const Metadata *, TrackingMDRef>; |
92 | | using ExtraData = typename Config::ExtraData; |
93 | | |
94 | | MapT Map; |
95 | | Optional<MDMapT> MDMap; |
96 | | ExtraData Data; |
97 | | bool MayMapMetadata = true; |
98 | | |
99 | | public: |
100 | | using key_type = KeyT; |
101 | | using mapped_type = ValueT; |
102 | | using value_type = std::pair<KeyT, ValueT>; |
103 | | using size_type = unsigned; |
104 | | |
105 | | explicit ValueMap(unsigned NumInitBuckets = 64) |
106 | 2.42M | : Map(NumInitBuckets), Data() {} llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 865k | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 233 | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 233 | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 833k | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 32.9k | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 661k | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 33.5k | : Map(NumInitBuckets), Data() {} |
llvm::ValueMap<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::ValueMap(unsigned int) Line | Count | Source | 106 | 46 | : Map(NumInitBuckets), Data() {} |
MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::ValueMap(unsigned int) Line | Count | Source | 106 | 45 | : Map(NumInitBuckets), Data() {} |
|
107 | | explicit ValueMap(const ExtraData &Data, unsigned NumInitBuckets = 64) |
108 | | : Map(NumInitBuckets), Data(Data) {} |
109 | | ValueMap(const ValueMap &) = delete; |
110 | | ValueMap &operator=(const ValueMap &) = delete; |
111 | | |
112 | | bool hasMD() const { return bool(MDMap); } |
113 | 2.26k | MDMapT &MD() { |
114 | 2.26k | if (!MDMap) |
115 | 136 | MDMap.emplace(); |
116 | 2.26k | return *MDMap; |
117 | 2.26k | } |
118 | 1.75k | Optional<MDMapT> &getMDMap() { return MDMap; } |
119 | | |
120 | | bool mayMapMetadata() const { return MayMapMetadata; } |
121 | 366 | void enableMapMetadata() { MayMapMetadata = true; } |
122 | 366 | void disableMapMetadata() { MayMapMetadata = false; } |
123 | | |
124 | | /// Get the mapped metadata, if it's in the map. |
125 | 882k | Optional<Metadata *> getMappedMD(const Metadata *MD) const { |
126 | 882k | if (!MDMap) |
127 | 875k | return None; |
128 | 6.62k | auto Where = MDMap->find(MD); |
129 | 6.62k | if (Where == MDMap->end()) |
130 | 3.66k | return None; |
131 | 2.95k | return Where->second.get(); |
132 | 882k | } |
133 | | |
134 | | using iterator = ValueMapIterator<MapT, KeyT>; |
135 | | using const_iterator = ValueMapConstIterator<MapT, KeyT>; |
136 | | |
137 | 449k | inline iterator begin() { return iterator(Map.begin()); } llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::begin() Line | Count | Source | 137 | 24 | inline iterator begin() { return iterator(Map.begin()); } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::begin() Line | Count | Source | 137 | 449k | inline iterator begin() { return iterator(Map.begin()); } |
|
138 | 16.4M | inline iterator end() { return iterator(Map.end()); } MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 6 | inline iterator end() { return iterator(Map.end()); } |
llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 47 | inline iterator end() { return iterator(Map.end()); } |
llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 115 | inline iterator end() { return iterator(Map.end()); } |
llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 550k | inline iterator end() { return iterator(Map.end()); } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 15.8M | inline iterator end() { return iterator(Map.end()); } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::end() Line | Count | Source | 138 | 8.66k | inline iterator end() { return iterator(Map.end()); } |
|
139 | 276k | inline const_iterator begin() const { return const_iterator(Map.begin()); } llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::begin() const Line | Count | Source | 139 | 340 | inline const_iterator begin() const { return const_iterator(Map.begin()); } |
llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::begin() const Line | Count | Source | 139 | 276k | inline const_iterator begin() const { return const_iterator(Map.begin()); } |
|
140 | 276k | inline const_iterator end() const { return const_iterator(Map.end()); } llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::end() const Line | Count | Source | 140 | 276k | inline const_iterator end() const { return const_iterator(Map.end()); } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::end() const Line | Count | Source | 140 | 340 | inline const_iterator end() const { return const_iterator(Map.end()); } |
|
141 | | |
142 | 10.9k | bool empty() const { return Map.empty(); } llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::empty() const Line | Count | Source | 142 | 10.6k | bool empty() const { return Map.empty(); } |
llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::empty() const Line | Count | Source | 142 | 230 | bool empty() const { return Map.empty(); } |
|
143 | | size_type size() const { return Map.size(); } |
144 | | |
145 | | /// Grow the map so that it has at least Size buckets. Does not shrink |
146 | | void resize(size_t Size) { Map.resize(Size); } |
147 | | |
148 | 10.5M | void clear() { |
149 | 10.5M | Map.clear(); |
150 | 10.5M | MDMap.reset(); |
151 | 10.5M | } llvm::ValueMap<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::clear() Line | Count | Source | 148 | 45 | void clear() { | 149 | 45 | Map.clear(); | 150 | 45 | MDMap.reset(); | 151 | 45 | } |
llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::clear() Line | Count | Source | 148 | 10.5M | void clear() { | 149 | 10.5M | Map.clear(); | 150 | 10.5M | MDMap.reset(); | 151 | 10.5M | } |
llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::clear() Line | Count | Source | 148 | 22 | void clear() { | 149 | 22 | Map.clear(); | 150 | 22 | MDMap.reset(); | 151 | 22 | } |
|
152 | | |
153 | | /// Return 1 if the specified key is in the map, 0 otherwise. |
154 | 240 | size_type count(const KeyT &Val) const { |
155 | 240 | return Map.find_as(Val) == Map.end() ? 0176 : 164 ; |
156 | 240 | } |
157 | | |
158 | 15.9M | iterator find(const KeyT &Val) { |
159 | 15.9M | return iterator(Map.find_as(Val)); |
160 | 15.9M | } llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::find(llvm::Constant* const&) Line | Count | Source | 158 | 115 | iterator find(const KeyT &Val) { | 159 | 115 | return iterator(Map.find_as(Val)); | 160 | 115 | } |
MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::find(llvm::Function* const&) Line | Count | Source | 158 | 14 | iterator find(const KeyT &Val) { | 159 | 14 | return iterator(Map.find_as(Val)); | 160 | 14 | } |
llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::find(llvm::GlobalVariable* const&) Line | Count | Source | 158 | 23 | iterator find(const KeyT &Val) { | 159 | 23 | return iterator(Map.find_as(Val)); | 160 | 23 | } |
llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::find(llvm::Value* const&) Line | Count | Source | 158 | 550k | iterator find(const KeyT &Val) { | 159 | 550k | return iterator(Map.find_as(Val)); | 160 | 550k | } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::find(llvm::Value const* const&) Line | Count | Source | 158 | 15.4M | iterator find(const KeyT &Val) { | 159 | 15.4M | return iterator(Map.find_as(Val)); | 160 | 15.4M | } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::find(llvm::AllocaInst const* const&) Line | Count | Source | 158 | 8.66k | iterator find(const KeyT &Val) { | 159 | 8.66k | return iterator(Map.find_as(Val)); | 160 | 8.66k | } |
|
161 | | const_iterator find(const KeyT &Val) const { |
162 | | return const_iterator(Map.find_as(Val)); |
163 | | } |
164 | | |
165 | | /// lookup - Return the entry for the specified key, or a default |
166 | | /// constructed value if no such entry exists. |
167 | 1.99M | ValueT lookup(const KeyT &Val) const { |
168 | 1.99M | typename MapT::const_iterator I = Map.find_as(Val); |
169 | 1.99M | return I != Map.end() ? I->second1.73M : ValueT()257k ; |
170 | 1.99M | } llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::lookup(llvm::Value const* const&) const Line | Count | Source | 167 | 1.97M | ValueT lookup(const KeyT &Val) const { | 168 | 1.97M | typename MapT::const_iterator I = Map.find_as(Val); | 169 | 1.97M | return I != Map.end() ? I->second1.72M : ValueT()253k ; | 170 | 1.97M | } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::lookup(llvm::AllocaInst const* const&) const Line | Count | Source | 167 | 13.6k | ValueT lookup(const KeyT &Val) const { | 168 | 13.6k | typename MapT::const_iterator I = Map.find_as(Val); | 169 | 13.6k | return I != Map.end() ? I->second8.96k : ValueT()4.72k ; | 170 | 13.6k | } |
|
171 | | |
172 | | // Inserts key,value pair into the map if the key isn't already in the map. |
173 | | // If the key is already in the map, it returns false and doesn't update the |
174 | | // value. |
175 | | std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) { |
176 | | auto MapResult = Map.insert(std::make_pair(Wrap(KV.first), KV.second)); |
177 | | return std::make_pair(iterator(MapResult.first), MapResult.second); |
178 | | } |
179 | | |
180 | 254k | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { |
181 | 254k | auto MapResult = |
182 | 254k | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); |
183 | 254k | return std::make_pair(iterator(MapResult.first), MapResult.second); |
184 | 254k | } Unexecuted instantiation: llvm::ValueMap<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> > >&&) Unexecuted instantiation: llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::Value*, llvm::Value*>&&) llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags>&&) Line | Count | Source | 180 | 92.7k | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { | 181 | 92.7k | auto MapResult = | 182 | 92.7k | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); | 183 | 92.7k | return std::make_pair(iterator(MapResult.first), MapResult.second); | 184 | 92.7k | } |
Unexecuted instantiation: llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::Constant*, llvm::Value*>&&) Unexecuted instantiation: llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::GlobalVariable*, llvm::GlobalVariable*>&&) MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> >&&) Line | Count | Source | 180 | 100 | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { | 181 | 100 | auto MapResult = | 182 | 100 | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); | 183 | 100 | return std::make_pair(iterator(MapResult.first), MapResult.second); | 184 | 100 | } |
llvm::ValueMap<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::insert(std::__1::pair<llvm::GlobalValue*, unsigned long long>&&) Line | Count | Source | 180 | 16 | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { | 181 | 16 | auto MapResult = | 182 | 16 | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); | 183 | 16 | return std::make_pair(iterator(MapResult.first), MapResult.second); | 184 | 16 | } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind>&&) Line | Count | Source | 180 | 5.51k | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { | 181 | 5.51k | auto MapResult = | 182 | 5.51k | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); | 183 | 5.51k | return std::make_pair(iterator(MapResult.first), MapResult.second); | 184 | 5.51k | } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::insert(std::__1::pair<llvm::Value const*, llvm::WeakTrackingVH>&&) Line | Count | Source | 180 | 156k | std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) { | 181 | 156k | auto MapResult = | 182 | 156k | Map.insert(std::make_pair(Wrap(KV.first), std::move(KV.second))); | 183 | 156k | return std::make_pair(iterator(MapResult.first), MapResult.second); | 184 | 156k | } |
|
185 | | |
186 | | /// insert - Range insertion of pairs. |
187 | | template<typename InputIt> |
188 | | void insert(InputIt I, InputIt E) { |
189 | | for (; I != E; ++I) |
190 | | insert(*I); |
191 | | } |
192 | | |
193 | 502 | bool erase(const KeyT &Val) { |
194 | 502 | typename MapT::iterator I = Map.find_as(Val); |
195 | 502 | if (I == Map.end()) |
196 | 0 | return false; |
197 | 502 | |
198 | 502 | Map.erase(I); |
199 | 502 | return true; |
200 | 502 | } |
201 | 339 | void erase(iterator I) { |
202 | 339 | return Map.erase(I.base()); |
203 | 339 | } MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::erase(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>) Line | Count | Source | 201 | 10 | void erase(iterator I) { | 202 | 10 | return Map.erase(I.base()); | 203 | 10 | } |
llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::erase(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>) Line | Count | Source | 201 | 26 | void erase(iterator I) { | 202 | 26 | return Map.erase(I.base()); | 203 | 26 | } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::erase(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>) Line | Count | Source | 201 | 303 | void erase(iterator I) { | 202 | 303 | return Map.erase(I.base()); | 203 | 303 | } |
|
204 | | |
205 | | value_type& FindAndConstruct(const KeyT &Key) { |
206 | | return Map.FindAndConstruct(Wrap(Key)); |
207 | | } |
208 | | |
209 | 17.0M | ValueT &operator[](const KeyT &Key) { |
210 | 17.0M | return Map[Wrap(Key)]; |
211 | 17.0M | } llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::operator[](llvm::GlobalVariable* const&) Line | Count | Source | 209 | 26 | ValueT &operator[](const KeyT &Key) { | 210 | 26 | return Map[Wrap(Key)]; | 211 | 26 | } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::operator[](llvm::Value const* const&) Line | Count | Source | 209 | 16.6M | ValueT &operator[](const KeyT &Key) { | 210 | 16.6M | return Map[Wrap(Key)]; | 211 | 16.6M | } |
llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::operator[](llvm::Value* const&) Line | Count | Source | 209 | 446k | ValueT &operator[](const KeyT &Key) { | 210 | 446k | return Map[Wrap(Key)]; | 211 | 446k | } |
llvm::ValueMap<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::operator[](llvm::GlobalValue const* const&) Line | Count | Source | 209 | 1.09k | ValueT &operator[](const KeyT &Key) { | 210 | 1.09k | return Map[Wrap(Key)]; | 211 | 1.09k | } |
llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::operator[](llvm::Constant* const&) Line | Count | Source | 209 | 78 | ValueT &operator[](const KeyT &Key) { | 210 | 78 | return Map[Wrap(Key)]; | 211 | 78 | } |
|
212 | | |
213 | | /// isPointerIntoBucketsArray - Return true if the specified pointer points |
214 | | /// somewhere into the ValueMap's array of buckets (i.e. either to a key or |
215 | | /// value in the ValueMap). |
216 | | bool isPointerIntoBucketsArray(const void *Ptr) const { |
217 | | return Map.isPointerIntoBucketsArray(Ptr); |
218 | | } |
219 | | |
220 | | /// getPointerIntoBucketsArray() - Return an opaque pointer into the buckets |
221 | | /// array. In conjunction with the previous method, this can be used to |
222 | | /// determine whether an insertion caused the ValueMap to reallocate. |
223 | | const void *getPointerIntoBucketsArray() const { |
224 | | return Map.getPointerIntoBucketsArray(); |
225 | | } |
226 | | |
227 | | private: |
228 | | // Takes a key being looked up in the map and wraps it into a |
229 | | // ValueMapCallbackVH, the actual key type of the map. We use a helper |
230 | | // function because ValueMapCVH is constructed with a second parameter. |
231 | 17.3M | ValueMapCVH Wrap(KeyT key) const { |
232 | 17.3M | // The only way the resulting CallbackVH could try to modify *this (making |
233 | 17.3M | // the const_cast incorrect) is if it gets inserted into the map. But then |
234 | 17.3M | // this function must have been called from a non-const method, making the |
235 | 17.3M | // const_cast ok. |
236 | 17.3M | return ValueMapCVH(key, const_cast<ValueMap*>(this)); |
237 | 17.3M | } llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::GlobalVariable*) const Line | Count | Source | 231 | 26 | ValueMapCVH Wrap(KeyT key) const { | 232 | 26 | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 26 | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 26 | // this function must have been called from a non-const method, making the | 235 | 26 | // const_cast ok. | 236 | 26 | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 26 | } |
llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::Constant*) const Line | Count | Source | 231 | 78 | ValueMapCVH Wrap(KeyT key) const { | 232 | 78 | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 78 | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 78 | // this function must have been called from a non-const method, making the | 235 | 78 | // const_cast ok. | 236 | 78 | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 78 | } |
llvm::ValueMap<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::Wrap(llvm::GlobalValue*) const Line | Count | Source | 231 | 16 | ValueMapCVH Wrap(KeyT key) const { | 232 | 16 | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 16 | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 16 | // this function must have been called from a non-const method, making the | 235 | 16 | // const_cast ok. | 236 | 16 | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 16 | } |
MergeFunctions.cpp:llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::Function*) const Line | Count | Source | 231 | 100 | ValueMapCVH Wrap(KeyT key) const { | 232 | 100 | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 100 | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 100 | // this function must have been called from a non-const method, making the | 235 | 100 | // const_cast ok. | 236 | 100 | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 100 | } |
llvm::ValueMap<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::GlobalValue const*) const Line | Count | Source | 231 | 1.09k | ValueMapCVH Wrap(KeyT key) const { | 232 | 1.09k | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 1.09k | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 1.09k | // this function must have been called from a non-const method, making the | 235 | 1.09k | // const_cast ok. | 236 | 1.09k | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 1.09k | } |
llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::Value*) const Line | Count | Source | 231 | 446k | ValueMapCVH Wrap(KeyT key) const { | 232 | 446k | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 446k | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 446k | // this function must have been called from a non-const method, making the | 235 | 446k | // const_cast ok. | 236 | 446k | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 446k | } |
llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::Value*) const Line | Count | Source | 231 | 92.7k | ValueMapCVH Wrap(KeyT key) const { | 232 | 92.7k | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 92.7k | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 92.7k | // this function must have been called from a non-const method, making the | 235 | 92.7k | // const_cast ok. | 236 | 92.7k | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 92.7k | } |
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::Value const*) const Line | Count | Source | 231 | 16.7M | ValueMapCVH Wrap(KeyT key) const { | 232 | 16.7M | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 16.7M | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 16.7M | // this function must have been called from a non-const method, making the | 235 | 16.7M | // const_cast ok. | 236 | 16.7M | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 16.7M | } |
llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::Wrap(llvm::AllocaInst const*) const Line | Count | Source | 231 | 5.51k | ValueMapCVH Wrap(KeyT key) const { | 232 | 5.51k | // The only way the resulting CallbackVH could try to modify *this (making | 233 | 5.51k | // the const_cast incorrect) is if it gets inserted into the map. But then | 234 | 5.51k | // this function must have been called from a non-const method, making the | 235 | 5.51k | // const_cast ok. | 236 | 5.51k | return ValueMapCVH(key, const_cast<ValueMap*>(this)); | 237 | 5.51k | } |
|
238 | | }; |
239 | | |
240 | | // This CallbackVH updates its ValueMap when the contained Value changes, |
241 | | // according to the user's preferences expressed through the Config object. |
242 | | template <typename KeyT, typename ValueT, typename Config> |
243 | | class ValueMapCallbackVH final : public CallbackVH { |
244 | | friend class ValueMap<KeyT, ValueT, Config>; |
245 | | friend struct DenseMapInfo<ValueMapCallbackVH>; |
246 | | |
247 | | using ValueMapT = ValueMap<KeyT, ValueT, Config>; |
248 | | using KeySansPointerT = typename std::remove_pointer<KeyT>::type; |
249 | | |
250 | | ValueMapT *Map; |
251 | | |
252 | | ValueMapCallbackVH(KeyT Key, ValueMapT *Map) |
253 | | : CallbackVH(const_cast<Value*>(static_cast<const Value*>(Key))), |
254 | 17.3M | Map(Map) {} llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Constant*, llvm::ValueMap<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 78 | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::GlobalVariable*, llvm::ValueMap<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 26 | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value const*, llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 16.7M | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*, llvm::ValueMap<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 92.7k | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*, llvm::ValueMap<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 446k | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::GlobalValue const*, llvm::ValueMap<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 1.09k | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::AllocaInst const*, llvm::ValueMap<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 5.51k | Map(Map) {} |
MergeFunctions.cpp:llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Function*, llvm::ValueMap<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >*) Line | Count | Source | 254 | 100 | Map(Map) {} |
llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::ValueMapCallbackVH(llvm::GlobalValue*, llvm::ValueMap<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>*) Line | Count | Source | 254 | 16 | Map(Map) {} |
|
255 | | |
256 | | // Private constructor used to create empty/tombstone DenseMap keys. |
257 | 101M | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 987 | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 93.1M | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
MergeFunctions.cpp:llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 485 | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 193 | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 163k | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 1.20k | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 4.00M | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 2.58M | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::ValueMapCallbackVH(llvm::Value*) Line | Count | Source | 257 | 1.98M | ValueMapCallbackVH(Value *V) : CallbackVH(V), Map(nullptr) {} |
|
258 | | |
259 | | public: |
260 | 37.4M | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 36.3M | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 835k | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
MergeFunctions.cpp:llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 118 | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::Unwrap() const Line | Count | Source | 260 | 35 | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 1.09k | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 266k | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 115 | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 141 | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::Unwrap() const Line | Count | Source | 260 | 6.67k | KeyT Unwrap() const { return cast_or_null<KeySansPointerT>(getValPtr()); } |
|
261 | | |
262 | 209k | void deleted() override { |
263 | 209k | // Make a copy that won't get changed even when *this is destroyed. |
264 | 209k | ValueMapCallbackVH Copy(*this); |
265 | 209k | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); |
266 | 209k | unique_lock<typename Config::mutex_type> Guard; |
267 | 209k | if (M) |
268 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); |
269 | 209k | Config::onDelete(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. |
270 | 209k | Copy.Map->Map.erase(Copy); // Definitely destroys *this. |
271 | 209k | } Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::deleted() MergeFunctions.cpp:llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::deleted() Line | Count | Source | 262 | 2 | void deleted() override { | 263 | 2 | // Make a copy that won't get changed even when *this is destroyed. | 264 | 2 | ValueMapCallbackVH Copy(*this); | 265 | 2 | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 266 | 2 | unique_lock<typename Config::mutex_type> Guard; | 267 | 2 | if (M) | 268 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 269 | 2 | Config::onDelete(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. | 270 | 2 | Copy.Map->Map.erase(Copy); // Definitely destroys *this. | 271 | 2 | } |
llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::deleted() Line | Count | Source | 262 | 1 | void deleted() override { | 263 | 1 | // Make a copy that won't get changed even when *this is destroyed. | 264 | 1 | ValueMapCallbackVH Copy(*this); | 265 | 1 | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 266 | 1 | unique_lock<typename Config::mutex_type> Guard; | 267 | 1 | if (M) | 268 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 269 | 1 | Config::onDelete(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. | 270 | 1 | Copy.Map->Map.erase(Copy); // Definitely destroys *this. | 271 | 1 | } |
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::deleted() Line | Count | Source | 262 | 14.7k | void deleted() override { | 263 | 14.7k | // Make a copy that won't get changed even when *this is destroyed. | 264 | 14.7k | ValueMapCallbackVH Copy(*this); | 265 | 14.7k | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 266 | 14.7k | unique_lock<typename Config::mutex_type> Guard; | 267 | 14.7k | if (M) | 268 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 269 | 14.7k | Config::onDelete(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. | 270 | 14.7k | Copy.Map->Map.erase(Copy); // Definitely destroys *this. | 271 | 14.7k | } |
Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::deleted() llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::deleted() Line | Count | Source | 262 | 194k | void deleted() override { | 263 | 194k | // Make a copy that won't get changed even when *this is destroyed. | 264 | 194k | ValueMapCallbackVH Copy(*this); | 265 | 194k | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 266 | 194k | unique_lock<typename Config::mutex_type> Guard; | 267 | 194k | if (M) | 268 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 269 | 194k | Config::onDelete(Copy.Map->Data, Copy.Unwrap()); // May destroy *this. | 270 | 194k | Copy.Map->Map.erase(Copy); // Definitely destroys *this. | 271 | 194k | } |
Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::deleted() Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::deleted() Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::deleted() |
272 | | |
273 | 156k | void allUsesReplacedWith(Value *new_key) override { |
274 | 156k | assert(isa<KeySansPointerT>(new_key) && |
275 | 156k | "Invalid RAUW on key of ValueMap<>"); |
276 | 156k | // Make a copy that won't get changed even when *this is destroyed. |
277 | 156k | ValueMapCallbackVH Copy(*this); |
278 | 156k | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); |
279 | 156k | unique_lock<typename Config::mutex_type> Guard; |
280 | 156k | if (M) |
281 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); |
282 | 156k | |
283 | 156k | KeyT typed_new_key = cast<KeySansPointerT>(new_key); |
284 | 156k | // Can destroy *this: |
285 | 156k | Config::onRAUW(Copy.Map->Data, Copy.Unwrap(), typed_new_key); |
286 | 156k | if (Config::FollowRAUW156k ) { |
287 | 156k | typename ValueMapT::MapT::iterator I = Copy.Map->Map.find(Copy); |
288 | 156k | // I could == Copy.Map->Map.end() if the onRAUW callback already |
289 | 156k | // removed the old mapping. |
290 | 156k | if (I != Copy.Map->Map.end()156k ) { |
291 | 156k | ValueT Target(std::move(I->second)); |
292 | 156k | Copy.Map->Map.erase(I); // Definitely destroys *this. |
293 | 156k | Copy.Map->insert(std::make_pair(typed_new_key, std::move(Target))); |
294 | 156k | } |
295 | 156k | } |
296 | 156k | } llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>::allUsesReplacedWith(llvm::Value*) Line | Count | Source | 273 | 1 | void allUsesReplacedWith(Value *new_key) override { | 274 | 1 | assert(isa<KeySansPointerT>(new_key) && | 275 | 1 | "Invalid RAUW on key of ValueMap<>"); | 276 | 1 | // Make a copy that won't get changed even when *this is destroyed. | 277 | 1 | ValueMapCallbackVH Copy(*this); | 278 | 1 | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 279 | 1 | unique_lock<typename Config::mutex_type> Guard; | 280 | 1 | if (M) | 281 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 282 | 1 | | 283 | 1 | KeyT typed_new_key = cast<KeySansPointerT>(new_key); | 284 | 1 | // Can destroy *this: | 285 | 1 | Config::onRAUW(Copy.Map->Data, Copy.Unwrap(), typed_new_key); | 286 | 1 | if (Config::FollowRAUW1 ) { | 287 | 0 | typename ValueMapT::MapT::iterator I = Copy.Map->Map.find(Copy); | 288 | 0 | // I could == Copy.Map->Map.end() if the onRAUW callback already | 289 | 0 | // removed the old mapping. | 290 | 0 | if (I != Copy.Map->Map.end()0 ) { | 291 | 0 | ValueT Target(std::move(I->second)); | 292 | 0 | Copy.Map->Map.erase(I); // Definitely destroys *this. | 293 | 0 | Copy.Map->insert(std::make_pair(typed_new_key, std::move(Target))); | 294 | 0 | } | 295 | 0 | } | 296 | 1 | } |
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Line | Count | Source | 273 | 156k | void allUsesReplacedWith(Value *new_key) override { | 274 | 156k | assert(isa<KeySansPointerT>(new_key) && | 275 | 156k | "Invalid RAUW on key of ValueMap<>"); | 276 | 156k | // Make a copy that won't get changed even when *this is destroyed. | 277 | 156k | ValueMapCallbackVH Copy(*this); | 278 | 156k | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 279 | 156k | unique_lock<typename Config::mutex_type> Guard; | 280 | 156k | if (M) | 281 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 282 | 156k | | 283 | 156k | KeyT typed_new_key = cast<KeySansPointerT>(new_key); | 284 | 156k | // Can destroy *this: | 285 | 156k | Config::onRAUW(Copy.Map->Data, Copy.Unwrap(), typed_new_key); | 286 | 156k | if (Config::FollowRAUW156k ) { | 287 | 156k | typename ValueMapT::MapT::iterator I = Copy.Map->Map.find(Copy); | 288 | 156k | // I could == Copy.Map->Map.end() if the onRAUW callback already | 289 | 156k | // removed the old mapping. | 290 | 156k | if (I != Copy.Map->Map.end()156k ) { | 291 | 156k | ValueT Target(std::move(I->second)); | 292 | 156k | Copy.Map->Map.erase(I); // Definitely destroys *this. | 293 | 156k | Copy.Map->insert(std::make_pair(typed_new_key, std::move(Target))); | 294 | 156k | } | 295 | 156k | } | 296 | 156k | } |
Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Unexecuted instantiation: llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) MergeFunctions.cpp:llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >::allUsesReplacedWith(llvm::Value*) Line | Count | Source | 273 | 2 | void allUsesReplacedWith(Value *new_key) override { | 274 | 2 | assert(isa<KeySansPointerT>(new_key) && | 275 | 2 | "Invalid RAUW on key of ValueMap<>"); | 276 | 2 | // Make a copy that won't get changed even when *this is destroyed. | 277 | 2 | ValueMapCallbackVH Copy(*this); | 278 | 2 | typename Config::mutex_type *M = Config::getMutex(Copy.Map->Data); | 279 | 2 | unique_lock<typename Config::mutex_type> Guard; | 280 | 2 | if (M) | 281 | 0 | Guard = unique_lock<typename Config::mutex_type>(*M); | 282 | 2 | | 283 | 2 | KeyT typed_new_key = cast<KeySansPointerT>(new_key); | 284 | 2 | // Can destroy *this: | 285 | 2 | Config::onRAUW(Copy.Map->Data, Copy.Unwrap(), typed_new_key); | 286 | 2 | if (Config::FollowRAUW2 ) { | 287 | 2 | typename ValueMapT::MapT::iterator I = Copy.Map->Map.find(Copy); | 288 | 2 | // I could == Copy.Map->Map.end() if the onRAUW callback already | 289 | 2 | // removed the old mapping. | 290 | 2 | if (I != Copy.Map->Map.end()2 ) { | 291 | 2 | ValueT Target(std::move(I->second)); | 292 | 2 | Copy.Map->Map.erase(I); // Definitely destroys *this. | 293 | 2 | Copy.Map->insert(std::make_pair(typed_new_key, std::move(Target))); | 294 | 2 | } | 295 | 2 | } | 296 | 2 | } |
|
297 | | }; |
298 | | |
299 | | template<typename KeyT, typename ValueT, typename Config> |
300 | | struct DenseMapInfo<ValueMapCallbackVH<KeyT, ValueT, Config>> { |
301 | | using VH = ValueMapCallbackVH<KeyT, ValueT, Config>; |
302 | | |
303 | 57.6M | static inline VH getEmptyKey() { |
304 | 57.6M | return VH(DenseMapInfo<Value *>::getEmptyKey()); |
305 | 57.6M | } llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 2.46M | static inline VH getEmptyKey() { | 304 | 2.46M | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 2.46M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 52.3M | static inline VH getEmptyKey() { | 304 | 52.3M | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 52.3M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 100k | static inline VH getEmptyKey() { | 304 | 100k | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 100k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 610 | static inline VH getEmptyKey() { | 304 | 610 | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 610 | } |
MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 308 | static inline VH getEmptyKey() { | 304 | 308 | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 308 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >::getEmptyKey() Line | Count | Source | 303 | 126 | static inline VH getEmptyKey() { | 304 | 126 | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 126 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 1.32M | static inline VH getEmptyKey() { | 304 | 1.32M | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 1.32M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 1.42M | static inline VH getEmptyKey() { | 304 | 1.42M | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 1.42M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::getEmptyKey() Line | Count | Source | 303 | 770 | static inline VH getEmptyKey() { | 304 | 770 | return VH(DenseMapInfo<Value *>::getEmptyKey()); | 305 | 770 | } |
|
306 | | |
307 | 44.2M | static inline VH getTombstoneKey() { |
308 | 44.2M | return VH(DenseMapInfo<Value *>::getTombstoneKey()); |
309 | 44.2M | } llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 62.1k | static inline VH getTombstoneKey() { | 308 | 62.1k | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 62.1k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 40.8M | static inline VH getTombstoneKey() { | 308 | 40.8M | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 40.8M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 377 | static inline VH getTombstoneKey() { | 308 | 377 | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 377 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 439 | static inline VH getTombstoneKey() { | 308 | 439 | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 439 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 1.54M | static inline VH getTombstoneKey() { | 308 | 1.54M | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 1.54M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 1.15M | static inline VH getTombstoneKey() { | 308 | 1.15M | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 1.15M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 662k | static inline VH getTombstoneKey() { | 308 | 662k | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 662k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >::getTombstoneKey() Line | Count | Source | 307 | 67 | static inline VH getTombstoneKey() { | 308 | 67 | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 67 | } |
MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::getTombstoneKey() Line | Count | Source | 307 | 177 | static inline VH getTombstoneKey() { | 308 | 177 | return VH(DenseMapInfo<Value *>::getTombstoneKey()); | 309 | 177 | } |
|
310 | | |
311 | 19.5M | static unsigned getHashValue(const VH &Val) { |
312 | 19.5M | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); |
313 | 19.5M | } MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 104 | static unsigned getHashValue(const VH &Val) { | 312 | 104 | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 104 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 93.1k | static unsigned getHashValue(const VH &Val) { | 312 | 93.1k | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 93.1k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 18.7M | static unsigned getHashValue(const VH &Val) { | 312 | 18.7M | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 18.7M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >::getHashValue(llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> const&) Line | Count | Source | 311 | 17 | static unsigned getHashValue(const VH &Val) { | 312 | 17 | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 17 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 1.09k | static unsigned getHashValue(const VH &Val) { | 312 | 1.09k | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 1.09k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 6.08k | static unsigned getHashValue(const VH &Val) { | 312 | 6.08k | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 6.08k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 26 | static unsigned getHashValue(const VH &Val) { | 312 | 26 | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 26 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 78 | static unsigned getHashValue(const VH &Val) { | 312 | 78 | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 78 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 311 | 640k | static unsigned getHashValue(const VH &Val) { | 312 | 640k | return DenseMapInfo<KeyT>::getHashValue(Val.Unwrap()); | 313 | 640k | } |
|
314 | | |
315 | 17.9M | static unsigned getHashValue(const KeyT &Val) { |
316 | 17.9M | return DenseMapInfo<KeyT>::getHashValue(Val); |
317 | 17.9M | } llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::GlobalVariable* const&) Line | Count | Source | 315 | 23 | static unsigned getHashValue(const KeyT &Val) { | 316 | 23 | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 23 | } |
MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::Function* const&) Line | Count | Source | 315 | 14 | static unsigned getHashValue(const KeyT &Val) { | 316 | 14 | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 14 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::Value* const&) Line | Count | Source | 315 | 550k | static unsigned getHashValue(const KeyT &Val) { | 316 | 550k | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 550k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::Constant* const&) Line | Count | Source | 315 | 115 | static unsigned getHashValue(const KeyT &Val) { | 316 | 115 | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 115 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::AllocaInst const* const&) Line | Count | Source | 315 | 22.3k | static unsigned getHashValue(const KeyT &Val) { | 316 | 22.3k | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 22.3k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::getHashValue(llvm::Value const* const&) Line | Count | Source | 315 | 17.3M | static unsigned getHashValue(const KeyT &Val) { | 316 | 17.3M | return DenseMapInfo<KeyT>::getHashValue(Val); | 317 | 17.3M | } |
|
318 | | |
319 | 481M | static bool isEqual(const VH &LHS, const VH &RHS) { |
320 | 481M | return LHS == RHS; |
321 | 481M | } MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 6.18k | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 6.18k | return LHS == RHS; | 321 | 6.18k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >::isEqual(llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> const&, llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> const&) Line | Count | Source | 319 | 6.32k | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 6.32k | return LHS == RHS; | 321 | 6.32k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 25.6M | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 25.6M | return LHS == RHS; | 321 | 25.6M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 110M | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 110M | return LHS == RHS; | 321 | 110M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 31.9k | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 31.9k | return LHS == RHS; | 321 | 31.9k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 32.1k | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 32.1k | return LHS == RHS; | 321 | 32.1k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 4.32M | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 4.32M | return LHS == RHS; | 321 | 4.32M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 256M | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 256M | return LHS == RHS; | 321 | 256M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 319 | 84.7M | static bool isEqual(const VH &LHS, const VH &RHS) { | 320 | 84.7M | return LHS == RHS; | 321 | 84.7M | } |
|
322 | | |
323 | 22.0M | static bool isEqual(const KeyT &LHS, const VH &RHS) { |
324 | 22.0M | return LHS == RHS.getValPtr(); |
325 | 22.0M | } MergeFunctions.cpp:llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::Function* const&, llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 14 | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 14 | return LHS == RHS.getValPtr(); | 325 | 14 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::Value const* const&, llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 21.4M | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 21.4M | return LHS == RHS.getValPtr(); | 325 | 21.4M | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::AllocaInst const* const&, llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 24.4k | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 24.4k | return LHS == RHS.getValPtr(); | 325 | 24.4k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::Value* const&, llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 642k | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 642k | return LHS == RHS.getValPtr(); | 325 | 642k | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::GlobalVariable* const&, llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 24 | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 24 | return LHS == RHS.getValPtr(); | 325 | 24 | } |
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >::isEqual(llvm::Constant* const&, llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > const&) Line | Count | Source | 323 | 121 | static bool isEqual(const KeyT &LHS, const VH &RHS) { | 324 | 121 | return LHS == RHS.getValPtr(); | 325 | 121 | } |
|
326 | | }; |
327 | | |
328 | | template<typename DenseMapT, typename KeyT> |
329 | | class ValueMapIterator : |
330 | | public std::iterator<std::forward_iterator_tag, |
331 | | std::pair<KeyT, typename DenseMapT::mapped_type>, |
332 | | ptrdiff_t> { |
333 | | using BaseT = typename DenseMapT::iterator; |
334 | | using ValueT = typename DenseMapT::mapped_type; |
335 | | |
336 | | BaseT I; |
337 | | |
338 | | public: |
339 | 16 | ValueMapIterator() : I() {} |
340 | 33.0M | ValueMapIterator(BaseT I) : I(I) {} llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>, false>) Line | Count | Source | 340 | 31.8M | ValueMapIterator(BaseT I) : I(I) {} |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*>, false>) Line | Count | Source | 340 | 94 | ValueMapIterator(BaseT I) : I(I) {} |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*>, false>) Line | Count | Source | 340 | 230 | ValueMapIterator(BaseT I) : I(I) {} |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags>, false>) Line | Count | Source | 340 | 1.19M | ValueMapIterator(BaseT I) : I(I) {} |
Unexecuted instantiation: llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Value*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::Value*, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::Value*>, false>) Unexecuted instantiation: llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> > > >, llvm::GlobalValue const*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue const*, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> >, llvm::ValueMapConfig<llvm::GlobalValue const*, llvm::sys::SmartMutex<false> > >, std::__1::unique_ptr<llvm::GlobalValuePseudoSourceValue const, std::__1::default_delete<llvm::GlobalValuePseudoSourceValue const> > >, false>) llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind>, false>) Line | Count | Source | 340 | 22.8k | ValueMapIterator(BaseT I) : I(I) {} |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> >, false>) Line | Count | Source | 340 | 120 | ValueMapIterator(BaseT I) : I(I) {} |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long> >, llvm::GlobalValue*>::ValueMapIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long>, false>) Line | Count | Source | 340 | 16 | ValueMapIterator(BaseT I) : I(I) {} |
|
341 | | |
342 | 339 | BaseT base() const { return I; } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::base() const Line | Count | Source | 342 | 303 | BaseT base() const { return I; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::base() const Line | Count | Source | 342 | 26 | BaseT base() const { return I; } |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::base() const Line | Count | Source | 342 | 10 | BaseT base() const { return I; } |
|
343 | | |
344 | | struct ValueTypeProxy { |
345 | | const KeyT first; |
346 | | ValueT& second; |
347 | | |
348 | 17.5M | ValueTypeProxy *operator->() { return this; } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 17.3M | ValueTypeProxy *operator->() { return this; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 584 | ValueTypeProxy *operator->() { return this; } |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 10 | ValueTypeProxy *operator->() { return this; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 115 | ValueTypeProxy *operator->() { return this; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 37 | ValueTypeProxy *operator->() { return this; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long> >, llvm::GlobalValue*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 16 | ValueTypeProxy *operator->() { return this; } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::ValueTypeProxy::operator->() Line | Count | Source | 348 | 127k | ValueTypeProxy *operator->() { return this; } |
|
349 | | |
350 | 122 | operator std::pair<KeyT, ValueT>() const { |
351 | 122 | return std::make_pair(first, second); |
352 | 122 | } |
353 | | }; |
354 | | |
355 | 17.5M | ValueTypeProxy operator*() const { |
356 | 17.5M | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; |
357 | 17.5M | return Result; |
358 | 17.5M | } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long> >, llvm::GlobalValue*>::operator*() const Line | Count | Source | 355 | 16 | ValueTypeProxy operator*() const { | 356 | 16 | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 16 | return Result; | 358 | 16 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*>::operator*() const Line | Count | Source | 355 | 37 | ValueTypeProxy operator*() const { | 356 | 37 | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 37 | return Result; | 358 | 37 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::operator*() const Line | Count | Source | 355 | 115 | ValueTypeProxy operator*() const { | 356 | 115 | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 115 | return Result; | 358 | 115 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::operator*() const Line | Count | Source | 355 | 584 | ValueTypeProxy operator*() const { | 356 | 584 | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 584 | return Result; | 358 | 584 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator*() const Line | Count | Source | 355 | 127k | ValueTypeProxy operator*() const { | 356 | 127k | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 127k | return Result; | 358 | 127k | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator*() const Line | Count | Source | 355 | 17.3M | ValueTypeProxy operator*() const { | 356 | 17.3M | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 17.3M | return Result; | 358 | 17.3M | } |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::operator*() const Line | Count | Source | 355 | 10 | ValueTypeProxy operator*() const { | 356 | 10 | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 357 | 10 | return Result; | 358 | 10 | } |
|
359 | | |
360 | 17.5M | ValueTypeProxy operator->() const { |
361 | 17.5M | return operator*(); |
362 | 17.5M | } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator->() const Line | Count | Source | 360 | 127k | ValueTypeProxy operator->() const { | 361 | 127k | return operator*(); | 362 | 127k | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config> >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalValue*, unsigned long long, llvm::GlobalNumberState::Config>, unsigned long long> >, llvm::GlobalValue*>::operator->() const Line | Count | Source | 360 | 16 | ValueTypeProxy operator->() const { | 361 | 16 | return operator*(); | 362 | 16 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::operator->() const Line | Count | Source | 360 | 584 | ValueTypeProxy operator->() const { | 361 | 584 | return operator*(); | 362 | 584 | } |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::operator->() const Line | Count | Source | 360 | 10 | ValueTypeProxy operator->() const { | 361 | 10 | return operator*(); | 362 | 10 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::operator->() const Line | Count | Source | 360 | 115 | ValueTypeProxy operator->() const { | 361 | 115 | return operator*(); | 362 | 115 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*>::operator->() const Line | Count | Source | 360 | 37 | ValueTypeProxy operator->() const { | 361 | 37 | return operator*(); | 362 | 37 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator->() const Line | Count | Source | 360 | 17.3M | ValueTypeProxy operator->() const { | 361 | 17.3M | return operator*(); | 362 | 17.3M | } |
|
363 | | |
364 | 197k | bool operator==(const ValueMapIterator &RHS) const { |
365 | 197k | return I == RHS.I; |
366 | 197k | } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::operator==(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*> const&) const Line | Count | Source | 364 | 303 | bool operator==(const ValueMapIterator &RHS) const { | 365 | 303 | return I == RHS.I; | 366 | 303 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator==(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*> const&) const Line | Count | Source | 364 | 196k | bool operator==(const ValueMapIterator &RHS) const { | 365 | 196k | return I == RHS.I; | 366 | 196k | } |
|
367 | 19.3M | bool operator!=(const ValueMapIterator &RHS) const { |
368 | 19.3M | return I != RHS.I; |
369 | 19.3M | } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*> const&) const Line | Count | Source | 367 | 18.8M | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 18.8M | return I != RHS.I; | 369 | 18.8M | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Constant*, llvm::Value*, llvm::ValueMapConfig<llvm::Constant*, llvm::sys::SmartMutex<false> > >, llvm::Value*> >, llvm::Constant*> const&) const Line | Count | Source | 367 | 115 | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 115 | return I != RHS.I; | 369 | 115 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*> const&) const Line | Count | Source | 367 | 99 | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 99 | return I != RHS.I; | 369 | 99 | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*> const&) const Line | Count | Source | 367 | 550k | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 550k | return I != RHS.I; | 369 | 550k | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::AllocaInst const*, llvm::StackProtector::SSPLayoutKind, llvm::ValueMapConfig<llvm::AllocaInst const*, llvm::sys::SmartMutex<false> > >, llvm::StackProtector::SSPLayoutKind> >, llvm::AllocaInst const*> const&) const Line | Count | Source | 367 | 8.36k | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 8.36k | return I != RHS.I; | 369 | 8.36k | } |
MergeFunctions.cpp:llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*>::operator!=(llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Function*, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long>, llvm::ValueMapConfig<llvm::Function*, llvm::sys::SmartMutex<false> > >, std::__1::__tree_const_iterator<(anonymous namespace)::FunctionNode, std::__1::__tree_node<(anonymous namespace)::FunctionNode, void*>*, long> > >, llvm::Function*> const&) const Line | Count | Source | 367 | 6 | bool operator!=(const ValueMapIterator &RHS) const { | 368 | 6 | return I != RHS.I; | 369 | 6 | } |
|
370 | | |
371 | 3.17M | inline ValueMapIterator& operator++() { // Preincrement |
372 | 3.17M | ++I; |
373 | 3.17M | return *this; |
374 | 3.17M | } llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator++() Line | Count | Source | 371 | 3.17M | inline ValueMapIterator& operator++() { // Preincrement | 372 | 3.17M | ++I; | 373 | 3.17M | return *this; | 374 | 3.17M | } |
llvm::ValueMapIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::GlobalVariable*, llvm::GlobalVariable*, llvm::ValueMapConfig<llvm::GlobalVariable*, llvm::sys::SmartMutex<false> > >, llvm::GlobalVariable*> >, llvm::GlobalVariable*>::operator++() Line | Count | Source | 371 | 52 | inline ValueMapIterator& operator++() { // Preincrement | 372 | 52 | ++I; | 373 | 52 | return *this; | 374 | 52 | } |
|
375 | | ValueMapIterator operator++(int) { // Postincrement |
376 | | ValueMapIterator tmp = *this; ++*this; return tmp; |
377 | | } |
378 | | }; |
379 | | |
380 | | template<typename DenseMapT, typename KeyT> |
381 | | class ValueMapConstIterator : |
382 | | public std::iterator<std::forward_iterator_tag, |
383 | | std::pair<KeyT, typename DenseMapT::mapped_type>, |
384 | | ptrdiff_t> { |
385 | | using BaseT = typename DenseMapT::const_iterator; |
386 | | using ValueT = typename DenseMapT::mapped_type; |
387 | | |
388 | | BaseT I; |
389 | | |
390 | | public: |
391 | | ValueMapConstIterator() : I() {} |
392 | 553k | ValueMapConstIterator(BaseT I) : I(I) {} llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::ValueMapConstIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags>, true>) Line | Count | Source | 392 | 552k | ValueMapConstIterator(BaseT I) : I(I) {} |
llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::ValueMapConstIterator(llvm::DenseMapIterator<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>, true>) Line | Count | Source | 392 | 680 | ValueMapConstIterator(BaseT I) : I(I) {} |
|
393 | | ValueMapConstIterator(ValueMapIterator<DenseMapT, KeyT> Other) |
394 | | : I(Other.base()) {} |
395 | | |
396 | | BaseT base() const { return I; } |
397 | | |
398 | | struct ValueTypeProxy { |
399 | | const KeyT first; |
400 | | const ValueT& second; |
401 | | ValueTypeProxy *operator->() { return this; } |
402 | 45.8k | operator std::pair<KeyT, ValueT>() const { |
403 | 45.8k | return std::make_pair(first, second); |
404 | 45.8k | } |
405 | | }; |
406 | | |
407 | 50.2k | ValueTypeProxy operator*() const { |
408 | 50.2k | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; |
409 | 50.2k | return Result; |
410 | 50.2k | } llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator*() const Line | Count | Source | 407 | 4.39k | ValueTypeProxy operator*() const { | 408 | 4.39k | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 409 | 4.39k | return Result; | 410 | 4.39k | } |
llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator*() const Line | Count | Source | 407 | 45.8k | ValueTypeProxy operator*() const { | 408 | 45.8k | ValueTypeProxy Result = {I->first.Unwrap(), I->second}; | 409 | 45.8k | return Result; | 410 | 45.8k | } |
|
411 | | |
412 | | ValueTypeProxy operator->() const { |
413 | | return operator*(); |
414 | | } |
415 | | |
416 | | bool operator==(const ValueMapConstIterator &RHS) const { |
417 | | return I == RHS.I; |
418 | | } |
419 | 326k | bool operator!=(const ValueMapConstIterator &RHS) const { |
420 | 326k | return I != RHS.I; |
421 | 326k | } llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator!=(llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*> const&) const Line | Count | Source | 419 | 4.73k | bool operator!=(const ValueMapConstIterator &RHS) const { | 420 | 4.73k | return I != RHS.I; | 421 | 4.73k | } |
llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator!=(llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*> const&) const Line | Count | Source | 419 | 322k | bool operator!=(const ValueMapConstIterator &RHS) const { | 420 | 322k | return I != RHS.I; | 421 | 322k | } |
|
422 | | |
423 | 50.2k | inline ValueMapConstIterator& operator++() { // Preincrement |
424 | 50.2k | ++I; |
425 | 50.2k | return *this; |
426 | 50.2k | } llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value*, llvm::SCEVWrapPredicate::IncrementWrapFlags, llvm::ValueMapConfig<llvm::Value*, llvm::sys::SmartMutex<false> > >, llvm::SCEVWrapPredicate::IncrementWrapFlags> >, llvm::Value*>::operator++() Line | Count | Source | 423 | 45.8k | inline ValueMapConstIterator& operator++() { // Preincrement | 424 | 45.8k | ++I; | 425 | 45.8k | return *this; | 426 | 45.8k | } |
llvm::ValueMapConstIterator<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >, llvm::Value const*>::operator++() Line | Count | Source | 423 | 4.39k | inline ValueMapConstIterator& operator++() { // Preincrement | 424 | 4.39k | ++I; | 425 | 4.39k | return *this; | 426 | 4.39k | } |
|
427 | | ValueMapConstIterator operator++(int) { // Postincrement |
428 | | ValueMapConstIterator tmp = *this; ++*this; return tmp; |
429 | | } |
430 | | }; |
431 | | |
432 | | } // end namespace llvm |
433 | | |
434 | | #endif // LLVM_IR_VALUEMAP_H |