[llvm] [VPlan] Expand AddRecs in VPSCEVExpander (PR #209921)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 16 06:31:40 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanUtils.cpp.obj</summary>

```
FAILED: [code=1] lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VPlanUtils.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\_work\llvm-project\llvm-project\build\lib\Transforms\Vectorize -IC:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize -IC:\_work\llvm-project\llvm-project\build\include -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw /O2 /Ob2  -std:c++17 -MD -UNDEBUG /EHs-c- /GR- /showIncludes /Folib\Transforms\Vectorize\CMakeFiles\LLVMVectorize.dir\VPlanUtils.cpp.obj /Fdlib\Transforms\Vectorize\CMakeFiles\LLVMVectorize.dir\LLVMVectorize.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.cpp
In file included from C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.cpp:9:
In file included from C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:12:
In file included from C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlan.h:27:
In file included from C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanValue.h:23:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h:20:
In file included from C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ADL.h:13:
In file included from C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\iterator:11:
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xutility(1481,13): error: object of type 'llvm::mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>' cannot be assigned because its copy assignment operator is implicitly deleted
1481 |         _It = _STD forward<_UIter>(_UIt);
|             ^
C:\BuildTools\VC\Tools\MSVC\14.44.35207\include\xutility(6629,10): note: in instantiation of function template specialization 'std::_Seek_wrapped<llvm::mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>, llvm::mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)> &>' requested here
6629 |     _STD _Seek_wrapped(_First, _UFirst);
|          ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h(1773,15): note: in instantiation of function template specialization 'std::find_if<llvm::mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.cpp:910:41)>' requested here
1773 |   return std::find_if(adl_begin(Range), adl_end(Range), P);
|               ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h(334,7): note: copy assignment operator of 'mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>' is implicitly deleted because base class 'iterator_adaptor_base<mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>, llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>, typename std::iterator_traits<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>>::iterator_category, std::remove_reference_t<llvm::VPIRBasicBlock *>, typename std::iterator_traits<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>>::difference_type, std::remove_reference_t<llvm::VPIRBasicBlock *> *, llvm::VPIRBasicBlock *>' (aka 'iterator_adaptor_base<mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>, llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>, std::forward_iterator_tag, llvm::VPIRBasicBlock *, long long, llvm::VPIRBasicBlock **, llvm::VPIRBasicBlock *>') has a deleted copy assignment operator
334 |     : public iterator_adaptor_base<
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/iterator.h(244,20): note: copy assignment operator of 'iterator_adaptor_base<llvm::mapped_iterator<llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:320:30)>, llvm::filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>, std::forward_iterator_tag, llvm::VPIRBasicBlock *, long long, llvm::VPIRBasicBlock **, llvm::VPIRBasicBlock *>' is implicitly deleted because field 'I' has a deleted copy assignment operator
244 |   WrappedIteratorT I;
|                    ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h(485,7): note: copy assignment operator of 'filter_iterator_impl<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17)>' is implicitly deleted because base class 'filter_iterator_base<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>, llvm::df_iterator_default_set<llvm::VPBlockBase *, 8>, false, llvm::GraphTraits<VPBlockShallowTraversalWrapper<VPBlockBase *>>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26), llvm::VPBlockBase &>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>' has a deleted copy assignment operator
485 |     : public filter_iterator_base<WrappedIteratorT, PredicateT, IterTag> {
|       ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/STLExtras.h(443,14): note: copy assignment operator of 'filter_iterator_base<llvm::mapped_iterator<llvm::df_iterator<llvm::VPBlockShallowTraversalWrapper<llvm::VPBlockBase *>>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:317:26)>, (lambda at C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h:319:17), std::forward_iterator_tag>' is implicitly deleted because field 'Pred' has a deleted copy assignment operator
443 |   PredicateT Pred;
|              ^
C:\_work\llvm-project\llvm-project\llvm\lib\Transforms\Vectorize\VPlanUtils.h(319,17): note: lambda expression begins here
319 |         Mapped, [](BaseTy &Block) { return isa<BlockTy>(&Block); });
|                 ^
1 error generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/209921


More information about the llvm-commits mailing list