[llvm] [InstCombine] Preserve profile after folding select instructions with conditionals (PR #159666)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 3 15:52:32 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-nvptx64-nvidia-ubuntu` running on `as-builder-7` while building `llvm` at step 5 "build-unified-tree".

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

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

```
Step 5 (build-unified-tree) failure: build (failure)
...
/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/ProfileData/SampleProf.h: In instantiation of ‘llvm::sampleprof_error llvm::sampleprof::FunctionSamples::addCallsiteVTableTypeProfAt(const llvm::sampleprof::LineLocation&, const T&, uint64_t) [with T = llvm::DenseMap<llvm::StringRef, long unsigned int>; uint64_t = long unsigned int]’:
/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/lib/ProfileData/SampleProfReader.cpp:465:68:   required from here
/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/ProfileData/SampleProf.h:1075:21: warning: loop variable ‘<structured bindings>’ creates a copy from type ‘const llvm::detail::DenseMapPair<llvm::StringRef, long unsigned int>’ [-Wrange-loop-construct]
 1075 |     for (const auto [Type, Count] : Other) {
      |                     ^~~~~~~~~~~~~
/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/llvm-project/llvm/include/llvm/ProfileData/SampleProf.h:1075:21: note: use reference type to prevent copying
 1075 |     for (const auto [Type, Count] : Other) {
      |                     ^~~~~~~~~~~~~
      |                     &
47.472 [614/7/2209] Linking CXX shared library lib/libLLVMInstCombine.so.22.0git
FAILED: lib/libLLVMInstCombine.so.22.0git 
: && /usr/bin/c++ -fPIC -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-dangling-reference -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  -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=gold   -Wl,--gc-sections -shared -Wl,-soname,libLLVMInstCombine.so.22.0git -o lib/libLLVMInstCombine.so.22.0git lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstructionCombining.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAddSub.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAtomicRMW.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineAndOrXor.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCalls.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCasts.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineCompares.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineLoadStoreAlloca.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineMulDivRem.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineNegator.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombinePHI.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineSelect.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineShifts.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineSimplifyDemanded.cpp.o lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineVectorOps.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/build/lib:"  lib/libLLVMTransformUtils.so.22.0git  lib/libLLVMAnalysis.so.22.0git  lib/libLLVMCore.so.22.0git  lib/libLLVMSupport.so.22.0git  -Wl,-rpath-link,/home/buildbot/worker/as-builder-7/llvm-nvptx64-nvidia-ubuntu/build/lib && :
lib/Transforms/InstCombine/CMakeFiles/LLVMInstCombine.dir/InstCombineSelect.cpp.o:InstCombineSelect.cpp:function llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::{lambda(bool, llvm::Value*, llvm::Value*)#1}::operator()(bool, llvm::Value*, llvm::Value*) const:(.text._ZZN4llvm16InstCombinerImpl15visitSelectInstERNS_10SelectInstEENKUlbPNS_5ValueES4_E_clEbS4_S4_+0x363): error: undefined reference to 'ProfcheckDisableMetadataFixes'
collect2: error: ld returned 1 exit status
47.594 [614/4/2212] Linking CXX shared library lib/libLLVMVectorize.so.22.0git
53.992 [614/2/2214] Building CXX object lib/CodeGen/AsmPrinter/CMakeFiles/LLVMAsmPrinter.dir/AsmPrinter.cpp.o
54.898 [614/1/2215] Building CXX object lib/LTO/CMakeFiles/LLVMLTO.dir/LTO.cpp.o
ninja: build stopped: subcommand failed.

```

</details>

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


More information about the llvm-commits mailing list