[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 10:30:49 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/31818

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

```
Step 5 (compile-openmp) failure: build (failure)
...
44.052 [613/32/6788] Linking CXX static library lib/libMLIRSparseTensorPipelines.a
44.071 [612/32/6789] Linking CXX static library lib/libMLIRRegisterAllPasses.a
44.086 [611/32/6790] Linking CXX static library lib/libMLIRRegisterAllDialects.a
44.098 [610/32/6791] Linking CXX static library lib/libMLIRRegisterAllExtensions.a
44.113 [609/32/6792] Linking CXX static library lib/libMLIRJitRunner.a
44.127 [608/32/6793] Linking CXX static library lib/libMLIRCAPIGPU.a
44.142 [607/32/6794] Linking CXX static library lib/libMLIRCAPIConversion.a
44.154 [606/32/6795] Linking CXX static library lib/libMLIRCAPIRegisterEverything.a
44.596 [605/32/6796] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/cmake_pch.hxx.gch
45.118 [604/32/6797] Linking CXX shared library lib/libLTO.so.22.0git
FAILED: lib/libLTO.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-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -Wl,-z,defs -Wl,-z,nodelete   -Wl,-rpath-link,/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./lib  -Wl,--gc-sections  -Wl,--version-script,"/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/tools/lto/LTO.exports" -shared -Wl,-soname,libLTO.so.22.0git -o lib/libLTO.so.22.0git tools/lto/CMakeFiles/LTO.dir/LTODisassembler.cpp.o tools/lto/CMakeFiles/LTO.dir/lto.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMX86AsmParser.a  lib/libLLVMAMDGPUAsmParser.a  lib/libLLVMX86CodeGen.a  lib/libLLVMAMDGPUCodeGen.a  lib/libLLVMX86Desc.a  lib/libLLVMAMDGPUDesc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMAMDGPUDisassembler.a  lib/libLLVMX86Info.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMBitReader.a  lib/libLLVMCore.a  lib/libLLVMCodeGen.a  lib/libLLVMLTO.a  lib/libLLVMMC.a  lib/libLLVMMCDisassembler.a  lib/libLLVMSupport.a  lib/libLLVMTarget.a  lib/libLLVMTargetParser.a  lib/libLLVMAsmPrinter.a  lib/libLLVMMIRParser.a  lib/libLLVMAMDGPUDesc.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMAMDGPUUtils.a  lib/libLLVMPasses.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMTarget.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMIRPrinter.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMHipStdPar.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMInstrumentation.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMScalarOpts.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMExtensions.a  lib/libLLVMInstCombine.a  lib/libLLVMLinker.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMObject.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMTextAPI.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  lib/libLLVMDemangle.a  -lrt  -ldl  -lpthread  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so && :
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: lib/libLLVMInstCombine.a(InstCombineSelect.cpp.o): in function `llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::{lambda(bool, llvm::Value*, llvm::Value*)#2}::operator()(bool, llvm::Value*, llvm::Value*) const':
InstCombineSelect.cpp:(.text.unlikely._ZZN4llvm16InstCombinerImpl15visitSelectInstERNS_10SelectInstEENKUlbPNS_5ValueES4_E0_clEbS4_S4_+0x127): undefined reference to `ProfcheckDisableMetadataFixes'
collect2: error: ld returned 1 exit status
45.335 [604/31/6798] Linking CXX executable bin/llvm-lto
FAILED: bin/llvm-lto 
: && /usr/bin/c++ -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-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,-rpath-link,/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./lib  -Wl,--gc-sections tools/llvm-lto/CMakeFiles/llvm-lto.dir/llvm-lto.cpp.o -o bin/llvm-lto  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMX86AsmParser.a  lib/libLLVMAMDGPUAsmParser.a  lib/libLLVMX86CodeGen.a  lib/libLLVMAMDGPUCodeGen.a  lib/libLLVMX86Desc.a  lib/libLLVMAMDGPUDesc.a  lib/libLLVMX86Info.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMBitReader.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGen.a  lib/libLLVMCore.a  lib/libLLVMIRReader.a  lib/libLLVMipo.a  lib/libLLVMLTO.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMTarget.a  lib/libLLVMTargetParser.a  -lpthread  lib/libLLVMMCDisassembler.a  lib/libLLVMAMDGPUUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMMIRParser.a  lib/libLLVMPasses.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMTarget.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMIRPrinter.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMHipStdPar.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMInstrumentation.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMScalarOpts.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMLinker.a  lib/libLLVMTransformUtils.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMObject.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMTextAPI.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMExtensions.a  lib/libLLVMSupport.a  lib/libLLVMDemangle.a  -lrt  -ldl  -lpthread  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so && :
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: lib/libLLVMInstCombine.a(InstCombineSelect.cpp.o): in function `llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::{lambda(bool, llvm::Value*, llvm::Value*)#2}::operator()(bool, llvm::Value*, llvm::Value*) const':
InstCombineSelect.cpp:(.text.unlikely._ZZN4llvm16InstCombinerImpl15visitSelectInstERNS_10SelectInstEENKUlbPNS_5ValueES4_E0_clEbS4_S4_+0x127): undefined reference to `ProfcheckDisableMetadataFixes'
collect2: error: ld returned 1 exit status
45.457 [604/30/6799] Building CXX object tools/flang/unittests/Evaluate/CMakeFiles/folding.test.dir/folding.cpp.o
45.515 [604/29/6800] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o
45.876 [604/28/6801] Building CXX object tools/flang/lib/Optimizer/Support/CMakeFiles/FIRSupport.dir/InternalNames.cpp.o
46.228 [604/27/6802] Linking CXX executable bin/clang-sycl-linker
46.231 [604/26/6803] Building CXX object tools/flang/test/lib/OpenACC/CMakeFiles/FIRTestOpenACCInterfaces.dir/TestOpenACCInterfaces.cpp.o
46.782 [604/25/6804] Linking CXX executable bin/lld
FAILED: bin/lld 
: && /usr/bin/c++ -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-array-bounds -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wno-comment -Wno-misleading-indentation -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -Wl,--export-dynamic  -Wl,-rpath-link,/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./lib tools/lld/tools/lld/CMakeFiles/lld.dir/lld.cpp.o tools/lld/tools/lld/CMakeFiles/lld.dir/lld-driver.cpp.o -o bin/lld  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMSupport.a  lib/libLLVMTargetParser.a  -lpthread  lib/liblldCommon.a  lib/liblldCOFF.a  lib/liblldELF.a  lib/liblldMachO.a  lib/liblldMinGW.a  lib/liblldWasm.a  lib/liblldCOFF.a  lib/libLLVMLibDriver.a  lib/libLLVMWindowsDriver.a  lib/libLLVMWindowsManifest.a  lib/liblldCommon.a  lib/libLLVMOption.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMAMDGPUCodeGen.a  lib/libLLVMAsmPrinter.a  lib/libLLVMMIRParser.a  lib/libLLVMAMDGPUAsmParser.a  lib/libLLVMAMDGPUDisassembler.a  lib/libLLVMAMDGPUDesc.a  lib/libLLVMMCDisassembler.a  lib/libLLVMAMDGPUInfo.a  lib/libLLVMAMDGPUUtils.a  lib/libLLVMLTO.a  lib/libLLVMExtensions.a  lib/libLLVMPasses.a  lib/libLLVMCFGuard.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMCodeGen.a  lib/libLLVMCGData.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTarget.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMIRPrinter.a  lib/libLLVMHipStdPar.a  lib/libLLVMCoroutines.a  lib/libLLVMipo.a  lib/libLLVMBitWriter.a  lib/libLLVMInstrumentation.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMLinker.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMTransformUtils.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMAnalysis.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMFrontendDirective.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoDWARF.a  lib/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMObject.a  lib/libLLVMTextAPI.a  lib/libLLVMMCParser.a  lib/libLLVMMC.a  lib/libLLVMIRReader.a  lib/libLLVMBitReader.a  lib/libLLVMAsmParser.a  lib/libLLVMCore.a  lib/libLLVMRemarks.a  lib/libLLVMBitstreamReader.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMSupport.a  -lrt  -ldl  -lpthread  -lm  /usr/lib64/libz.so  /usr/lib64/libzstd.so  lib/libLLVMDemangle.a && cd /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/tools/lld/tools/lld && /usr/bin/cmake -E create_symlink lld /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./bin/lld-link && cd /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/tools/lld/tools/lld && /usr/bin/cmake -E create_symlink lld /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./bin/ld.lld && cd /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/tools/lld/tools/lld && /usr/bin/cmake -E create_symlink lld /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./bin/ld64.lld && cd /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/tools/lld/tools/lld && /usr/bin/cmake -E create_symlink lld /home/botworker/bbot/builds/openmp-offload-sles-build/llvm.build/./bin/wasm-ld
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: lib/libLLVMInstCombine.a(InstCombineSelect.cpp.o): in function `llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::{lambda(bool, llvm::Value*, llvm::Value*)#2}::operator()(bool, llvm::Value*, llvm::Value*) const':
InstCombineSelect.cpp:(.text.unlikely._ZZN4llvm16InstCombinerImpl15visitSelectInstERNS_10SelectInstEENKUlbPNS_5ValueES4_E0_clEbS4_S4_+0x127): undefined reference to `ProfcheckDisableMetadataFixes'
collect2: error: ld returned 1 exit status
46.835 [604/24/6805] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Execute.cpp.o
47.135 [604/23/6806] Building CXX object tools/flang/lib/Optimizer/Builder/CMakeFiles/FIRBuilder.dir/Runtime/Inquiry.cpp.o
47.510 [604/22/6807] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/LLVMInsertChainFolder.cpp.o
47.518 [604/21/6808] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/ExpressionSimplification.cpp.o
47.615 [604/20/6809] Building CXX object tools/flang/lib/Optimizer/HLFIR/Transforms/CMakeFiles/HLFIRTransforms.dir/InlineHLFIRCopyIn.cpp.o
47.974 [604/19/6810] Building CXX object tools/flang/lib/Optimizer/Transforms/CMakeFiles/FIRTransforms.dir/MemoryUtils.cpp.o
49.702 [604/18/6811] Building CXX object tools/flang/lib/Optimizer/Dialect/CUF/CMakeFiles/CUFDialect.dir/CUFDialect.cpp.o
50.885 [604/17/6812] Building CXX object tools/flang/lib/Optimizer/CodeGen/CMakeFiles/FIRCodeGen.dir/Target.cpp.o
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp: In static member function ‘static std::optional<std::vector<mlir::Type, std::allocator<mlir::Type> > > {anonymous}::TargetAArch64::flattenTypeList(const TypeList&)’:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp:865:23: warning: unused variable ‘c’ [-Wunused-variable]
     for (auto [c, type] : types) {
                       ^
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp: In member function ‘{anonymous}::TargetAArch64::NRegs {anonymous}::TargetAArch64::usedRegsForRecordType(mlir::Location, fir::RecordType) const’:
/home/botworker/bbot/builds/openmp-offload-sles-build/llvm.src/flang/lib/Optimizer/CodeGen/Target.cpp:930:22: warning: unused variable ‘align’ [-Wunused-variable]
     auto [size, align] = fir::getTypeSizeAndAlignmentOrCrash(
                      ^
At global scope:

```

</details>

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


More information about the llvm-commits mailing list