Coverage Report

Created: 2020-06-26 05:44

/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