[llvm] [Utils] Consolidate `LockstepReverseIterator` into own header (NFC) (PR #116657)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 21 15:07:58 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `lld-x86_64-ubuntu-fast` running on `as-builder-4` while building `llvm` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/11744

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
35.582 [1856/64/2014] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMCallingConv.cpp.o
35.594 [1855/64/2015] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMCallLowering.cpp.o
35.610 [1854/64/2016] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMConstantIslandPass.cpp.o
35.618 [1853/64/2017] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMConstantPoolValue.cpp.o
35.626 [1852/64/2018] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMExpandPseudoInsts.cpp.o
35.630 [1851/64/2019] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFastISel.cpp.o
35.638 [1850/64/2020] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFixCortexA57AES1742098Pass.cpp.o
35.650 [1849/64/2021] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMFrameLowering.cpp.o
35.662 [1848/64/2022] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMHazardRecognizer.cpp.o
35.670 [1847/64/2023] Building CXX object lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o
FAILED: lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/c++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/include -I/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -MF lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o.d -o lib/Transforms/Utils/CMakeFiles/LLVMTransformUtils.dir/SimplifyCFG.cpp.o -c /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |   ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:33: error: ‘LRI’ was not declared in this scope
 2503 |   LockstepReverseIterator<true> LRI(UnconditionalPreds);
      |                                 ^~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: reference to ‘LockstepReverseIterator’ is ambiguous
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:1787:7: note: candidates are: ‘class {anonymous}::LockstepReverseIterator’
 1787 | class LockstepReverseIterator {
      |       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:77:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h:41:7: note:                 ‘template<bool EarlyFailure> class llvm::LockstepReverseIterator’
   41 | class LockstepReverseIterator
      |       ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:44: error: ‘LockstepReverseIterator’ has not been declared
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2533:67: error: expected ‘,’ or ‘...’ before ‘<’ token
 2533 |     auto ProfitableToSinkInstruction = [&](LockstepReverseIterator<true> &LRI) {
      |                                                                   ^
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: At global scope:
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2206:13: warning: ‘bool canSinkInstructions(llvm::ArrayRef<llvm::Instruction*>, llvm::DenseMap<const llvm::Use*, llvm::SmallVector<llvm::Value*, 4> >&)’ defined but not used [-Wunused-function]
 2206 | static bool canSinkInstructions(
      |             ^~~~~~~~~~~~~~~~~~~
35.671 [1847/63/2024] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMInstructionSelector.cpp.o
35.671 [1847/62/2025] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMISelDAGToDAG.cpp.o
35.672 [1847/61/2026] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMISelLowering.cpp.o

```

</details>

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


More information about the llvm-commits mailing list