[llvm] [VectorCombine] Support nary operands and intrinsics in scalarizeOpOrCmp (PR #138406)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Wed May 28 02:02:08 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `openmp-offload-sles-build-only` running on `rocm-worker-hw-04-sles` while building `llvm` at step 5 "compile-openmp".

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

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

```
Step 5 (compile-openmp) failure: build (failure)
...
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Basic/PointerAuthOptions.h:75:39: warning: ‘clang::PointerAuthSchema::DiscriminationKind’ is too small to hold all values of ‘enum class clang::PointerAuthSchema::Discrimination’
   Discrimination DiscriminationKind : 2;
                                       ^
cc1plus: warning: unrecognized command line option ‘-Wno-unnecessary-virtual-specifier’
7.599 [3468/32/3705] Building CXX object tools/clang/lib/Basic/CMakeFiles/obj.clangBasic.dir/XRayLists.cpp.o
7.605 [3467/32/3706] Building LinalgStructuredOps.h.inc...
7.608 [3466/32/3707] Building LinalgStructuredOps.cpp.inc...
7.609 [3465/32/3708] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/HeaderMap.cpp.o
7.611 [3464/32/3709] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/DependencyDirectivesScanner.cpp.o
7.616 [3463/32/3710] Building CXX object lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o
FAILED: lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o 
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 -Ilib/Transforms/Vectorize -I/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize -Iinclude -I/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/include -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 -Wimplicit-fallthrough -Wno-uninitialized -Wno-nonnull -Wno-noexcept-type -Wno-unnecessary-virtual-specifier -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++1z -MD -MT lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o -MF lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o.d -o lib/Transforms/Vectorize/CMakeFiles/LLVMVectorize.dir/VectorCombine.cpp.o -c /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize/VectorCombine.cpp: In member function ‘bool {anonymous}::VectorCombine::scalarizeOpOrCmp(llvm::Instruction&)’:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize/VectorCombine.cpp:1055:17: error: operands to ?: have different types ‘llvm::iterator_range<llvm::Use*>’ and ‘llvm::iterator_range<llvm::User::value_op_iterator>’
   auto Ops = II ? II->args() : I.operand_values();
              ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize/VectorCombine.cpp:1055:17: note:   and each type can be converted to the other
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/llvm/lib/Transforms/Vectorize/VectorCombine.cpp:1056:20: error: unable to deduce ‘auto&&’ from ‘Ops’
   for (Value *Op : Ops) {
                    ^~~
At global scope:
cc1plus: warning: unrecognized command line option ‘-Wno-unnecessary-virtual-specifier’
7.617 [3463/31/3711] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/LexHLSLRootSignature.cpp.o
7.618 [3463/30/3712] Building CXX object tools/clang/lib/Lex/CMakeFiles/obj.clangLex.dir/InitHeaderSearch.cpp.o
7.621 [3463/29/3713] Building LinalgRelayoutOps.cpp.inc...
7.623 [3463/28/3714] Building LinalgRelayoutOps.h.inc...
7.670 [3463/27/3715] Building CXX object tools/clang/lib/Tooling/DependencyScanning/CMakeFiles/obj.clangDependencyScanning.dir/ModuleDepCollector.cpp.o
In file included from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Basic/CodeGenOptions.h:17:0,
                 from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Frontend/CompilerInvocation.h:13,
                 from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h:15,
                 from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp:9:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Basic/PointerAuthOptions.h:70:18: warning: ‘clang::PointerAuthSchema::TheKind’ is too small to hold all values of ‘enum class clang::PointerAuthSchema::Kind’
   Kind TheKind : 2;
                  ^
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Basic/PointerAuthOptions.h:74:58: warning: ‘clang::PointerAuthSchema::SelectedAuthenticationMode’ is too small to hold all values of ‘enum class clang::PointerAuthenticationMode’
   PointerAuthenticationMode SelectedAuthenticationMode : 2;
                                                          ^
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Basic/PointerAuthOptions.h:75:39: warning: ‘clang::PointerAuthSchema::DiscriminationKind’ is too small to hold all values of ‘enum class clang::PointerAuthSchema::Discrimination’
   Discrimination DiscriminationKind : 2;
                                       ^
In file included from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h:19:0,
                 from /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp:9:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Serialization/ASTReader.h:245:16: warning: ‘virtual bool clang::ASTReaderListener::visitInputFile(llvm::StringRef, llvm::StringRef, bool, bool, bool)’ was hidden [-Woverloaded-virtual]
   virtual bool visitInputFile(StringRef FilenameAsRequested, StringRef Filename,
                ^~~~~~~~~~~~~~
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/clang/include/clang/Serialization/ASTReader.h:306:8: warning:   by ‘virtual bool clang::ChainedASTReaderListener::visitInputFile(llvm::StringRef, bool, bool, bool)’ [-Woverloaded-virtual]
   bool visitInputFile(StringRef Filename, bool isSystem,
        ^~~~~~~~~~~~~~
cc1plus: warning: unrecognized command line option ‘-Wno-unnecessary-virtual-specifier’

```

</details>

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


More information about the llvm-commits mailing list