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

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 28 13:26:55 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-ubuntu` running on `as-builder-4` while building `llvm` at step 6 "test-build-unified-tree-check-all".

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

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

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: tools/llvm-exegesis/RISCV/rvv/explicit-sew.test' FAILED ********************
Exit Code: 134

Command Output (stderr):
--
RUN: at line 1: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVFWREDUSUM_VS_M1_E32     --max-configs-per-opcode=1000 --min-instructions=100 | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/explicit-sew.test
+ /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVFWREDUSUM_VS_M1_E32 --max-configs-per-opcode=1000 --min-instructions=100
+ /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/explicit-sew.test
llvm-exegesis: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/include/llvm/CodeGen/Register.h:83: unsigned int llvm::Register::virtRegIndex() const: Assertion `isVirtual() && "Not a virtual register"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVFWREDUSUM_VS_M1_E32 --max-configs-per-opcode=1000 --min-instructions=100
1.	Running pass 'Function Pass Manager' on module 'ExegesisInfoTest'.
2.	Running pass 'Verify generated machine code' on function '@foo'
 #0 0x000055aaa724f03a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:22
 #1 0x000055aaa724f45b PrintStackTraceSignalHandler(void*) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:1
 #2 0x000055aaa724c889 llvm::sys::RunSignalHandlers() /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Signals.cpp:105:20
 #3 0x000055aaa724e8a9 SignalHandler(int, siginfo_t*, void*) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:13
 #4 0x00007f252877c520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x00007f25287d09fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #6 0x00007f252877c476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #7 0x00007f25287627f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #8 0x00007f252876271b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #9 0x00007f2528773e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x000055aaa7318e9a llvm::Register::virtRegIndex() const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/include/llvm/CodeGen/Register.h:84:12
#11 0x000055aaa731a4b7 llvm::VirtReg2IndexFunctor::operator()(llvm::Register) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/include/llvm/CodeGen/TargetRegisterInfo.h:1404:72
#12 0x000055aaa731c657 llvm::IndexedMap<std::pair<llvm::PointerUnion<llvm::TargetRegisterClass const*, llvm::RegisterBank const*>, llvm::MachineOperand*>, llvm::VirtReg2IndexFunctor>::operator[](llvm::Register) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/include/llvm/ADT/IndexedMap.h:53:7
#13 0x000055aaa731adbc llvm::MachineRegisterInfo::getRegClass(llvm::Register) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/include/llvm/CodeGen/MachineRegisterInfo.h:656:5
#14 0x000055aaa8629d6e llvm::RISCVInstrInfo::verifyInstruction(llvm::MachineInstr const&, llvm::StringRef&) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp:2617:0
#15 0x000055aaa9b4e50b (anonymous namespace)::MachineVerifier::visitMachineInstrBefore(llvm::MachineInstr const*) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:2361:7
#16 0x000055aaa9b44965 (anonymous namespace)::MachineVerifier::verify(llvm::MachineFunction const&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:554:21
#17 0x000055aaa9b43c48 (anonymous namespace)::MachineVerifierLegacyPass::runOnMachineFunction(llvm::MachineFunction&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineVerifier.cpp:390:5
#18 0x000055aaa9a055b6 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:108:30
#19 0x000055aaab1dd1b2 llvm::FPPassManager::runOnFunction(llvm::Function&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1406:20
#20 0x000055aaab1dd562 llvm::FPPassManager::runOnModule(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1452:13
#21 0x000055aaab1dd9e3 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1521:20
#22 0x000055aaab1d88a3 llvm::legacy::PassManagerImpl::run(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:539:13
#23 0x000055aaab1de32d llvm::legacy::PassManager::run(llvm::Module&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1649:1
#24 0x000055aaa89ef37c llvm::exegesis::assembleToStream(llvm::exegesis::ExegesisTarget const&, std::unique_ptr<llvm::TargetMachine, std::default_delete<llvm::TargetMachine>>, llvm::ArrayRef<llvm::MCRegister>, std::function<void (llvm::exegesis::FunctionFiller&)> const&, llvm::raw_pwrite_stream&, llvm::exegesis::BenchmarkKey const&, bool) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/lib/Assembler.cpp:339:24
#25 0x000055aaa896657d llvm::exegesis::BenchmarkRunner::assembleSnippet(llvm::exegesis::BenchmarkCode const&, llvm::exegesis::SnippetRepetitor const&, unsigned int, unsigned int, bool) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp:604:49
#26 0x000055aaa89668c3 llvm::exegesis::BenchmarkRunner::getRunnableConfiguration(llvm::exegesis::BenchmarkCode const&, unsigned int, unsigned int, llvm::exegesis::SnippetRepetitor const&) const /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp:639:75
#27 0x000055aaa6f9fae0 llvm::exegesis::runBenchmarkConfigurations(llvm::exegesis::LLVMState const&, llvm::ArrayRef<llvm::exegesis::BenchmarkCode>, llvm::ArrayRef<std::unique_ptr<llvm::exegesis::SnippetRepetitor const, std::default_delete<llvm::exegesis::SnippetRepetitor const>>>, llvm::exegesis::BenchmarkRunner const&) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/llvm-exegesis.cpp:422:66
#28 0x000055aaa6fa0b24 llvm::exegesis::benchmarkMain() /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/llvm-exegesis.cpp:581:20
#29 0x000055aaa6fa18c3 main /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/tools/llvm-exegesis/llvm-exegesis.cpp:736:10
#30 0x00007f2528763d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#31 0x00007f2528763e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#32 0x000055aaa6f9eaa5 _start (/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llvm-exegesis+0x5c1aa5)
/home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/test/tools/llvm-exegesis/RISCV/rvv/Output/explicit-sew.test.script: line 1: 3677315 Aborted                 (core dumped) /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/llvm-exegesis -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVFWREDUSUM_VS_M1_E32 --max-configs-per-opcode=1000 --min-instructions=100
     3677318 Done                    | /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/expensive-checks/llvm-project/llvm/test/tools/llvm-exegesis/RISCV/rvv/explicit-sew.test

...

```

</details>

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


More information about the llvm-commits mailing list