[llvm] [Exegesis][RISCV] Add initial RVV support (PR #128767)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 12:40:06 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `clang-ppc64le-linux-multistage` running on `ppc64le-clang-multistage-test` while building `llvm` at step 4 "build stage 1".

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

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

```
Step 4 (build stage 1) failure: 'ninja' (failure)
...
[6124/6292] Creating library symlink lib/libclangTidyMain.so
[6125/6292] Linking CXX executable bin/clang-tidy
[6126/6292] Linking CXX shared library lib/libLLVMAMDGPUCodeGen.so.21.0git
[6127/6292] Creating library symlink lib/libLLVMAMDGPUCodeGen.so
[6128/6292] Building CXX object lib/Target/RISCV/CMakeFiles/LLVMRISCVCodeGen.dir/GISel/RISCVInstructionSelector.cpp.o
[6129/6292] Linking CXX shared library lib/libLLVMRISCVCodeGen.so.21.0git
[6130/6292] Creating library symlink lib/libLLVMRISCVCodeGen.so
[6131/6292] Linking CXX static library lib/libLLVMExegesisRISCV_static.a
[6132/6292] Linking CXX static library lib/libLLVMOptDriver_static.a
[6133/6292] Linking CXX shared library lib/libLLVMExegesisRISCV.so.21.0git
FAILED: lib/libLLVMExegesisRISCV.so.21.0git 
: && /usr/lib64/ccache/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -fno-lifetime-dse -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-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/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/./lib  -Wl,--gc-sections -shared -Wl,-soname,libLLVMExegesisRISCV.so.21.0git -o lib/libLLVMExegesisRISCV.so.21.0git tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/RISCVExegesisPreprocessing.cpp.o tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/RISCVExegesisPostprocessing.cpp.o tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/Target.cpp.o  -Wl,-rpath,"\$ORIGIN/../lib:/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib:"  lib/libLLVMRISCVCodeGen.so.21.0git  lib/libLLVMRISCVAsmParser.so.21.0git  lib/libLLVMRISCVDisassembler.so.21.0git  lib/libLLVMExegesis.so.21.0git  lib/libLLVMRISCVDesc.so.21.0git  lib/libLLVMRISCVInfo.so.21.0git  lib/libLLVMCodeGen.so.21.0git  lib/libLLVMCore.so.21.0git  lib/libLLVMSupport.so.21.0git  -Wl,-rpath-link,/home/buildbots/llvm-external-buildbots/workers/ppc64le-clang-multistage-test/clang-ppc64le-multistage/stage1/lib && :
tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/Target.cpp.o: In function `llvm::exegesis::(anonymous namespace)::ExegesisRISCVTarget::createSerialSnippetGenerator(llvm::exegesis::LLVMState const&, llvm::exegesis::SnippetGenerator::Options const&) const':
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_119ExegesisRISCVTarget28createSerialSnippetGeneratorERKNS0_9LLVMStateERKNS0_16SnippetGenerator7OptionsE+0x200): undefined reference to `llvm::MCSubtargetInfo::checkFeatures(llvm::StringRef) const'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_119ExegesisRISCVTarget28createSerialSnippetGeneratorERKNS0_9LLVMStateERKNS0_16SnippetGenerator7OptionsE+0x290): undefined reference to `llvm::MCSubtargetInfo::checkFeatures(llvm::StringRef) const'
tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/Target.cpp.o: In function `llvm::exegesis::(anonymous namespace)::ExegesisRISCVTarget::createParallelSnippetGenerator(llvm::exegesis::LLVMState const&, llvm::exegesis::SnippetGenerator::Options const&) const':
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_119ExegesisRISCVTarget30createParallelSnippetGeneratorERKNS0_9LLVMStateERKNS0_16SnippetGenerator7OptionsE+0x200): undefined reference to `llvm::MCSubtargetInfo::checkFeatures(llvm::StringRef) const'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_119ExegesisRISCVTarget30createParallelSnippetGeneratorERKNS0_9LLVMStateERKNS0_16SnippetGenerator7OptionsE+0x290): undefined reference to `llvm::MCSubtargetInfo::checkFeatures(llvm::StringRef) const'
tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/Target.cpp.o: In function `llvm::exegesis::(anonymous namespace)::RISCVSnippetGenerator<llvm::exegesis::ParallelSnippetGenerator>::annotateWithVType(llvm::exegesis::CodeTemplate const&, llvm::exegesis::Instruction const&, unsigned int, llvm::BitVector const&, std::vector<llvm::exegesis::CodeTemplate, std::allocator<llvm::exegesis::CodeTemplate> >&) const [clone .isra.388]':
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_24ParallelSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE.isra.388+0x524): undefined reference to `llvm::RISCVVType::decodeVLMUL(llvm::RISCVVType::VLMUL)'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_24ParallelSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE.isra.388+0xb44): undefined reference to `llvm::MCOperand::print(llvm::raw_ostream&, llvm::MCRegisterInfo const*) const'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_24ParallelSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE.isra.388+0x1c1c): undefined reference to `llvm::RISCVVType::decodeVLMUL(llvm::RISCVVType::VLMUL)'
tools/llvm-exegesis/lib/RISCV/CMakeFiles/obj.LLVMExegesisRISCV.dir/Target.cpp.o: In function `llvm::exegesis::(anonymous namespace)::RISCVSnippetGenerator<llvm::exegesis::SerialSnippetGenerator>::annotateWithVType(llvm::exegesis::CodeTemplate const&, llvm::exegesis::Instruction const&, unsigned int, llvm::BitVector const&, std::vector<llvm::exegesis::CodeTemplate, std::allocator<llvm::exegesis::CodeTemplate> >&) const':
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_22SerialSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE+0x9e8): undefined reference to `llvm::MCOperand::print(llvm::raw_ostream&, llvm::MCRegisterInfo const*) const'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_22SerialSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE+0x18a0): undefined reference to `llvm::RISCVVType::decodeVLMUL(llvm::RISCVVType::VLMUL)'
Target.cpp:(.text._ZNK4llvm8exegesis12_GLOBAL__N_121RISCVSnippetGeneratorINS0_22SerialSnippetGeneratorEE17annotateWithVTypeERKNS0_12CodeTemplateERKNS0_11InstructionEjRKNS_9BitVectorERSt6vectorIS5_SaIS5_EE+0x204c): undefined reference to `llvm::RISCVVType::decodeVLMUL(llvm::RISCVVType::VLMUL)'
collect2: error: ld returned 1 exit status
[6134/6292] Linking CXX executable bin/llvm-isel-fuzzer
[6135/6292] Linking CXX shared library lib/libclangHandleCXX.so.21.0git
[6136/6292] Linking CXX shared library lib/libLTO.so.21.0git
[6137/6292] Linking CXX executable bin/llvm-libtool-darwin
[6138/6292] Linking CXX shared library lib/libclangDependencyScanning.so.21.0git
[6139/6292] Linking CXX executable bin/llc
[6140/6292] Linking C executable bin/clang-fuzzer-dictionary
[6141/6292] Linking CXX executable bin/llvm-split
[6142/6292] Linking CXX executable bin/llvm-lto2
[6143/6292] Linking CXX executable bin/llvm-dwp
[6144/6292] Linking CXX shared library lib/libLLVMOptDriver.so.21.0git
[6145/6292] Linking CXX executable bin/clang-sycl-linker
[6146/6292] Linking CXX executable bin/clang-offload-packager
[6147/6292] Linking CXX executable bin/llvm-opt-fuzzer
[6148/6292] Linking CXX executable bin/llvm-lipo
[6149/6292] Linking CXX executable bin/clang-linker-wrapper
[6150/6292] Linking CXX executable bin/llvm-gsymutil
[6151/6292] Linking CXX executable bin/dsymutil
[6152/6292] Linking CXX executable bin/bugpoint
[6153/6292] Linking CXX executable bin/llvm-lto
[6154/6292] Linking CXX executable bin/clang-nvlink-wrapper
[6155/6292] Linking CXX executable bin/llvm-reduce

```

</details>

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


More information about the llvm-commits mailing list