<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/134703>134703</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            MLIR: Block.getOperations().size() is O(N)
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          wsmoses
      </td>
    </tr>
</table>

<pre>
    ```
#5 llvm::simple_ilist<mlir::Operation>::size (this=0x555566edd530) at external/llvm-project/llvm/include/llvm/ADT/simple_ilist.h:142
142 [[nodiscard]] size_type size() const { return std::distance(begin(), end()); }
(gdb) down 
#4  0x0000555555fe3a96 in std::distance<llvm::ilist_iterator<llvm::ilist_detail::node_options<mlir::Operation, false, false, void, false, void>, false, true> > (__last=..., __first=...) at /usr/include/c++/13/bits/stl_iterator_base_funcs.h:151
151           return std::__distance(__first, __last,
(gdb) l
146         inline _GLIBCXX17_CONSTEXPR
147         typename iterator_traits<_InputIterator>::difference_type
148 distance(_InputIterator __first, _InputIterator __last)
149         {
150 // concept requirements -- taken care of in __distance
151 return std::__distance(__first, __last,
152 std::__iterator_category(__first));
153         }
154
155 template<typename _InputIterator, typename _Distance>
(gdb) down
#3 0x0000555555fe7f22 in std::__distance<llvm::ilist_iterator<llvm::ilist_detail::node_options<mlir::Operation, false, false, void, false, void>, false, true> > (__first=..., __last=...) at /usr/include/c++/13/bits/stl_iterator_base_funcs.h:90
90 ++__first;
(gdb) l
85 __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
86
87 typename iterator_traits<_InputIterator>::difference_type __n = 0;
88            while (__first != __last)
89              {
90 ++__first;
91                ++__n;
92              }
93 return __n;
94          }
(gdb) 
```
cc @ftynse @chelini 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzUVk2TozYQ_TXypWtcQgIDBw7-TE3VZie12cPcKAGNrawsHEnMR359SsLG2DO5JLmsyqZAaonXr99DEtbKvUYsSLIiyWYmenfoTPFqj51FO6u65r0gC3r-0SVhPAGlXo6ELwlfWnk8KSylktYRvj4qaYaBpxMa4WSnCd9eQv9CICxzB2kJ39C3JEmSxQKbJuGUsByEA3xzaLRQhO38Ox5OpvsDa3d-JGwnda36Bq8dy813wnZTGPMD4csoZoT6K4S8VrprpK2FaUiyIckGPJjSvZ8w3BGWeQB1p60Dkq7AoOuNBuuaAXsjrRO69oEV7qUeJhC2BtTN5SEnfAUk3QSWsn1T-TWb7lXDwFsMQN8opTQJrUUu8gXIz17D11eKQ1KldJ7Pznwy1KATUg09umuw7E6eePsP9WBraIWyeHPz0snmYwff3vQ50yPhWwh_lpWlEr7qm_l87ofLspXm2hEKStiut-amcDVhq_DbRZywXSWd9RV0asyxrITFsu11bYdiJpEvZhLBtd1XqCwnNbogCaACSLa-qYoK4liMq0mtpEYof_nyuFo_P0dpuX76-vv37fNv30JkOkZ6zWhxRBjBOiN8CnxdPupT7x7HQm0vRW1bNKjrQXBhvQymaG_mwRT8_ciQSx7WyEdMJF0Ffqinm7CdF3KNJwcG_-ylwSNqZ-HhAZz4gRpqYRC61itvwtpA8L-hNUrYdMJITC0c7jvzPp15tkmYxScJbEJPHK4JODyelHDeByPfd-x6OY5Dm9E32w_mG7zH76yXtozdWG-S6E9ivhuzjRX5382X-69-7qXlJ46vXX3wU5ZAWe6VrOq3tzDfJ1yeJWg_6Hw9aPRT3wSFZwt_Sf-746AsNRC-ATrAzrLJdwReD1LhhFEgLPLBU7NlOdy0wXCfk5JHcNcuQfocwO4X8-LP-cV718D4PuhKuH-Y7Mp1DSSmrXvXFv1dfUAltYRZU_Am57mYYRGlcUwTmub57FCkPE7ili4WUVYLmmaCcV5nGW-TdhHRKJ_JglGW0JimUcZ5lM8rniOjIhUNb7JFHpGY4lFINfeOmHdmP5PW9lhEPE4pnylRobLhVMFYcAJj_nxhirCxV_3ekph6C9nrCk46hcWvXx6_Eb6ElerqH_M9utE-dthq55M9W1p4Iiz7Slg-640qDs6drJdB-BLupTv01bzujtcTw93BIqC2wRAB-EvB_g4AAP__ddS9EQ">