Skip to content

Conversation

topperc
Copy link
Collaborator

@topperc topperc commented Sep 4, 2025

As noted in 156787

@llvmbot
Copy link
Member

llvmbot commented Sep 4, 2025

@llvm/pr-subscribers-backend-risc-v

Author: Craig Topper (topperc)

Changes

As noted in 156787


Full diff: https://github.com/llvm/llvm-project/pull/156798.diff

1 Files Affected:

  • (modified) llvm/lib/Target/RISCV/RISCVTargetMachine.cpp (+2-1)
diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
index d70b1d0dc8d58..460bb33f2553a 100644
--- a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+++ b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
@@ -652,7 +652,8 @@ void RISCVPassConfig::addPostRegAlloc() {
 void RISCVTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB) {
   PB.registerLateLoopOptimizationsEPCallback([=](LoopPassManager &LPM,
                                                  OptimizationLevel Level) {
-    LPM.addPass(LoopIdiomVectorizePass(LoopIdiomVectorizeStyle::Predicated));
+    if (Level != OptimizationLevel::O0)
+      LPM.addPass(LoopIdiomVectorizePass(LoopIdiomVectorizeStyle::Predicated));
   });
 }
 

Copy link
Contributor

@arsenm arsenm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kind of would expect "LateLoopOptimizations" to not be called in the -O0 pipeline setup, rather than every target needing to make all of these optional points no-ops

@mshockwave
Copy link
Member

I kind of would expect "LateLoopOptimizations" to not be called in the -O0 pipeline setup, rather than every target needing to make all of these optional points no-ops

What I understand is that not just late loop optimization, but these extension point / callbacks in general will always be invoked even in O0 pipelines which barely have any meaningful optimizations. I guess it was for maintaining a consistency in behavior

Copy link
Member

