/home/arjun/llvm-project/llvm/include/llvm/ADT/iterator.h
Line | Count | Source (jump to first uncovered line) |
1 | | //===- iterator.h - Utilities for using and defining iterators --*- C++ -*-===// |
2 | | // |
3 | | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
4 | | // See https://llvm.org/LICENSE.txt for license information. |
5 | | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
6 | | // |
7 | | //===----------------------------------------------------------------------===// |
8 | | |
9 | | #ifndef LLVM_ADT_ITERATOR_H |
10 | | #define LLVM_ADT_ITERATOR_H |
11 | | |
12 | | #include "llvm/ADT/iterator_range.h" |
13 | | #include <algorithm> |
14 | | #include <cstddef> |
15 | | #include <iterator> |
16 | | #include <type_traits> |
17 | | #include <utility> |
18 | | |
19 | | namespace llvm { |
20 | | |
21 | | /// CRTP base class which implements the entire standard iterator facade |
22 | | /// in terms of a minimal subset of the interface. |
23 | | /// |
24 | | /// Use this when it is reasonable to implement most of the iterator |
25 | | /// functionality in terms of a core subset. If you need special behavior or |
26 | | /// there are performance implications for this, you may want to override the |
27 | | /// relevant members instead. |
28 | | /// |
29 | | /// Note, one abstraction that this does *not* provide is implementing |
30 | | /// subtraction in terms of addition by negating the difference. Negation isn't |
31 | | /// always information preserving, and I can see very reasonable iterator |
32 | | /// designs where this doesn't work well. It doesn't really force much added |
33 | | /// boilerplate anyways. |
34 | | /// |
35 | | /// Another abstraction that this doesn't provide is implementing increment in |
36 | | /// terms of addition of one. These aren't equivalent for all iterator |
37 | | /// categories, and respecting that adds a lot of complexity for little gain. |
38 | | /// |
39 | | /// Classes wishing to use `iterator_facade_base` should implement the following |
40 | | /// methods: |
41 | | /// |
42 | | /// Forward Iterators: |
43 | | /// (All of the following methods) |
44 | | /// - DerivedT &operator=(const DerivedT &R); |
45 | | /// - bool operator==(const DerivedT &R) const; |
46 | | /// - const T &operator*() const; |
47 | | /// - T &operator*(); |
48 | | /// - DerivedT &operator++(); |
49 | | /// |
50 | | /// Bidirectional Iterators: |
51 | | /// (All methods of forward iterators, plus the following) |
52 | | /// - DerivedT &operator--(); |
53 | | /// |
54 | | /// Random-access Iterators: |
55 | | /// (All methods of bidirectional iterators excluding the following) |
56 | | /// - DerivedT &operator++(); |
57 | | /// - DerivedT &operator--(); |
58 | | /// (and plus the following) |
59 | | /// - bool operator<(const DerivedT &RHS) const; |
60 | | /// - DifferenceTypeT operator-(const DerivedT &R) const; |
61 | | /// - DerivedT &operator+=(DifferenceTypeT N); |
62 | | /// - DerivedT &operator-=(DifferenceTypeT N); |
63 | | /// |
64 | | template <typename DerivedT, typename IteratorCategoryT, typename T, |
65 | | typename DifferenceTypeT = std::ptrdiff_t, typename PointerT = T *, |
66 | | typename ReferenceT = T &> |
67 | | class iterator_facade_base |
68 | | : public std::iterator<IteratorCategoryT, T, DifferenceTypeT, PointerT, |
69 | | ReferenceT> { |
70 | | protected: |
71 | | enum { |
72 | | IsRandomAccess = std::is_base_of<std::random_access_iterator_tag, |
73 | | IteratorCategoryT>::value, |
74 | | IsBidirectional = std::is_base_of<std::bidirectional_iterator_tag, |
75 | | IteratorCategoryT>::value, |
76 | | }; |
77 | | |
78 | | /// A proxy object for computing a reference via indirecting a copy of an |
79 | | /// iterator. This is used in APIs which need to produce a reference via |
80 | | /// indirection but for which the iterator object might be a temporary. The |
81 | | /// proxy preserves the iterator internally and exposes the indirected |
82 | | /// reference via a conversion operator. |
83 | | class ReferenceProxy { |
84 | | friend iterator_facade_base; |
85 | | |
86 | | DerivedT I; |
87 | | |
88 | | ReferenceProxy(DerivedT I) : I(std::move(I)) {} |
89 | | |
90 | | public: |
91 | | operator ReferenceT() const { return *I; } |
92 | | }; |
93 | | |
94 | | public: |
95 | 0 | DerivedT operator+(DifferenceTypeT n) const { |
96 | 0 | static_assert(std::is_base_of<iterator_facade_base, DerivedT>::value, |
97 | 0 | "Must pass the derived type to this template!"); |
98 | 0 | static_assert( |
99 | 0 | IsRandomAccess, |
100 | 0 | "The '+' operator is only defined for random access iterators."); |
101 | 0 | DerivedT tmp = *static_cast<const DerivedT *>(this); |
102 | 0 | tmp += n; |
103 | 0 | return tmp; |
104 | 0 | } Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS3_9OpOperandENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EplEl Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr18IntElementIteratorESt26random_access_iterator_tagNS_5APIntElS5_S5_EplEl Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr25ComplexIntElementIteratorESt26random_access_iterator_tagSt7complexINS_5APIntEElS7_S7_EplEl Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr25ComplexIntElementIteratorESt8functionIFSt7complexINS_7APFloatEERKS6_INS_5APIntEEEES8_EESt26random_access_iterator_tagS8_lPS8_RS8_EplEl Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EESt26random_access_iterator_tagS6_lPS6_RS6_EplEl |
105 | | friend DerivedT operator+(DifferenceTypeT n, const DerivedT &i) { |
106 | | static_assert( |
107 | | IsRandomAccess, |
108 | | "The '+' operator is only defined for random access iterators."); |
109 | | return i + n; |
110 | | } |
111 | | DerivedT operator-(DifferenceTypeT n) const { |
112 | | static_assert( |
113 | | IsRandomAccess, |
114 | | "The '-' operator is only defined for random access iterators."); |
115 | | DerivedT tmp = *static_cast<const DerivedT *>(this); |
116 | | tmp -= n; |
117 | | return tmp; |
118 | | } |
119 | | |
120 | 0 | DerivedT &operator++() { |
121 | 0 | static_assert(std::is_base_of<iterator_facade_base, DerivedT>::value, |
122 | 0 | "Must pass the derived type to this template!"); |
123 | 0 | return static_cast<DerivedT *>(this)->operator+=(1); |
124 | 0 | } Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr24AttributeElementIteratorESt26random_access_iterator_tagNS1_9AttributeElS5_S5_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir14SuccessorRangeEPNS3_12BlockOperandEPNS3_5BlockES8_S8_E8iteratorESt26random_access_iterator_tagS8_lS8_S8_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir11ResultRangeESt4pairIPNS3_9OperationElENS3_8OpResultES9_S9_E8iteratorESt26random_access_iterator_tagS9_lS9_S9_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir10ValueRangeENS3_6detail15ValueRangeOwnerENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS3_9OpOperandENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr18IntElementIteratorESt26random_access_iterator_tagNS_5APIntElS5_S5_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir6detail20ElementsAttrIteratorINS_7APFloatEEESt26random_access_iterator_tagS4_lS4_S4_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir6detail20ElementsAttrIteratorINS_5APIntEEESt26random_access_iterator_tagS4_lS4_S4_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail23value_sequence_iteratorIiEESt26random_access_iterator_tagKilPS5_RS5_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr15ElementIteratorImEESt26random_access_iterator_tagKmlPS6_RS6_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir9TypeRangeENS_12PointerUnionIJPKNS3_5ValueEPKNS3_4TypeEPNS3_9OpOperandEEEES9_S9_S9_E8iteratorESt26random_access_iterator_tagS9_lS9_S9_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr15ElementIteratorIiEESt26random_access_iterator_tagKilPS6_RS6_EppEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail23value_sequence_iteratorIjEESt26random_access_iterator_tagKjlPS5_RS5_EppEv |
125 | 0 | DerivedT operator++(int) { |
126 | 0 | DerivedT tmp = *static_cast<DerivedT *>(this); |
127 | 0 | ++*static_cast<DerivedT *>(this); |
128 | 0 | return tmp; |
129 | 0 | } Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir10ValueRangeENS3_6detail15ValueRangeOwnerENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EppEi Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir16ValueUseIteratorINS1_9OpOperandEEESt20forward_iterator_tagS3_lPS3_RS3_EppEi |
130 | 0 | DerivedT &operator--() { |
131 | 0 | static_assert( |
132 | 0 | IsBidirectional, |
133 | 0 | "The decrement operator is only defined for bidirectional iterators."); |
134 | 0 | return static_cast<DerivedT *>(this)->operator-=(1); |
135 | 0 | } Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr24AttributeElementIteratorESt26random_access_iterator_tagNS1_9AttributeElS5_S5_EmmEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir10ValueRangeENS3_6detail15ValueRangeOwnerENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EmmEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS3_9OpOperandENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EmmEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir11ResultRangeESt4pairIPNS3_9OperationElENS3_8OpResultES9_S9_E8iteratorESt26random_access_iterator_tagS9_lS9_S9_EmmEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr18IntElementIteratorESt26random_access_iterator_tagNS_5APIntElS5_S5_EmmEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr15ElementIteratorImEESt26random_access_iterator_tagKmlPS6_RS6_EmmEv |
136 | | DerivedT operator--(int) { |
137 | | static_assert( |
138 | | IsBidirectional, |
139 | | "The decrement operator is only defined for bidirectional iterators."); |
140 | | DerivedT tmp = *static_cast<DerivedT *>(this); |
141 | | --*static_cast<DerivedT *>(this); |
142 | | return tmp; |
143 | | } |
144 | | |
145 | 34 | bool operator!=(const DerivedT &RHS) const { |
146 | 34 | return !static_cast<const DerivedT *>(this)->operator==(RHS); |
147 | 34 | } Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir14SuccessorRangeEPNS3_12BlockOperandEPNS3_5BlockES8_S8_E8iteratorESt26random_access_iterator_tagS8_lS8_S8_EneERKSA_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir11ResultRangeESt4pairIPNS3_9OperationElENS3_8OpResultES9_S9_E8iteratorESt26random_access_iterator_tagS9_lS9_S9_EneERKSB_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_22StringMapConstIteratorIPNS_2cl6OptionEEESt20forward_iterator_tagKNS_14StringMapEntryIS4_EElPS9_RS9_EneERKS5_ _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorIPNS_2cl6OptionEEESt20forward_iterator_tagNS_14StringMapEntryIS4_EElPS8_RS8_EneERKS5_ Line | Count | Source | 145 | 34 | bool operator!=(const DerivedT &RHS) const { | 146 | 34 | return !static_cast<const DerivedT *>(this)->operator==(RHS); | 147 | 34 | } |
Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKcPFccEcEESt26random_access_iterator_tagclS3_RS2_EneERKS6_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_22StringMapConstIteratorISt10unique_ptrINS_3vfs6detail12InMemoryNodeESt14default_deleteIS5_EEEESt20forward_iterator_tagKNS_14StringMapEntryIS8_EElPSD_RSD_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorISt10unique_ptrINS_3vfs6detail12InMemoryNodeESt14default_deleteIS5_EEEESt20forward_iterator_tagNS_14StringMapEntryIS8_EElPSC_RSC_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_3sys4path16reverse_iteratorESt18input_iterator_tagKNS_9StringRefElPS6_RS6_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_3sys4path14const_iteratorESt18input_iterator_tagKNS_9StringRefElPS6_RS6_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir10ValueRangeENS3_6detail15ValueRangeOwnerENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESt26random_access_iterator_tagSB_lPSB_RSB_EneERKSE_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterIRNS_8ArrayRefIN4mlir5ValueEEEEESt20forward_iterator_tagNS1_11result_pairIS7_EElPKS5_RSC_EneERKS8_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS3_9OpOperandENS3_5ValueES7_S7_E8iteratorESt26random_access_iterator_tagS7_lS7_S7_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb0ELb0EEEEESt18input_iterator_tagS6_lPS6_RS6_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterIN4mlir12OperandRangeEEESt20forward_iterator_tagNS1_11result_pairIS4_EElNS3_5ValueES9_EneERKS5_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_12BlockOperandEEEPFPNS2_5BlockERS4_ES7_EESt20forward_iterator_tagS7_lPS7_RS7_EneERKSB_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_9OpOperandEEEPFPNS2_9OperationERS4_ES7_EESt20forward_iterator_tagS7_lPS7_RS7_EneERKSB_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJNS1_27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorESA_EEESt26bidirectional_iterator_tagSt5tupleIJS8_S8_EElPSE_SE_EneERKSB_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterIRNS_11SmallVectorIlLj4EEEEESt20forward_iterator_tagNS1_11result_pairIS5_EElPlRlEneERKS6_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPKlPlEEESt26bidirectional_iterator_tagSt5tupleIJRS3_RlEElPSB_SB_EneERKS6_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPlPKlEEESt26bidirectional_iterator_tagSt5tupleIJRlRS4_EElPSB_SB_EneERKS6_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateOffsetsERNS2_9OpBuilderENS2_8LocationEE4$_16NS2_5ValueEEESt26random_access_iterator_tagSB_lPSB_RSB_EneERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp16getOrCreateSizesERNS2_9OpBuilderENS2_8LocationEE4$_17NS2_5ValueEEESt26random_access_iterator_tagSB_lPSB_RSB_EneERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateStridesERNS2_9OpBuilderENS2_8LocationEE4$_18NS2_5ValueEEESt26random_access_iterator_tagSB_lPSB_RSB_EneERKSC_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPKlS4_EEESt26bidirectional_iterator_tagSt5tupleIJRS3_S8_EElPS9_S9_EneERKS5_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPlS3_EEESt26bidirectional_iterator_tagSt5tupleIJRlS7_EElPS8_S8_EneERKS4_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPN4mlir11OpAsmParser11OperandTypeEPNS3_4TypeEEEESt26bidirectional_iterator_tagSt5tupleIJRS5_RS7_EElPSE_SE_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPN4mlir11OpAsmParser11OperandTypeEPKNS3_4TypeEEEESt26bidirectional_iterator_tagSt5tupleIJRS5_RS8_EElPSF_SF_EneERKSA_ Unexecuted instantiation: AffineMap.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPlZNK4mlir9AffineMap12constantFoldENS_8ArrayRefINS3_9AttributeEEERNS_15SmallVectorImplIS6_EEE3$_0NS3_11IntegerAttrEEESt26random_access_iterator_tagSC_lPSC_RSC_EneERKSD_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterINS_8ArrayRefIN4mlir10AffineExprEEEEESt20forward_iterator_tagNS1_11result_pairIS6_EElPKS5_RSB_EneERKS7_ Unexecuted instantiation: AsmPrinter.cpp:_ZNK4llvm20iterator_facade_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZN12_GLOBAL__N_113ModulePrinter21printOptionalAttrDictENS_8ArrayRefIS6_EENSB_INS_9StringRefEEEbE4$_17St26bidirectional_iterator_tagEESG_S6_lS8_RS7_EneERKSH_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail23value_sequence_iteratorIiEESt26random_access_iterator_tagKilPS5_RS5_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPKPKN4mlir16DialectInterfaceESt6vectorIS7_SaIS7_EEEEPFRKNS4_21OpAsmDialectInterfaceES7_ESG_EESt26random_access_iterator_tagSF_lPSF_SG_EneERKSJ_ Unexecuted instantiation: Attributes.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKNS_7APFloatEZN4mlir24DenseIntOrFPElementsAttr6getRawENS5_10ShapedTypeEmNS_8ArrayRefIS2_EEbE3$_6NS_5APIntEEESt26random_access_iterator_tagSB_lPSB_RSB_EneERKSC_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EESt26random_access_iterator_tagS6_lPS6_RS6_EneERKSC_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseIN4mlir17DenseElementsAttr18IntElementIteratorESt26random_access_iterator_tagNS_5APIntElS5_S5_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail27indexed_accessor_range_baseIN4mlir9TypeRangeENS_12PointerUnionIJPKNS3_5ValueEPKNS3_4TypeEPNS3_9OpOperandEEEES9_S9_S9_E8iteratorESt26random_access_iterator_tagS9_lS9_S9_EneERKSG_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKbZN4mlir7Builder16getBoolArrayAttrENS_8ArrayRefIbEEE3$_0NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKiZN4mlir7Builder15getI32ArrayAttrENS_8ArrayRefIiEEE3$_1NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKlZN4mlir7Builder15getI64ArrayAttrENS_8ArrayRefIlEEE3$_2NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKlZN4mlir7Builder17getIndexArrayAttrENS_8ArrayRefIlEEE3$_3NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKfZN4mlir7Builder15getF32ArrayAttrENS_8ArrayRefIfEEE3$_4NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKdZN4mlir7Builder15getF64ArrayAttrENS_8ArrayRefIdEEE3$_5NS4_9AttributeEEESt26random_access_iterator_tagS9_lPS9_RS9_EneERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKNS_9StringRefEZN4mlir7Builder15getStrArrayAttrENS_8ArrayRefIS2_EEE3$_6NS5_9AttributeEEESt26random_access_iterator_tagSA_lPSA_RSA_EneERKSB_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKN4mlir9AffineMapEZNS2_7Builder21getAffineMapArrayAttrENS_8ArrayRefIS3_EEE3$_7NS2_9AttributeEEESt26random_access_iterator_tagSA_lPSA_RSA_EneERKSB_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterIRNS_11SmallVectorIN4mlir12OpFoldResultELj4EEEEESt20forward_iterator_tagNS1_11result_pairIS7_EElPS5_RS5_EneERKS8_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorIjEESt20forward_iterator_tagNS_14StringMapEntryIjEElPS5_RS5_EneERKS2_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4mlir10DiagnosticESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEEPFRS6_RS9_ESF_EESt26random_access_iterator_tagS6_lPS6_SF_EneERKSJ_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorINS_11SmallVectorIN4mlir6detail12ExpectedDiagELj2EEEEESt20forward_iterator_tagNS_14StringMapEntryIS6_EElPSA_RSA_EneERKS7_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorIN4mlir17AbstractOperationEEESt20forward_iterator_tagNS_14StringMapEntryIS3_EElPS7_RS7_EneERKS4_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorINS_8NoneTypeEEESt20forward_iterator_tagNS_14StringMapEntryIS2_EElPS6_RS6_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEPFbS6_ESt26bidirectional_iterator_tagEESB_S6_lS8_RS7_EneERKSC_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPKN4mlir4TypeEPKNS_8ArrayRefISt4pairINS3_10IdentifierENS3_9AttributeEEEEEEESt26bidirectional_iterator_tagSt5tupleIJRS5_RSD_EElPSK_SK_EneERKSF_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseIN4mlir16ValueUseIteratorINS1_9OpOperandEEESt20forward_iterator_tagS3_lPS3_RS3_EneERKS4_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb1ELb0EEEEESt18input_iterator_tagS6_lPS6_RS6_EneERKS9_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJPN4mlir13BlockArgumentENS1_27indexed_accessor_range_baseINS3_10ValueRangeENS3_6detail15ValueRangeOwnerENS3_5ValueESA_SA_E8iteratorEEEESt26bidirectional_iterator_tagSt5tupleIJRS4_SA_EElPSH_SH_EneERKSD_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail15enumerator_iterIRNS_8ArrayRefIlEEEESt20forward_iterator_tagNS1_11result_pairIS5_EElPKlRSA_EneERKS6_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail12zip_shortestIJSt16reverse_iteratorIPKN4mlir10AffineExprEES3_IPKlEEEESt26bidirectional_iterator_tagSt5tupleIJRS6_RS9_EElPSH_SH_EneERKSC_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_6detail23value_sequence_iteratorIjEESt26random_access_iterator_tagKjlPS5_RS5_EneERKS3_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_22StringMapConstIteratorIPN4mlir9OperationEEESt20forward_iterator_tagKNS_14StringMapEntryIS4_EElPS9_RS9_EneERKS5_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_17StringMapIteratorIPN4mlir9OperationEEESt20forward_iterator_tagNS_14StringMapEntryIS4_EElPS8_RS8_EneERKS5_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EESt26random_access_iterator_tagSG_lPSG_SH_EneERKSI_ Unexecuted instantiation: _ZNK4llvm20iterator_facade_baseINS_23early_inc_iterator_implIN4mlir16ValueUseIteratorINS2_9OpOperandEEEEESt18input_iterator_tagS4_lPS4_RS4_EneERKS6_ |
148 | | |
149 | | bool operator>(const DerivedT &RHS) const { |
150 | | static_assert( |
151 | | IsRandomAccess, |
152 | | "Relational operators are only defined for random access iterators."); |
153 | | return !static_cast<const DerivedT *>(this)->operator<(RHS) && |
154 | | !static_cast<const DerivedT *>(this)->operator==(RHS); |
155 | | } |
156 | | bool operator<=(const DerivedT &RHS) const { |
157 | | static_assert( |
158 | | IsRandomAccess, |
159 | | "Relational operators are only defined for random access iterators."); |
160 | | return !static_cast<const DerivedT *>(this)->operator>(RHS); |
161 | | } |
162 | | bool operator>=(const DerivedT &RHS) const { |
163 | | static_assert( |
164 | | IsRandomAccess, |
165 | | "Relational operators are only defined for random access iterators."); |
166 | | return !static_cast<const DerivedT *>(this)->operator<(RHS); |
167 | | } |
168 | | |
169 | 0 | PointerT operator->() { return &static_cast<DerivedT *>(this)->operator*(); } Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorIPNS_2cl6OptionEEESt20forward_iterator_tagNS_14StringMapEntryIS4_EElPS8_RS8_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_22StringMapConstIteratorIPNS_2cl6OptionEEESt20forward_iterator_tagKNS_14StringMapEntryIS4_EElPS9_RS9_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorISt10unique_ptrINS_3vfs6detail12InMemoryNodeESt14default_deleteIS5_EEEESt20forward_iterator_tagNS_14StringMapEntryIS8_EElPSC_RSC_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_22StringMapConstIteratorISt10unique_ptrINS_3vfs6detail12InMemoryNodeESt14default_deleteIS5_EEEESt20forward_iterator_tagKNS_14StringMapEntryIS8_EElPSD_RSD_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorIbEESt20forward_iterator_tagNS_14StringMapEntryIbEElPS5_RS5_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_3sys4path14const_iteratorESt18input_iterator_tagKNS_9StringRefElPS6_RS6_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir16ValueUseIteratorINS1_12BlockOperandEEESt20forward_iterator_tagS3_lPS3_RS3_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorIjEESt20forward_iterator_tagNS_14StringMapEntryIjEElPS5_RS5_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorINS_11SmallVectorIN4mlir6detail12ExpectedDiagELj2EEEEESt20forward_iterator_tagNS_14StringMapEntryIS6_EElPSA_RSA_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorIN4mlir17AbstractOperationEEESt20forward_iterator_tagNS_14StringMapEntryIS3_EElPS7_RS7_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_22StringMapConstIteratorIPN4mlir9OperationEEESt20forward_iterator_tagKNS_14StringMapEntryIS4_EElPS9_RS9_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseINS_17StringMapIteratorIPN4mlir9OperationEEESt20forward_iterator_tagNS_14StringMapEntryIS4_EElPS8_RS8_EptEv Unexecuted instantiation: _ZN4llvm20iterator_facade_baseIN4mlir16ValueUseIteratorINS1_9OpOperandEEESt20forward_iterator_tagS3_lPS3_RS3_EptEv |
170 | 0 | PointerT operator->() const { |
171 | 0 | return &static_cast<const DerivedT *>(this)->operator*(); |
172 | 0 | } |
173 | | ReferenceProxy operator[](DifferenceTypeT n) { |
174 | | static_assert(IsRandomAccess, |
175 | | "Subscripting is only defined for random access iterators."); |
176 | | return ReferenceProxy(static_cast<DerivedT *>(this)->operator+(n)); |
177 | | } |
178 | | ReferenceProxy operator[](DifferenceTypeT n) const { |
179 | | static_assert(IsRandomAccess, |
180 | | "Subscripting is only defined for random access iterators."); |
181 | | return ReferenceProxy(static_cast<const DerivedT *>(this)->operator+(n)); |
182 | | } |
183 | | }; |
184 | | |
185 | | /// CRTP base class for adapting an iterator to a different type. |
186 | | /// |
187 | | /// This class can be used through CRTP to adapt one iterator into another. |
188 | | /// Typically this is done through providing in the derived class a custom \c |
189 | | /// operator* implementation. Other methods can be overridden as well. |
190 | | template < |
191 | | typename DerivedT, typename WrappedIteratorT, |
192 | | typename IteratorCategoryT = |
193 | | typename std::iterator_traits<WrappedIteratorT>::iterator_category, |
194 | | typename T = typename std::iterator_traits<WrappedIteratorT>::value_type, |
195 | | typename DifferenceTypeT = |
196 | | typename std::iterator_traits<WrappedIteratorT>::difference_type, |
197 | | typename PointerT = std::conditional_t< |
198 | | std::is_same<T, typename std::iterator_traits< |
199 | | WrappedIteratorT>::value_type>::value, |
200 | | typename std::iterator_traits<WrappedIteratorT>::pointer, T *>, |
201 | | typename ReferenceT = std::conditional_t< |
202 | | std::is_same<T, typename std::iterator_traits< |
203 | | WrappedIteratorT>::value_type>::value, |
204 | | typename std::iterator_traits<WrappedIteratorT>::reference, T &>> |
205 | | class iterator_adaptor_base |
206 | | : public iterator_facade_base<DerivedT, IteratorCategoryT, T, |
207 | | DifferenceTypeT, PointerT, ReferenceT> { |
208 | | using BaseT = typename iterator_adaptor_base::iterator_facade_base; |
209 | | |
210 | | protected: |
211 | | WrappedIteratorT I; |
212 | | |
213 | 0 | iterator_adaptor_base() = default; |
214 | | |
215 | 0 | explicit iterator_adaptor_base(WrappedIteratorT u) : I(std::move(u)) { |
216 | 0 | static_assert(std::is_base_of<iterator_adaptor_base, DerivedT>::value, |
217 | 0 | "Must pass the derived type to this template!"); |
218 | 0 | } Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKcPFccEcEES3_St26random_access_iterator_tagclS3_RS2_EC2ES3_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_13AllocatorListINS_4yaml5TokenENS_20BumpPtrAllocatorImplINS_15MallocAllocatorELm4096ELm4096ELm128EEEE12IteratorImplIS3_NS_14ilist_iteratorINS_12ilist_detail12node_optionsINS7_4NodeELb1ELb0EvEELb0ELb0EEEEESE_St26bidirectional_iterator_tagS3_lPS3_RS3_EC2ESE_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EC2ESA_ Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZL23extractFromI64ArrayAttrS3_E4$_15lEES5_St26random_access_iterator_tagllPlRlEC2ES5_ Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateOffsetsERNS2_9OpBuilderENS2_8LocationEE4$_16NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EC2ES5_ Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp16getOrCreateSizesERNS2_9OpBuilderENS2_8LocationEE4$_17NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EC2ES5_ Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateStridesERNS2_9OpBuilderENS2_8LocationEE4$_18NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EC2ES5_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb0ELb0EEEEES8_St18input_iterator_tagS6_lPS6_RS6_EC2ES8_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir10ValueRangeENS4_6detail15ValueRangeOwnerENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EC2ESA_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail23value_sequence_iteratorIlEESt8functionIFNS_7APFloatElEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail23value_sequence_iteratorIlEESt8functionIFNS_5APIntElEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_12BlockOperandEEEPFPNS2_5BlockERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EC2ES5_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_9OpOperandEEEPFPNS2_9OperationERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EC2ES5_ Unexecuted instantiation: AffineMap.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPlZNK4mlir9AffineMap12constantFoldENS_8ArrayRefINS3_9AttributeEEERNS_15SmallVectorImplIS6_EEE3$_0NS3_11IntegerAttrEEES2_St26random_access_iterator_tagSC_lPSC_RSC_EC2ES2_ Unexecuted instantiation: AsmPrinter.cpp:_ZN4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZN12_GLOBAL__N_113ModulePrinter21printOptionalAttrDictENS_8ArrayRefIS6_EENSB_INS_9StringRefEEEbE4$_17St26bidirectional_iterator_tagEES8_SG_S6_lS8_RS7_EC2ES8_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPKPKN4mlir16DialectInterfaceESt6vectorIS7_SaIS7_EEEEPFRKNS4_21OpAsmDialectInterfaceES7_ESG_EESD_St26random_access_iterator_tagSF_lPSF_SG_EC2ESD_ Unexecuted instantiation: Attributes.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_7APFloatEZN4mlir24DenseIntOrFPElementsAttr6getRawENS5_10ShapedTypeEmNS_8ArrayRefIS2_EEbE3$_6NS_5APIntEEES4_St26random_access_iterator_tagSB_lPSB_RSB_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr25ComplexIntElementIteratorESt8functionIFSt7complexINS_7APFloatEERKS6_INS_5APIntEEEES8_EES4_St26random_access_iterator_tagS8_lPS8_RS8_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPN4mlir13BlockArgumentEPFNS2_4TypeENS2_5ValueEES5_EES4_St26random_access_iterator_tagS5_lPS5_RS5_EC2ES4_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKbZN4mlir7Builder16getBoolArrayAttrENS_8ArrayRefIbEEE3$_0NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKiZN4mlir7Builder15getI32ArrayAttrENS_8ArrayRefIiEEE3$_1NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder15getI64ArrayAttrENS_8ArrayRefIlEEE3$_2NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder17getIndexArrayAttrENS_8ArrayRefIlEEE3$_3NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKfZN4mlir7Builder15getF32ArrayAttrENS_8ArrayRefIfEEE3$_4NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKdZN4mlir7Builder15getF64ArrayAttrENS_8ArrayRefIdEEE3$_5NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EC2ES3_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_9StringRefEZN4mlir7Builder15getStrArrayAttrENS_8ArrayRefIS2_EEE3$_6NS5_9AttributeEEES4_St26random_access_iterator_tagSA_lPSA_RSA_EC2ES4_ Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AffineMapEZNS2_7Builder21getAffineMapArrayAttrENS_8ArrayRefIS3_EEE3$_7NS2_9AttributeEEES5_St26random_access_iterator_tagSA_lPSA_RSA_EC2ES5_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4mlir10DiagnosticESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEEPFRS6_RS9_ESF_EESE_St26random_access_iterator_tagS6_lPS6_SF_EC2ESE_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb1ELb0EEEEES8_St18input_iterator_tagS6_lPS6_RS6_EC2ES8_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EES8_St26random_access_iterator_tagSG_lPSG_SH_EC2ES8_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_16pointer_iteratorIPN4mlir6RegionES4_EES4_St26random_access_iterator_tagS4_lPS4_RS4_EC2ES4_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeIRNS_11SmallVectorIS6_Lj4EEEEEDaOT_EUlRS6_E_RS5_EES7_St26random_access_iterator_tagS5_lPS5_SG_EC2ES7_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir11ResultRangeESt4pairIPNS4_9OperationElENS4_8OpResultESA_SA_E8iteratorEPFNS4_4TypeENS4_5ValueEESD_EESC_St26random_access_iterator_tagSD_lPSD_RSD_EC2ESC_ Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implIN4mlir16ValueUseIteratorINS2_9OpOperandEEEEES5_St18input_iterator_tagS4_lPS4_RS4_EC2ES5_ |
219 | | |
220 | 0 | const WrappedIteratorT &wrapped() const { return I; } |
221 | | |
222 | | public: |
223 | | using difference_type = DifferenceTypeT; |
224 | | |
225 | 0 | DerivedT &operator+=(difference_type n) { |
226 | 0 | static_assert( |
227 | 0 | BaseT::IsRandomAccess, |
228 | 0 | "The '+=' operator is only defined for random access iterators."); |
229 | 0 | I += n; |
230 | 0 | return *static_cast<DerivedT *>(this); |
231 | 0 | } Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail23value_sequence_iteratorIlEESt8functionIFNS_7APFloatElEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail23value_sequence_iteratorIlEESt8functionIFNS_5APIntElEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr25ComplexIntElementIteratorESt8functionIFSt7complexINS_7APFloatEERKS6_INS_5APIntEEEES8_EES4_St26random_access_iterator_tagS8_lPS8_RS8_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EES8_St26random_access_iterator_tagSG_lPSG_SH_EpLEl Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeIRNS_11SmallVectorIS6_Lj4EEEEEDaOT_EUlRS6_E_RS5_EES7_St26random_access_iterator_tagS5_lPS5_SG_EpLEl |
232 | | DerivedT &operator-=(difference_type n) { |
233 | | static_assert( |
234 | | BaseT::IsRandomAccess, |
235 | | "The '-=' operator is only defined for random access iterators."); |
236 | | I -= n; |
237 | | return *static_cast<DerivedT *>(this); |
238 | | } |
239 | | using BaseT::operator-; |
240 | 0 | difference_type operator-(const DerivedT &RHS) const { |
241 | 0 | static_assert( |
242 | 0 | BaseT::IsRandomAccess, |
243 | 0 | "The '-' operator is only defined for random access iterators."); |
244 | 0 | return I - RHS.I; |
245 | 0 | } Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKcPFccEcEES3_St26random_access_iterator_tagclS3_RS2_EmiERKS6_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZL23extractFromI64ArrayAttrS3_E4$_15lEES5_St26random_access_iterator_tagllPlRlEmiERKS7_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EmiERKSE_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateOffsetsERNS2_9OpBuilderENS2_8LocationEE4$_16NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EmiERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp16getOrCreateSizesERNS2_9OpBuilderENS2_8LocationEE4$_17NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EmiERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateStridesERNS2_9OpBuilderENS2_8LocationEE4$_18NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EmiERKSC_ Unexecuted instantiation: AffineMap.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPlZNK4mlir9AffineMap12constantFoldENS_8ArrayRefINS3_9AttributeEEERNS_15SmallVectorImplIS6_EEE3$_0NS3_11IntegerAttrEEES2_St26random_access_iterator_tagSC_lPSC_RSC_EmiERKSD_ Unexecuted instantiation: Attributes.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_7APFloatEZN4mlir24DenseIntOrFPElementsAttr6getRawENS5_10ShapedTypeEmNS_8ArrayRefIS2_EEbE3$_6NS_5APIntEEES4_St26random_access_iterator_tagSB_lPSB_RSB_EmiERKSC_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKbZN4mlir7Builder16getBoolArrayAttrENS_8ArrayRefIbEEE3$_0NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKiZN4mlir7Builder15getI32ArrayAttrENS_8ArrayRefIiEEE3$_1NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder15getI64ArrayAttrENS_8ArrayRefIlEEE3$_2NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder17getIndexArrayAttrENS_8ArrayRefIlEEE3$_3NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKfZN4mlir7Builder15getF32ArrayAttrENS_8ArrayRefIfEEE3$_4NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKdZN4mlir7Builder15getF64ArrayAttrENS_8ArrayRefIdEEE3$_5NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EmiERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_9StringRefEZN4mlir7Builder15getStrArrayAttrENS_8ArrayRefIS2_EEE3$_6NS5_9AttributeEEES4_St26random_access_iterator_tagSA_lPSA_RSA_EmiERKSB_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AffineMapEZNS2_7Builder21getAffineMapArrayAttrENS_8ArrayRefIS3_EEE3$_7NS2_9AttributeEEES5_St26random_access_iterator_tagSA_lPSA_RSA_EmiERKSB_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_16pointer_iteratorIPN4mlir6RegionES4_EES4_St26random_access_iterator_tagS4_lPS4_RS4_EmiERKS5_ |
246 | | |
247 | | // We have to explicitly provide ++ and -- rather than letting the facade |
248 | | // forward to += because WrappedIteratorT might not support +=. |
249 | | using BaseT::operator++; |
250 | 0 | DerivedT &operator++() { |
251 | 0 | ++I; |
252 | 0 | return *static_cast<DerivedT *>(this); |
253 | 0 | } Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEPFbS6_ESt26bidirectional_iterator_tagEES8_SB_S6_lS8_RS7_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKcPFccEcEES3_St26random_access_iterator_tagclS3_RS2_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_13AllocatorListINS_4yaml5TokenENS_20BumpPtrAllocatorImplINS_15MallocAllocatorELm4096ELm4096ELm128EEEE12IteratorImplIS3_NS_14ilist_iteratorINS_12ilist_detail12node_optionsINS7_4NodeELb1ELb0EvEELb0ELb0EEEEESE_St26bidirectional_iterator_tagS3_lPS3_RS3_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EppEv Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZL23extractFromI64ArrayAttrS3_E4$_15lEES5_St26random_access_iterator_tagllPlRlEppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_12BlockOperandEEEPFPNS2_5BlockERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_9OpOperandEEEPFPNS2_9OperationERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EppEv Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateOffsetsERNS2_9OpBuilderENS2_8LocationEE4$_16NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EppEv Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp16getOrCreateSizesERNS2_9OpBuilderENS2_8LocationEE4$_17NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EppEv Unexecuted instantiation: Ops.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateStridesERNS2_9OpBuilderENS2_8LocationEE4$_18NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EppEv Unexecuted instantiation: AffineMap.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPlZNK4mlir9AffineMap12constantFoldENS_8ArrayRefINS3_9AttributeEEERNS_15SmallVectorImplIS6_EEE3$_0NS3_11IntegerAttrEEES2_St26random_access_iterator_tagSC_lPSC_RSC_EppEv Unexecuted instantiation: AsmPrinter.cpp:_ZN4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZN12_GLOBAL__N_113ModulePrinter21printOptionalAttrDictENS_8ArrayRefIS6_EENSB_INS_9StringRefEEEbE4$_17St26bidirectional_iterator_tagEES8_SG_S6_lS8_RS7_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPKPKN4mlir16DialectInterfaceESt6vectorIS7_SaIS7_EEEEPFRKNS4_21OpAsmDialectInterfaceES7_ESG_EESD_St26random_access_iterator_tagSF_lPSF_SG_EppEv Unexecuted instantiation: Attributes.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_7APFloatEZN4mlir24DenseIntOrFPElementsAttr6getRawENS5_10ShapedTypeEmNS_8ArrayRefIS2_EEbE3$_6NS_5APIntEEES4_St26random_access_iterator_tagSB_lPSB_RSB_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKbZN4mlir7Builder16getBoolArrayAttrENS_8ArrayRefIbEEE3$_0NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKiZN4mlir7Builder15getI32ArrayAttrENS_8ArrayRefIiEEE3$_1NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder15getI64ArrayAttrENS_8ArrayRefIlEEE3$_2NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder17getIndexArrayAttrENS_8ArrayRefIlEEE3$_3NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKfZN4mlir7Builder15getF32ArrayAttrENS_8ArrayRefIfEEE3$_4NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKdZN4mlir7Builder15getF64ArrayAttrENS_8ArrayRefIdEEE3$_5NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_9StringRefEZN4mlir7Builder15getStrArrayAttrENS_8ArrayRefIS2_EEE3$_6NS5_9AttributeEEES4_St26random_access_iterator_tagSA_lPSA_RSA_EppEv Unexecuted instantiation: Builders.cpp:_ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AffineMapEZNS2_7Builder21getAffineMapArrayAttrENS_8ArrayRefIS3_EEE3$_7NS2_9AttributeEEES5_St26random_access_iterator_tagSA_lPSA_RSA_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4mlir10DiagnosticESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEEPFRS6_RS9_ESF_EESE_St26random_access_iterator_tagS6_lPS6_SF_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EES8_St26random_access_iterator_tagSG_lPSG_SH_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_16pointer_iteratorIPN4mlir6RegionES4_EES4_St26random_access_iterator_tagS4_lPS4_RS4_EppEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeIRNS_11SmallVectorIS6_Lj4EEEEEDaOT_EUlRS6_E_RS5_EES7_St26random_access_iterator_tagS5_lPS5_SG_EppEv |
254 | | using BaseT::operator--; |
255 | 0 | DerivedT &operator--() { |
256 | 0 | static_assert( |
257 | 0 | BaseT::IsBidirectional, |
258 | 0 | "The decrement operator is only defined for bidirectional iterators."); |
259 | 0 | --I; |
260 | 0 | return *static_cast<DerivedT *>(this); |
261 | 0 | } Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_13AllocatorListINS_4yaml5TokenENS_20BumpPtrAllocatorImplINS_15MallocAllocatorELm4096ELm4096ELm128EEEE12IteratorImplIS3_NS_14ilist_iteratorINS_12ilist_detail12node_optionsINS7_4NodeELb1ELb0EvEELb0ELb0EEEEESE_St26bidirectional_iterator_tagS3_lPS3_RS3_EmmEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EmmEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EmmEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EES8_St26random_access_iterator_tagSG_lPSG_SH_EmmEv Unexecuted instantiation: _ZN4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeIRNS_11SmallVectorIS6_Lj4EEEEEDaOT_EUlRS6_E_RS5_EES7_St26random_access_iterator_tagS5_lPS5_SG_EmmEv |
262 | | |
263 | 0 | bool operator==(const DerivedT &RHS) const { return I == RHS.I; } Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKcPFccEcEES3_St26random_access_iterator_tagclS3_RS2_EeqERKS6_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorINS_6detail27indexed_accessor_range_baseIN4mlir12OperandRangeEPNS4_9OpOperandENS4_5ValueES8_S8_E8iteratorEPFNS4_4TypeES8_ESB_EESA_St26random_access_iterator_tagSB_lPSB_RSB_EeqERKSE_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb0ELb0EEEEES8_St18input_iterator_tagS6_lPS6_RS6_EeqERKS9_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_12BlockOperandEEEPFPNS2_5BlockERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EeqERKSB_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir16ValueUseIteratorINS2_9OpOperandEEEPFPNS2_9OperationERS4_ES7_EES5_St20forward_iterator_tagS7_lPS7_RS7_EeqERKSB_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateOffsetsERNS2_9OpBuilderENS2_8LocationEE4$_16NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EeqERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp16getOrCreateSizesERNS2_9OpBuilderENS2_8LocationEE4$_17NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EeqERKSC_ Unexecuted instantiation: Ops.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AttributeEZNS2_9SubViewOp18getOrCreateStridesERNS2_9OpBuilderENS2_8LocationEE4$_18NS2_5ValueEEES5_St26random_access_iterator_tagSB_lPSB_RSB_EeqERKSC_ Unexecuted instantiation: AffineMap.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPlZNK4mlir9AffineMap12constantFoldENS_8ArrayRefINS3_9AttributeEEERNS_15SmallVectorImplIS6_EEE3$_0NS3_11IntegerAttrEEES2_St26random_access_iterator_tagSC_lPSC_RSC_EeqERKSD_ Unexecuted instantiation: AsmPrinter.cpp:_ZNK4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZN12_GLOBAL__N_113ModulePrinter21printOptionalAttrDictENS_8ArrayRefIS6_EENSB_INS_9StringRefEEEbE4$_17St26bidirectional_iterator_tagEES8_SG_S6_lS8_RS7_EeqERKSH_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPKPKN4mlir16DialectInterfaceESt6vectorIS7_SaIS7_EEEEPFRKNS4_21OpAsmDialectInterfaceES7_ESG_EESD_St26random_access_iterator_tagSF_lPSF_SG_EeqERKSJ_ Unexecuted instantiation: Attributes.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_7APFloatEZN4mlir24DenseIntOrFPElementsAttr6getRawENS5_10ShapedTypeEmNS_8ArrayRefIS2_EEbE3$_6NS_5APIntEEES4_St26random_access_iterator_tagSB_lPSB_RSB_EeqERKSC_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN4mlir17DenseElementsAttr18IntElementIteratorESt8functionIFNS_7APFloatERKNS_5APIntEEES6_EES4_St26random_access_iterator_tagS6_lPS6_RS6_EeqERKSC_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKbZN4mlir7Builder16getBoolArrayAttrENS_8ArrayRefIbEEE3$_0NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKiZN4mlir7Builder15getI32ArrayAttrENS_8ArrayRefIiEEE3$_1NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder15getI64ArrayAttrENS_8ArrayRefIlEEE3$_2NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKlZN4mlir7Builder17getIndexArrayAttrENS_8ArrayRefIlEEE3$_3NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKfZN4mlir7Builder15getF32ArrayAttrENS_8ArrayRefIfEEE3$_4NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKdZN4mlir7Builder15getF64ArrayAttrENS_8ArrayRefIdEEE3$_5NS4_9AttributeEEES3_St26random_access_iterator_tagS9_lPS9_RS9_EeqERKSA_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKNS_9StringRefEZN4mlir7Builder15getStrArrayAttrENS_8ArrayRefIS2_EEE3$_6NS5_9AttributeEEES4_St26random_access_iterator_tagSA_lPSA_RSA_EeqERKSB_ Unexecuted instantiation: Builders.cpp:_ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKN4mlir9AffineMapEZNS2_7Builder21getAffineMapArrayAttrENS_8ArrayRefIS3_EEE3$_7NS2_9AttributeEEES5_St26random_access_iterator_tagSA_lPSA_RSA_EeqERKSB_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIN9__gnu_cxx17__normal_iteratorIPSt10unique_ptrIN4mlir10DiagnosticESt14default_deleteIS6_EESt6vectorIS9_SaIS9_EEEEPFRS6_RS9_ESF_EESE_St26random_access_iterator_tagS6_lPS6_SF_EeqERKSJ_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEPFbS6_ESt26bidirectional_iterator_tagEES8_SB_S6_lS8_RS7_EeqERKSC_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implINS_14ilist_iteratorINS_12ilist_detail12node_optionsIN4mlir9OperationELb1ELb0EvEELb1ELb0EEEEES8_St18input_iterator_tagS6_lPS6_RS6_EeqERKS9_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_15mapped_iteratorIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZNS_17make_second_rangeINS_8ArrayRefIS6_EEEEDaOT_EUlRS7_E_RKS5_EES8_St26random_access_iterator_tagSG_lPSG_SH_EeqERKSI_ Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_23early_inc_iterator_implIN4mlir16ValueUseIteratorINS2_9OpOperandEEEEES5_St18input_iterator_tagS4_lPS4_RS4_EeqERKS6_ |
264 | | bool operator<(const DerivedT &RHS) const { |
265 | | static_assert( |
266 | | BaseT::IsRandomAccess, |
267 | | "Relational operators are only defined for random access iterators."); |
268 | | return I < RHS.I; |
269 | | } |
270 | | |
271 | 0 | ReferenceT operator*() const { return *I; } Unexecuted instantiation: AsmPrinter.cpp:_ZNK4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEZN12_GLOBAL__N_113ModulePrinter21printOptionalAttrDictENS_8ArrayRefIS6_EENSB_INS_9StringRefEEEbE4$_17St26bidirectional_iterator_tagEES8_SG_S6_lS8_RS7_EdeEv Unexecuted instantiation: _ZNK4llvm21iterator_adaptor_baseINS_20filter_iterator_baseIPKSt4pairIN4mlir10IdentifierENS3_9AttributeEEPFbS6_ESt26bidirectional_iterator_tagEES8_SB_S6_lS8_RS7_EdeEv |
272 | | }; |
273 | | |
274 | | /// An iterator type that allows iterating over the pointees via some |
275 | | /// other iterator. |
276 | | /// |
277 | | /// The typical usage of this is to expose a type that iterates over Ts, but |
278 | | /// which is implemented with some iterator over T*s: |
279 | | /// |
280 | | /// \code |
281 | | /// using iterator = pointee_iterator<SmallVectorImpl<T *>::iterator>; |
282 | | /// \endcode |
283 | | template <typename WrappedIteratorT, |
284 | | typename T = std::remove_reference_t<decltype( |
285 | | **std::declval<WrappedIteratorT>())>> |
286 | | struct pointee_iterator |
287 | | : iterator_adaptor_base< |
288 | | pointee_iterator<WrappedIteratorT, T>, WrappedIteratorT, |
289 | | typename std::iterator_traits<WrappedIteratorT>::iterator_category, |
290 | | T> { |
291 | | pointee_iterator() = default; |
292 | | template <typename U> |
293 | | pointee_iterator(U &&u) |
294 | | : pointee_iterator::iterator_adaptor_base(std::forward<U &&>(u)) {} |
295 | | |
296 | | T &operator*() const { return **this->I; } |
297 | | }; |
298 | | |
299 | | template <typename RangeT, typename WrappedIteratorT = |
300 | | decltype(std::begin(std::declval<RangeT>()))> |
301 | | iterator_range<pointee_iterator<WrappedIteratorT>> |
302 | | make_pointee_range(RangeT &&Range) { |
303 | | using PointeeIteratorT = pointee_iterator<WrappedIteratorT>; |
304 | | return make_range(PointeeIteratorT(std::begin(std::forward<RangeT>(Range))), |
305 | | PointeeIteratorT(std::end(std::forward<RangeT>(Range)))); |
306 | | } |
307 | | |
308 | | template <typename WrappedIteratorT, |
309 | | typename T = decltype(&*std::declval<WrappedIteratorT>())> |
310 | | class pointer_iterator |
311 | | : public iterator_adaptor_base< |
312 | | pointer_iterator<WrappedIteratorT, T>, WrappedIteratorT, |
313 | | typename std::iterator_traits<WrappedIteratorT>::iterator_category, |
314 | | T> { |
315 | | mutable T Ptr; |
316 | | |
317 | | public: |
318 | | pointer_iterator() = default; |
319 | | |
320 | | explicit pointer_iterator(WrappedIteratorT u) |
321 | 0 | : pointer_iterator::iterator_adaptor_base(std::move(u)) {} |
322 | | |
323 | 0 | T &operator*() { return Ptr = &*this->I; } |
324 | | const T &operator*() const { return Ptr = &*this->I; } |
325 | | }; |
326 | | |
327 | | template <typename RangeT, typename WrappedIteratorT = |
328 | | decltype(std::begin(std::declval<RangeT>()))> |
329 | | iterator_range<pointer_iterator<WrappedIteratorT>> |
330 | 0 | make_pointer_range(RangeT &&Range) { |
331 | 0 | using PointerIteratorT = pointer_iterator<WrappedIteratorT>; |
332 | 0 | return make_range(PointerIteratorT(std::begin(std::forward<RangeT>(Range))), |
333 | 0 | PointerIteratorT(std::end(std::forward<RangeT>(Range)))); |
334 | 0 | } |
335 | | |
336 | | template <typename WrappedIteratorT, |
337 | | typename T1 = std::remove_reference_t<decltype( |
338 | | **std::declval<WrappedIteratorT>())>, |
339 | | typename T2 = std::add_pointer_t<T1>> |
340 | | using raw_pointer_iterator = |
341 | | pointer_iterator<pointee_iterator<WrappedIteratorT, T1>, T2>; |
342 | | |
343 | | // Wrapper iterator over iterator ItType, adding DataRef to the type of ItType, |
344 | | // to create NodeRef = std::pair<InnerTypeOfItType, DataRef>. |
345 | | template <typename ItType, typename NodeRef, typename DataRef> |
346 | | class WrappedPairNodeDataIterator |
347 | | : public iterator_adaptor_base< |
348 | | WrappedPairNodeDataIterator<ItType, NodeRef, DataRef>, ItType, |
349 | | typename std::iterator_traits<ItType>::iterator_category, NodeRef, |
350 | | std::ptrdiff_t, NodeRef *, NodeRef &> { |
351 | | using BaseT = iterator_adaptor_base< |
352 | | WrappedPairNodeDataIterator, ItType, |
353 | | typename std::iterator_traits<ItType>::iterator_category, NodeRef, |
354 | | std::ptrdiff_t, NodeRef *, NodeRef &>; |
355 | | |
356 | | const DataRef DR; |
357 | | mutable NodeRef NR; |
358 | | |
359 | | public: |
360 | | WrappedPairNodeDataIterator(ItType Begin, const DataRef DR) |
361 | | : BaseT(Begin), DR(DR) { |
362 | | NR.first = DR; |
363 | | } |
364 | | |
365 | | NodeRef &operator*() const { |
366 | | NR.second = *this->I; |
367 | | return NR; |
368 | | } |
369 | | }; |
370 | | |
371 | | } // end namespace llvm |
372 | | |
373 | | #endif // LLVM_ADT_ITERATOR_H |