[clang] [llvm] [HLSL][DXIL][SPRIV] Added WaveActiveProduct intrinsic #164385 (PR #165109)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 22 05:18:34 PST 2026


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `hip-third-party-libs-test` running on `ext_buildbot_hw_05-hip-docker` while building `clang,llvm` at step 4 "annotate".

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

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

```
Step 4 (annotate) failure: '../llvm-zorg/zorg/buildbot/builders/annotated/hip-tpl.py --jobs=32' (failure)
...
[3704/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIPreEmitPeephole.cpp.o
[3705/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstrInfo.cpp.o
[3706/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVTypeInst.cpp.o
[3707/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVAPI.cpp.o
[3708/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIMachineFunctionInfo.cpp.o
[3709/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInlineAsmLowering.cpp.o
[3710/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIShrinkInstructions.cpp.o
[3711/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVCBufferAccess.cpp.o
[3712/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIOptimizeVGPRLiveRange.cpp.o
[3713/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o
FAILED: lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o 
ccache /usr/bin/c++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/hip-third-party-libs-test/build/lib/Target/SPIRV -I/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV -I/home/botworker/bbot/hip-third-party-libs-test/build/include -I/home/botworker/bbot/hip-third-party-libs-test/llvm-project/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-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -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 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o -MF lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o.d -o lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o -c /home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:253:56: error: ‘SPIRVType’ does not name a type
  253 |   bool selectWaveReduceProduct(Register ResVReg, const SPIRVType *ResType,
      |                                                        ^~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2898:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2898 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMax : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2913:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2913 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMin : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: At global scope:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2930:62: error: ‘SPIRVType’ does not name a type
 2930 |                                                        const SPIRVType *ResType,
      |                                                              ^~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In member function ‘bool {anonymous}::SPIRVInstructionSelector::selectWaveReduceProduct(llvm::Register, const int*, llvm::MachineInstr&) const’:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2932:26: error: no matching function for call to ‘{anonymous}::SPIRVInstructionSelector::selectWaveReduce(llvm::Register&, const int*&, llvm::MachineInstr&, bool, {anonymous}::SPIRVInstructionSelector::selectWaveReduceProduct(llvm::Register, const int*, llvm::MachineInstr&) const::<lambda(llvm::Register, bool)>) const’
 2932 |   return selectWaveReduce(ResVReg, ResType, I, /*IsUnsigned*/ false,
      |          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2933 |                           [&](Register InputRegister, bool IsUnsigned) {
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2934 |                             bool IsFloatTy = GR.isScalarOrVectorOfType(
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2935 |                                 InputRegister, SPIRV::OpTypeFloat);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2936 |                             return IsFloatTy ? SPIRV::OpGroupNonUniformFMul
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2937 |                                              : SPIRV::OpGroupNonUniformIMul;
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2938 |                           });
      |                           ~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:240:8: note: candidate: ‘template<class PickOpcodeFn> bool {anonymous}::SPIRVInstructionSelector::selectWaveReduce(llvm::Register, llvm::SPIRVTypeInst, llvm::MachineInstr&, bool, PickOpcodeFn&&) const’
  240 |   bool selectWaveReduce(Register ResVReg, SPIRVTypeInst ResType,
      |        ^~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:240:8: note:   template argument deduction/substitution failed:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2932:36: note:   cannot convert ‘ResType’ (type ‘const int*’) to type ‘llvm::SPIRVTypeInst’
 2932 |   return selectWaveReduce(ResVReg, ResType, I, /*IsUnsigned*/ false,
Step 7 (build cmake config) failure: build cmake config (failure)
...
[3704/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIPreEmitPeephole.cpp.o
[3705/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstrInfo.cpp.o
[3706/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVTypeInst.cpp.o
[3707/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVAPI.cpp.o
[3708/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIMachineFunctionInfo.cpp.o
[3709/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInlineAsmLowering.cpp.o
[3710/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIShrinkInstructions.cpp.o
[3711/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVCBufferAccess.cpp.o
[3712/8499] Building CXX object lib/Target/AMDGPU/CMakeFiles/LLVMAMDGPUCodeGen.dir/SIOptimizeVGPRLiveRange.cpp.o
[3713/8499] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o
FAILED: lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o 
ccache /usr/bin/c++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/botworker/bbot/hip-third-party-libs-test/build/lib/Target/SPIRV -I/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV -I/home/botworker/bbot/hip-third-party-libs-test/build/include -I/home/botworker/bbot/hip-third-party-libs-test/llvm-project/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-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-array-bounds -Wno-stringop-overread -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 -fPIC -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o -MF lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o.d -o lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o -c /home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:253:56: error: ‘SPIRVType’ does not name a type
  253 |   bool selectWaveReduceProduct(Register ResVReg, const SPIRVType *ResType,
      |                                                        ^~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2898:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2898 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMax : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In lambda function:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2913:26: warning: enumerated and non-enumerated type in conditional expression [-Wextra]
 2913 |         return IsFloatTy ? SPIRV::OpGroupNonUniformFMin : IntOp;
      |                ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: At global scope:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2930:62: error: ‘SPIRVType’ does not name a type
 2930 |                                                        const SPIRVType *ResType,
      |                                                              ^~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp: In member function ‘bool {anonymous}::SPIRVInstructionSelector::selectWaveReduceProduct(llvm::Register, const int*, llvm::MachineInstr&) const’:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2932:26: error: no matching function for call to ‘{anonymous}::SPIRVInstructionSelector::selectWaveReduce(llvm::Register&, const int*&, llvm::MachineInstr&, bool, {anonymous}::SPIRVInstructionSelector::selectWaveReduceProduct(llvm::Register, const int*, llvm::MachineInstr&) const::<lambda(llvm::Register, bool)>) const’
 2932 |   return selectWaveReduce(ResVReg, ResType, I, /*IsUnsigned*/ false,
      |          ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2933 |                           [&](Register InputRegister, bool IsUnsigned) {
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2934 |                             bool IsFloatTy = GR.isScalarOrVectorOfType(
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2935 |                                 InputRegister, SPIRV::OpTypeFloat);
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2936 |                             return IsFloatTy ? SPIRV::OpGroupNonUniformFMul
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2937 |                                              : SPIRV::OpGroupNonUniformIMul;
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2938 |                           });
      |                           ~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:240:8: note: candidate: ‘template<class PickOpcodeFn> bool {anonymous}::SPIRVInstructionSelector::selectWaveReduce(llvm::Register, llvm::SPIRVTypeInst, llvm::MachineInstr&, bool, PickOpcodeFn&&) const’
  240 |   bool selectWaveReduce(Register ResVReg, SPIRVTypeInst ResType,
      |        ^~~~~~~~~~~~~~~~
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:240:8: note:   template argument deduction/substitution failed:
/home/botworker/bbot/hip-third-party-libs-test/llvm-project/llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp:2932:36: note:   cannot convert ‘ResType’ (type ‘const int*’) to type ‘llvm::SPIRVTypeInst’
 2932 |   return selectWaveReduce(ResVReg, ResType, I, /*IsUnsigned*/ false,

```

</details>

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


More information about the llvm-commits mailing list