@mshockwave mshockwave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@topperc topperc merged commit c51db9f into llvm:main Sep 4, 2025
10 of 11 checks passed
@topperc topperc deleted the pr/loop-idiom-vectorize branch September 4, 2025 16:23
@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 4, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-a-1 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
[4975/5179] Linking CXX static library lib/liblldELF.a
[4976/5179] Linking CXX static library lib/libclangCodeGen.a
[4977/5179] Linking CXX static library lib/libclangFrontendTool.a
[4978/5179] Linking CXX executable bin/opt
[4979/5179] Linking CXX executable bin/llvm-lto
[4980/5179] Building CXX object tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o
[4981/5179] Linking CXX executable bin/llvm-jitlink
[4982/5179] Building CXX object tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/RewriteInstance.cpp.o
[4983/5179] Linking CXX static library lib/libLLVMBOLTRewrite.a
[4984/5179] Linking CXX executable bin/llvm-bolt-binary-analysis
FAILED: bin/llvm-bolt-binary-analysis 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/binary-analysis/CMakeFiles/llvm-bolt-binary-analysis.dir/binary-analysis.cpp.o -o bin/llvm-bolt-binary-analysis  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4985/5179] Linking CXX executable bin/llvm-bolt-heatmap
FAILED: bin/llvm-bolt-heatmap 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/heatmap/CMakeFiles/llvm-bolt-heatmap.dir/heatmap.cpp.o -o bin/llvm-bolt-heatmap  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4986/5179] Linking CXX executable bin/llvm-bolt
FAILED: bin/llvm-bolt 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/driver/CMakeFiles/llvm-bolt.dir/llvm-bolt.cpp.o -o bin/llvm-bolt  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/tools/bolt/tools/driver && /usr/bin/cmake -E create_symlink llvm-bolt /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/./bin/perf2bolt && cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/tools/bolt/tools/driver && /usr/bin/cmake -E create_symlink llvm-bolt /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/./bin/llvm-boltdiff
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4987/5179] Building CXX object tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o
[4988/5179] Building CXX object tools/llvm-readobj/CMakeFiles/obj.llvm-readobj.dir/ELFDumper.cpp.o
ninja: build stopped: subcommand failed.
['ninja', '-C', '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix', 'toolchain-distribution'] exited with return code 1.
@@@STEP_FAILURE@@@
@@@BUILD_STEP check@@@
Running: ninja -C /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix check-llvm check-clang check-lld
ninja: Entering directory `/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix'
[1/1420] Linking CXX static library lib/libLLVMTableGenBasic.a
[2/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/HardwareUnits/HardwareUnit.cpp.o
[3/1420] Linking CXX static library lib/libLLVMTableGenCommon.a
[4/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/CodeEmitter.cpp.o
[5/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/HardwareUnits/RetireControlUnit.cpp.o
[6/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/IncrementalSourceMgr.cpp.o
[7/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/Support.cpp.o
[8/1420] Building CXX object lib/Frontend/OpenACC/CMakeFiles/LLVMFrontendOpenACC.dir/ACC.cpp.o
[9/1420] Linking CXX static library lib/libLLVMFrontendOpenACC.a
[10/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/Instruction.cpp.o
[11/1420] Building CXX object lib/MCA/CMakeFiles/LLVMMCA.dir/HWEventListener.cpp.o
Step 6 (build) failure: build (failure)
...
[4975/5179] Linking CXX static library lib/liblldELF.a
[4976/5179] Linking CXX static library lib/libclangCodeGen.a
[4977/5179] Linking CXX static library lib/libclangFrontendTool.a
[4978/5179] Linking CXX executable bin/opt
[4979/5179] Linking CXX executable bin/llvm-lto
[4980/5179] Building CXX object tools/llvm-jitlink/CMakeFiles/llvm-jitlink.dir/llvm-jitlink.cpp.o
[4981/5179] Linking CXX executable bin/llvm-jitlink
[4982/5179] Building CXX object tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/RewriteInstance.cpp.o
[4983/5179] Linking CXX static library lib/libLLVMBOLTRewrite.a
[4984/5179] Linking CXX executable bin/llvm-bolt-binary-analysis
FAILED: bin/llvm-bolt-binary-analysis 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/binary-analysis/CMakeFiles/llvm-bolt-binary-analysis.dir/binary-analysis.cpp.o -o bin/llvm-bolt-binary-analysis  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4985/5179] Linking CXX executable bin/llvm-bolt-heatmap
FAILED: bin/llvm-bolt-heatmap 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/heatmap/CMakeFiles/llvm-bolt-heatmap.dir/heatmap.cpp.o -o bin/llvm-bolt-heatmap  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && :
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4986/5179] Linking CXX executable bin/llvm-bolt
FAILED: bin/llvm-bolt 
: && /usr/bin/clang++ -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 -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -ffat-lto-objects -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix=../../llvm-project -ffile-prefix-map=/var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/= -no-canonical-prefixes -O3 -DNDEBUG -static-libstdc++ -fuse-ld=lld -Wl,--color-diagnostics -ffat-lto-objects    -Wl,--gc-sections tools/bolt/tools/driver/CMakeFiles/llvm-bolt.dir/llvm-bolt.cpp.o -o bin/llvm-bolt  -Wl,-rpath,"\$ORIGIN/../lib:"  lib/libLLVMAArch64CodeGen.a  lib/libLLVMAArch64AsmParser.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Disassembler.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMX86CodeGen.a  lib/libLLVMX86AsmParser.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Disassembler.a  lib/libLLVMX86Info.a  lib/libLLVMRISCVCodeGen.a  lib/libLLVMRISCVAsmParser.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVDisassembler.a  lib/libLLVMRISCVInfo.a  lib/libLLVMMC.a  lib/libLLVMObject.a  lib/libLLVMSupport.a  lib/libLLVMBOLTProfile.a  lib/libLLVMBOLTRewrite.a  lib/libLLVMBOLTUtils.a  lib/libLLVMCFGuard.a  lib/libLLVMIRPrinter.a  lib/libLLVMGlobalISel.a  lib/libLLVMSelectionDAG.a  lib/libLLVMipo.a  lib/libLLVMVectorize.a  lib/libLLVMSandboxIR.a  lib/libLLVMInstrumentation.a  lib/libLLVMFrontendOpenMP.a  lib/libLLVMFrontendOffloading.a  lib/libLLVMObjectYAML.a  lib/libLLVMFrontendAtomic.a  lib/libLLVMFrontendDirective.a  lib/libLLVMLinker.a  lib/libLLVMBOLTProfile.a  lib/libLLVMDWARFLinkerClassic.a  lib/libLLVMDWARFLinker.a  lib/libLLVMBOLTRuntimeLibs.a  lib/libLLVMJITLink.a  lib/libLLVMOrcTargetProcess.a  lib/libLLVMOrcShared.a  lib/libLLVMOption.a  lib/libLLVMBOLTPasses.a  lib/libLLVMBOLTTargetAArch64.a  lib/libLLVMAArch64Desc.a  lib/libLLVMAArch64Info.a  lib/libLLVMAArch64Utils.a  lib/libLLVMBOLTTargetX86.a  lib/libLLVMX86Desc.a  lib/libLLVMX86Info.a  lib/libLLVMBOLTTargetRISCV.a  lib/libLLVMRISCVDesc.a  lib/libLLVMRISCVInfo.a  lib/libLLVMBOLTCore.a  lib/libLLVMBOLTUtils.a  lib/libLLVMAsmPrinter.a  lib/libLLVMCodeGen.a  lib/libLLVMScalarOpts.a  lib/libLLVMAggressiveInstCombine.a  lib/libLLVMInstCombine.a  lib/libLLVMObjCARCOpts.a  lib/libLLVMTransformUtils.a  lib/libLLVMCGData.a  lib/libLLVMBitWriter.a  lib/libLLVMCodeGenTypes.a  lib/libLLVMTarget.a  lib/libLLVMAnalysis.a  lib/libLLVMProfileData.a  lib/libLLVMSymbolize.a  lib/libLLVMDebugInfoGSYM.a  lib/libLLVMDebugInfoPDB.a  lib/libLLVMDebugInfoMSF.a  lib/libLLVMDebugInfoBTF.a  lib/libLLVMFrontendHLSL.a  lib/libLLVMDebugInfoCodeView.a  lib/libLLVMMCDisassembler.a  lib/libLLVMDebugInfoDWARF.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/libLLVMDebugInfoDWARFLowLevel.a  lib/libLLVMBinaryFormat.a  lib/libLLVMTargetParser.a  lib/libLLVMSupport.a  -lrt  -ldl  -lm  lib/libLLVMDemangle.a && cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/tools/bolt/tools/driver && /usr/bin/cmake -E create_symlink llvm-bolt /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/./bin/perf2bolt && cd /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/tools/bolt/tools/driver && /usr/bin/cmake -E create_symlink llvm-bolt /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix/./bin/llvm-boltdiff
ld.lld: error: undefined symbol: llvm::OptimizationLevel::O0
>>> referenced by RISCVTargetMachine.cpp
>>>               RISCVTargetMachine.cpp.o:(std::_Function_handler<void (llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel), llvm::RISCVTargetMachine::registerPassBuilderCallbacks(llvm::PassBuilder&)::$_0>::_M_invoke(std::_Any_data const&, llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>&, llvm::OptimizationLevel&&)) in archive lib/libLLVMRISCVCodeGen.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
[4987/5179] Building CXX object tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o
[4988/5179] Building CXX object tools/llvm-readobj/CMakeFiles/obj.llvm-readobj.dir/ELFDumper.cpp.o
ninja: build stopped: subcommand failed.
['ninja', '-C', '/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-6o_rx_ix', 'toolchain-distribution'] exited with return code 1.

topperc added a commit that referenced this pull request Sep 4, 2025
…e. (#156798)"

This reverts commit c51db9f.

Getting build bot failures about undefined symbol: llvm::OptimizationLevel::O0.
topperc added a commit that referenced this pull request Sep 4, 2025
…ine. (#156798)"

With a dependency on the Passes library added this time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants