[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:26:12 PDT 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `lldb-aarch64-ubuntu` running on `linaro-lldb-aarch64-ubuntu` while building `llvm` at step 4 "build".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/59/builds/25161
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 4 (build) failure: build (failure)
...
203.547 [3430/10/3459] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AMDGPU.cpp.o
203.549 [3429/10/3460] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AArch64.cpp.o
203.552 [3429/9/3461] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/AVR.cpp.o
203.556 [3429/8/3462] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/LoongArch.cpp.o
203.560 [3429/7/3463] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/Mips.cpp.o
203.561 [3429/6/3464] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/Hexagon.cpp.o
203.563 [3429/5/3465] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/ARM.cpp.o
203.574 [3429/4/3466] Building CXX object tools/lld/ELF/CMakeFiles/lldELF.dir/Arch/MipsArchTree.cpp.o
203.931 [3429/3/3467] Building CXX object tools/lld/Common/CMakeFiles/lldCommon.dir/Version.cpp.o
204.013 [3429/2/3468] Linking CXX executable bin/llvm-lto
FAILED: bin/llvm-lto
: && /usr/local/bin/c++ -fPIC -fno-semantic-interposition -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 -fuse-ld=lld -Wl,--color-diagnostics -Wl,--gc-sections tools/llvm-lto/CMakeFiles/llvm-lto.dir/llvm-lto.cpp.o -o bin/llvm-lto -Wl,-rpath,"\$ORIGIN/../lib:" lib/libLLVMAArch64AsmParser.a lib/libLLVMAMDGPUAsmParser.a lib/libLLVMARMAsmParser.a lib/libLLVMAVRAsmParser.a lib/libLLVMBPFAsmParser.a lib/libLLVMHexagonAsmParser.a lib/libLLVMLanaiAsmParser.a lib/libLLVMLoongArchAsmParser.a lib/libLLVMMipsAsmParser.a lib/libLLVMMSP430AsmParser.a lib/libLLVMPowerPCAsmParser.a lib/libLLVMRISCVAsmParser.a lib/libLLVMSparcAsmParser.a lib/libLLVMSystemZAsmParser.a lib/libLLVMVEAsmParser.a lib/libLLVMWebAssemblyAsmParser.a lib/libLLVMX86AsmParser.a lib/libLLVMAArch64CodeGen.a lib/libLLVMAMDGPUCodeGen.a lib/libLLVMARMCodeGen.a lib/libLLVMAVRCodeGen.a lib/libLLVMBPFCodeGen.a lib/libLLVMHexagonCodeGen.a lib/libLLVMLanaiCodeGen.a lib/libLLVMLoongArchCodeGen.a lib/libLLVMMipsCodeGen.a lib/libLLVMMSP430CodeGen.a lib/libLLVMNVPTXCodeGen.a lib/libLLVMPowerPCCodeGen.a lib/libLLVMRISCVCodeGen.a lib/libLLVMSparcCodeGen.a lib/libLLVMSPIRVCodeGen.a lib/libLLVMSystemZCodeGen.a lib/libLLVMVECodeGen.a lib/libLLVMWebAssemblyCodeGen.a lib/libLLVMX86CodeGen.a lib/libLLVMXCoreCodeGen.a lib/libLLVMAArch64Desc.a lib/libLLVMAMDGPUDesc.a lib/libLLVMARMDesc.a lib/libLLVMAVRDesc.a lib/libLLVMBPFDesc.a lib/libLLVMHexagonDesc.a lib/libLLVMLanaiDesc.a lib/libLLVMLoongArchDesc.a lib/libLLVMMipsDesc.a lib/libLLVMMSP430Desc.a lib/libLLVMNVPTXDesc.a lib/libLLVMPowerPCDesc.a lib/libLLVMRISCVDesc.a lib/libLLVMSparcDesc.a lib/libLLVMSPIRVDesc.a lib/libLLVMSystemZDesc.a lib/libLLVMVEDesc.a lib/libLLVMWebAssemblyDesc.a lib/libLLVMX86Desc.a lib/libLLVMXCoreDesc.a lib/libLLVMAArch64Info.a lib/libLLVMAMDGPUInfo.a lib/libLLVMARMInfo.a lib/libLLVMAVRInfo.a lib/libLLVMBPFInfo.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiInfo.a lib/libLLVMLoongArchInfo.a lib/libLLVMMipsInfo.a lib/libLLVMMSP430Info.a lib/libLLVMNVPTXInfo.a lib/libLLVMPowerPCInfo.a lib/libLLVMRISCVInfo.a lib/libLLVMSparcInfo.a lib/libLLVMSPIRVInfo.a lib/libLLVMSystemZInfo.a lib/libLLVMVEInfo.a lib/libLLVMWebAssemblyInfo.a lib/libLLVMX86Info.a lib/libLLVMXCoreInfo.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 lib/libLLVMAArch64Utils.a lib/libLLVMAMDGPUUtils.a lib/libLLVMMIRParser.a lib/libLLVMARMUtils.a lib/libLLVMHexagonAsmParser.a lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiAsmParser.a lib/libLLVMLanaiDesc.a lib/libLLVMLanaiInfo.a lib/libLLVMSPIRVAnalysis.a lib/libLLVMWebAssemblyUtils.a lib/libLLVMWebAssemblyDesc.a lib/libLLVMWebAssemblyInfo.a lib/libLLVMMCDisassembler.a lib/libLLVMAsmPrinter.a lib/libLLVMPasses.a lib/libLLVMCFGuard.a lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMTarget.a lib/libLLVMCodeGenTypes.a lib/libLLVMHipStdPar.a lib/libLLVMIRPrinter.a lib/libLLVMCoroutines.a lib/libLLVMipo.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/libLLVMInstrumentation.a lib/libLLVMObjCARCOpts.a lib/libLLVMCGData.a lib/libLLVMBitWriter.a lib/libLLVMAggressiveInstCombine.a lib/libLLVMInstCombine.a lib/libLLVMLinker.a lib/libLLVMTransformUtils.a lib/libLLVMAnalysis.a lib/libLLVMFrontendHLSL.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/libLLVMCore.a lib/libLLVMRemarks.a lib/libLLVMBitstreamReader.a lib/libLLVMMCParser.a lib/libLLVMMC.a lib/libLLVMTextAPI.a lib/libLLVMBinaryFormat.a lib/libLLVMTargetParser.a lib/libLLVMDebugInfoCodeView.a lib/libLLVMDebugInfoMSF.a lib/libLLVMDebugInfoBTF.a lib/libLLVMExtensions.a lib/libLLVMSupport.a lib/libLLVMDemangle.a -lrt -ldl -lm /usr/lib/aarch64-linux-gnu/libz.so && :
ld.lld: error: undefined symbol: ProfcheckDisableMetadataFixes
>>> referenced by InstCombineSelect.cpp
>>> InstCombineSelect.cpp.o:(llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::$_1::operator()(bool, llvm::Value*, llvm::Value*) const) in archive lib/libLLVMInstCombine.a
>>> referenced by InstCombineSelect.cpp
>>> InstCombineSelect.cpp.o:(llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::$_1::operator()(bool, llvm::Value*, llvm::Value*) const) in archive lib/libLLVMInstCombine.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
204.025 [3429/1/3469] Linking CXX shared library lib/libLTO.so.22.0git
FAILED: lib/libLTO.so.22.0git
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -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 -Wl,-z,defs -Wl,-z,nodelete -fuse-ld=lld -Wl,--color-diagnostics -Wl,--gc-sections -Wl,--version-script,"/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/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/libLLVMAArch64AsmParser.a lib/libLLVMAMDGPUAsmParser.a lib/libLLVMARMAsmParser.a lib/libLLVMAVRAsmParser.a lib/libLLVMBPFAsmParser.a lib/libLLVMHexagonAsmParser.a lib/libLLVMLanaiAsmParser.a lib/libLLVMLoongArchAsmParser.a lib/libLLVMMipsAsmParser.a lib/libLLVMMSP430AsmParser.a lib/libLLVMPowerPCAsmParser.a lib/libLLVMRISCVAsmParser.a lib/libLLVMSparcAsmParser.a lib/libLLVMSystemZAsmParser.a lib/libLLVMVEAsmParser.a lib/libLLVMWebAssemblyAsmParser.a lib/libLLVMX86AsmParser.a lib/libLLVMAArch64CodeGen.a lib/libLLVMAMDGPUCodeGen.a lib/libLLVMARMCodeGen.a lib/libLLVMAVRCodeGen.a lib/libLLVMBPFCodeGen.a lib/libLLVMHexagonCodeGen.a lib/libLLVMLanaiCodeGen.a lib/libLLVMLoongArchCodeGen.a lib/libLLVMMipsCodeGen.a lib/libLLVMMSP430CodeGen.a lib/libLLVMNVPTXCodeGen.a lib/libLLVMPowerPCCodeGen.a lib/libLLVMRISCVCodeGen.a lib/libLLVMSparcCodeGen.a lib/libLLVMSPIRVCodeGen.a lib/libLLVMSystemZCodeGen.a lib/libLLVMVECodeGen.a lib/libLLVMWebAssemblyCodeGen.a lib/libLLVMX86CodeGen.a lib/libLLVMXCoreCodeGen.a lib/libLLVMAArch64Desc.a lib/libLLVMAMDGPUDesc.a lib/libLLVMARMDesc.a lib/libLLVMAVRDesc.a lib/libLLVMBPFDesc.a lib/libLLVMHexagonDesc.a lib/libLLVMLanaiDesc.a lib/libLLVMLoongArchDesc.a lib/libLLVMMipsDesc.a lib/libLLVMMSP430Desc.a lib/libLLVMNVPTXDesc.a lib/libLLVMPowerPCDesc.a lib/libLLVMRISCVDesc.a lib/libLLVMSparcDesc.a lib/libLLVMSPIRVDesc.a lib/libLLVMSystemZDesc.a lib/libLLVMVEDesc.a lib/libLLVMWebAssemblyDesc.a lib/libLLVMX86Desc.a lib/libLLVMXCoreDesc.a lib/libLLVMAArch64Disassembler.a lib/libLLVMAMDGPUDisassembler.a lib/libLLVMARMDisassembler.a lib/libLLVMAVRDisassembler.a lib/libLLVMBPFDisassembler.a lib/libLLVMHexagonDisassembler.a lib/libLLVMLanaiDisassembler.a lib/libLLVMLoongArchDisassembler.a lib/libLLVMMipsDisassembler.a lib/libLLVMMSP430Disassembler.a lib/libLLVMPowerPCDisassembler.a lib/libLLVMRISCVDisassembler.a lib/libLLVMSparcDisassembler.a lib/libLLVMSystemZDisassembler.a lib/libLLVMVEDisassembler.a lib/libLLVMWebAssemblyDisassembler.a lib/libLLVMX86Disassembler.a lib/libLLVMXCoreDisassembler.a lib/libLLVMAArch64Info.a lib/libLLVMAMDGPUInfo.a lib/libLLVMARMInfo.a lib/libLLVMAVRInfo.a lib/libLLVMBPFInfo.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiInfo.a lib/libLLVMLoongArchInfo.a lib/libLLVMMipsInfo.a lib/libLLVMMSP430Info.a lib/libLLVMNVPTXInfo.a lib/libLLVMPowerPCInfo.a lib/libLLVMRISCVInfo.a lib/libLLVMSparcInfo.a lib/libLLVMSPIRVInfo.a lib/libLLVMSystemZInfo.a lib/libLLVMVEInfo.a lib/libLLVMWebAssemblyInfo.a lib/libLLVMX86Info.a lib/libLLVMXCoreInfo.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/libLLVMMIRParser.a lib/libLLVMHexagonAsmParser.a lib/libLLVMLanaiAsmParser.a lib/libLLVMSPIRVAnalysis.a lib/libLLVMWebAssemblyUtils.a lib/libLLVMAsmPrinter.a lib/libLLVMAArch64Desc.a lib/libLLVMAArch64Info.a lib/libLLVMAArch64Utils.a lib/libLLVMAMDGPUDesc.a lib/libLLVMAMDGPUInfo.a lib/libLLVMAMDGPUUtils.a lib/libLLVMARMDesc.a lib/libLLVMARMInfo.a lib/libLLVMARMUtils.a lib/libLLVMHexagonDesc.a lib/libLLVMHexagonInfo.a lib/libLLVMLanaiDesc.a lib/libLLVMLanaiInfo.a lib/libLLVMLoongArchDesc.a lib/libLLVMLoongArchInfo.a lib/libLLVMRISCVDesc.a lib/libLLVMRISCVInfo.a lib/libLLVMSystemZDesc.a lib/libLLVMSystemZInfo.a lib/libLLVMWebAssemblyDesc.a lib/libLLVMWebAssemblyInfo.a lib/libLLVMMCDisassembler.a lib/libLLVMPasses.a lib/libLLVMCFGuard.a lib/libLLVMGlobalISel.a lib/libLLVMSelectionDAG.a lib/libLLVMCodeGen.a lib/libLLVMTarget.a lib/libLLVMCodeGenTypes.a lib/libLLVMHipStdPar.a lib/libLLVMIRPrinter.a lib/libLLVMCoroutines.a lib/libLLVMipo.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/libLLVMInstrumentation.a lib/libLLVMObjCARCOpts.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/libLLVMFrontendHLSL.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/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 -lm /usr/lib/aarch64-linux-gnu/libz.so && :
ld.lld: error: undefined symbol: ProfcheckDisableMetadataFixes
>>> referenced by InstCombineSelect.cpp
>>> InstCombineSelect.cpp.o:(llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::$_1::operator()(bool, llvm::Value*, llvm::Value*) const) in archive lib/libLLVMInstCombine.a
>>> referenced by InstCombineSelect.cpp
>>> InstCombineSelect.cpp.o:(llvm::InstCombinerImpl::visitSelectInst(llvm::SelectInst&)::$_1::operator()(bool, llvm::Value*, llvm::Value*) const) in archive lib/libLLVMInstCombine.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
```
</details>
https://github.com/llvm/llvm-project/pull/159666
More information about the llvm-commits
mailing list