[llvm] [CFIFixup] Factor logic into helpers and use range-based loops (NFC) (PR #125137)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 12:53:17 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-x86_64-debian-dylib` running on `gribozavr4` while building `llvm` at step 5 "build-unified-tree".

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

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

```
Step 5 (build-unified-tree) failure: build (failure)
...
9.163 [2843/39/4253] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/DumpAST.cpp.o
9.174 [2843/38/4254] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/SwapBinaryOperands.cpp.o
9.182 [2843/37/4255] Building CXX object tools/clang/lib/Interpreter/CMakeFiles/obj.clangInterpreter.dir/Interpreter.cpp.o
9.184 [2843/36/4256] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/PopulateSwitch.cpp.o
9.211 [2843/35/4257] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/SwapIfBranches.cpp.o
9.218 [2843/34/4258] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ExtractVariable.cpp.o
9.224 [2843/33/4259] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/RawStringLiteral.cpp.o
9.254 [2843/32/4260] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/ObjCLocalizeStringLiteral.cpp.o
9.305 [2843/31/4261] Building CXX object tools/clang/tools/extra/clangd/refactor/tweaks/CMakeFiles/obj.clangDaemonTweaks.dir/RemoveUsingNamespace.cpp.o
10.054 [2843/30/4262] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o
FAILED: lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes /usr/bin/ccache /usr/bin/clang++ -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-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/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CFIFixup.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CFIFixup.cpp
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CFIFixup.cpp:174:10: warning: local variable 'BlockInfo' will be copied despite being returned by name [-Wreturn-std-move]
  return BlockInfo;
         ^~~~~~~~~
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CFIFixup.cpp:174:10: note: call 'std::move' explicitly to avoid copying
  return BlockInfo;
         ^~~~~~~~~
         std::move(BlockInfo)
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CFIFixup.cpp:174:10: error: no viable conversion from returned value of type 'SmallVector<[...], 32>' to function return type 'SmallVector<[...], (default) CalculateSmallVectorDefaultInlinedElements<T>::value aka 40>'
  return BlockInfo;
         ^~~~~~~~~
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1226:3: note: candidate constructor not viable: no known conversion from 'SmallVector<BlockFlags, 32>' to 'std::initializer_list<BlockFlags>' for 1st argument
  SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1236:3: note: candidate constructor not viable: no known conversion from 'SmallVector<BlockFlags, 32>' to 'const llvm::SmallVector<BlockFlags, 40> &' for 1st argument
  SmallVector(const SmallVector &RHS) : SmallVectorImpl<T>(N) {
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1246:3: note: candidate constructor not viable: no known conversion from 'SmallVector<BlockFlags, 32>' to 'llvm::SmallVector<BlockFlags, 40> &&' for 1st argument
  SmallVector(SmallVector &&RHS) : SmallVectorImpl<T>(N) {
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1251:3: note: candidate constructor not viable: no known conversion from 'SmallVector<BlockFlags, 32>' to 'SmallVectorImpl<BlockFlags> &&' for 1st argument
  SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1205:12: note: explicit constructor is not a candidate
  explicit SmallVector(size_t Size)
           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1221:12: note: explicit constructor is not a candidate
  explicit SmallVector(const iterator_range<RangeTy> &R)
           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1232:12: note: explicit constructor is not a candidate
  explicit SmallVector(ArrayRef<U> A) : SmallVectorImpl<T>(N) {
           ^
1 warning and 1 error generated.
10.217 [2843/29/4263] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/IRSymtab.cpp.o
10.252 [2843/28/4264] Building X86GenDAGISel.inc...
10.504 [2843/27/4265] Building X86GenSubtargetInfo.inc...
10.615 [2843/26/4266] Building AArch64GenSubtargetInfo.inc...
11.408 [2843/25/4267] Building AArch64GenInstrInfo.inc...

```

</details>

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


More information about the llvm-commits mailing list