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

    <tr>
        <th>Summary</th>
        <td>
            LoopVectorize.cpp: fails to build with gcc 6 on Debian stretch with `error: binding 'const llvm::TargetTransformInfo' to reference of type 'llvm::TargetTransformInfo&' discards qualifiers`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Introduced by https://reviews.llvm.org/D125918

This broke the build with g++ 6:

```

$ /usr/bin/g++-6 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/Transforms/Vectorize -I"/root/llvm-toolchain-snapshot-15~++20220704115541+740633ff08ff/llvm/lib/Transforms/Vectorize" -Iinclude -I"/root/llvm-toolchain-snapshot-15~++20220704115541+740633ff08ff/llvm/include" -fstack-protector-strong -Wformat -Werror=format-security -Wno-unused-command-line-argument -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -Wmisleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -no-canonical-prefixes -O3 -DNDEBUG  -fno-exceptions -std=c++14 -MD -MT lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -MF lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o.d -o lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/LoopVectorize.cpp.o -c '/root/llvm-toolchain-snapshot-15~++20220704115541+740633ff08ff/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp'

/root/llvm-toolchain-snapshot-15~++20220704115541+740633ff08ff/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp: In member function 'llvm::SmallVector<llvm::LoopVectorizationCostModel::RegisterUsage, 8u> llvm::LoopVectorizationCostModel::calculateRegisterUsage(llvm::ArrayRef<llvm::ElementCount>)':
/root/llvm-toolchain-snapshot-15~++20220704115541+740633ff08ff/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:5875:30: error: binding 'const llvm::TargetTransformInfo' to reference of type 'llvm::TargetTransformInfo&' discards qualifiers
   auto GetRegUsage = [&TTI = TTI](Type *Ty, ElementCount VF) -> unsigned {
                              ^~~

```
cc @peterwaller-arm 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNVltP6zgQ_jXpi5UqlyYND30ovaBKFFYQONon5NiT1otjZ20HTvfXn3HSpWXPWbQvrEDBbjye-SbfXOxK88Nso5zRvGPASXUge-daG6TzIFnjY-BFwKsdS_nSjLXZ4dIyTrKLuAiiZRDNh7HcC0sqo5-BuD2QqhOSk1fh9gQVLvEhubd4phHk0fE5X0wmBAE6a3CshMLxqB_mJFw-Xd08PN3fPtwtVv7t6b5cLp4Wtzf35fymfNrOF3e39yfB-vZuO_95-Xqz3ZxWN1JUiFIaqmytTWPx5RGY00b8BSgOksSToLXDyXMQOq0l21OhQqtoa_fahXEWTFeDn0mUJNE0msRxlk1iXJhOojxN6zoq6vpowk8foCIkAgvFZMc_0YUjQI9WW0fZc9ga7XovQosJoXYk_Oa9ow5_gDHaBOlyWAgtsM4Id0CJ0mGnOgs8ZLppqOKhFApCanZdA8rrcuogdKIBHwUMS7lZ_36MI1r0-L9tFjiiJQtowQkWCuXAtNoKJ7RC2YuwohISIVHkAWy4F5yDOvPtDOcbldJLvjtD3_nYUkMbQNu4-opfAP5bhdpZfGfUuvDPjspBoxHWoiSsBUiOqOgKlRggg3tb4L2fw06JZPXDUZEeKkDAkwr3LIBE3FBpFb4I4xAm5Mj1oOKpG8hCVAmUe2Ch8PscPTLABd0pbRHU4nbpNeu6U8yLfTz8bP0-6ujZuzdOEVQwBGwN1OI74PJtisG4Wa4uH67IQD18Z9AelazjyCcbEiqekHC7xP-SfJy368WWPsNaSPCC6-vH7ZtwzIWv6Wut29Maa9uxRrvrz7A7Rs715zjMsElN__-28LMz3o137fMLuJTOyUaRBpoKa-zv_PSE9QbxEEjn9w1W56AVpIvT-rmxPusXmO5bjYUzyO9gJyyW7oOlOwRfkKIL0hX57wawBFgnsUv8w1JxMjE3hh7uoH7n2EqCr86F7pRDxCC58MynX4v2rJhmOKWRD8GxJc4JnqK-l_gAMCxtd8ZWiS0a3BvGRtUadxGnCXYJMKAYEF0Td2jhffx-qZh7XS4so4Zb4ruowMZp7MARIYR2aPkKHHLf006ww5AgQ1Lystz0bzgH2RLjUQ6Y8_Lgw3xOP3nEW8kFCX3gO2XFTmFzDaaXbzAf_AXZyscBn3-_iDAs7knU-hPiFbMUDB5kDRnxWcov0gs6csJJmP0y7WsqpPX0nV9_0F5OsACWUAmqCB424Nh-ECLoF4pTHo06I2fvr3879LOrxng8neWmz3K8K_yBBPiLhLVd3z-zPJ1ORvtZHfGc0ixJWZEW8ZQVOS_iPE7jOk5qyIqRpBVIO-tjnyh4Jb0Jf8_JliMxeyuRNIvTi3GRpEVe0Zzmk7oqJhMMD14ShHy7ko7MrHep6nYWhRIr-3RfHVHbJwn0cGgf03Cvzcwe5Av4aIx68Fnv_A8ZBZKg">