[llvm] [Exegesis][RISCV] Add initial RVV support (PR #128767)
LLVM Continuous Integration via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 28 19:25:31 PST 2025
llvm-ci wrote:
LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-win` running on `as-worker-93` while building `llvm` at step 7 "test-build-unified-tree-check-all".
Full details are available at: https://lab.llvm.org/buildbot/#/builders/14/builds/2709
<details>
<summary>Here is the relevant piece of the build log for the reference</summary>
```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: tools/llvm-exegesis/RISCV/rvv/skip-rm.test' FAILED ********************
Exit Code: 2147483651
Command Output (stdout):
--
# RUN: at line 1
c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\llvm-exegesis.exe -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVAADDU_VV_M1 --riscv-enumerate-rounding-modes=false --max-configs-per-opcode=1000 --min-instructions=100 | c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\filecheck.exe C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\test\tools\llvm-exegesis\RISCV\rvv\skip-rm.test --check-prefix=VX
# executed command: 'c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\llvm-exegesis.exe' -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVAADDU_VV_M1 --riscv-enumerate-rounding-modes=false --max-configs-per-opcode=1000 --min-instructions=100
# .---command stderr------------
# | Assertion failed: isVirtual() && "Not a virtual register", file C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm/CodeGen/Register.h, line 83
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
# | Stack dump:
# | 0. Program arguments: c:\\a\\llvm-clang-x86_64-expensive-checks-win\\build\\bin\\llvm-exegesis.exe -mtriple=riscv64 -mcpu=sifive-x280 -benchmark-phase=assemble-measured-code --mode=latency --opcode-name=PseudoVAADDU_VV_M1 --riscv-enumerate-rounding-modes=false --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'
# | Exception Code: 0x80000003
# | #0 0x00007ff67c29a90c HandleAbort C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Support\Windows\Signals.inc:429:0
# | #1 0x00007ff8f50190ed (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xa90ed)
# | #2 0x00007ff8f501ae49 (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xaae49)
# | #3 0x00007ff8f5020c6f (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xb0c6f)
# | #4 0x00007ff8f501eba1 (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xaeba1)
# | #5 0x00007ff8f50218af (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xb18af)
# | #6 0x00007ff67c47b121 llvm::Register::virtRegIndex(void) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\CodeGen\Register.h:83:0
# | #7 0x00007ff67c451378 llvm::VirtReg2IndexFunctor::operator()(class llvm::Register) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\CodeGen\TargetRegisterInfo.h:1404:0
# | #8 0x00007ff67c44fcfa llvm::IndexedMap<struct std::pair<class llvm::PointerUnion<class llvm::TargetRegisterClass const *, class llvm::RegisterBank const *>, class llvm::MachineOperand *>, struct llvm::VirtReg2IndexFunctor>::operator[](class llvm::Register) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\ADT\IndexedMap.h:53:0
# | #9 0x00007ff67c467d98 llvm::MachineRegisterInfo::getRegClass(class llvm::Register) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\CodeGen\MachineRegisterInfo.h:656:0
# | #10 0x00007ff67e2a6707 llvm::RISCVInstrInfo::verifyInstruction(class llvm::MachineInstr const &, class llvm::StringRef &) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Target\RISCV\RISCVInstrInfo.cpp:2617:0
# | #11 0x00007ff67fae553c `anonymous namespace'::MachineVerifier::visitMachineInstrBefore C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\CodeGen\MachineVerifier.cpp:2361:0
# | #12 0x00007ff67fada4e1 `anonymous namespace'::MachineVerifier::verify C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\CodeGen\MachineVerifier.cpp:553:0
# | #13 0x00007ff67faf18e3 `anonymous namespace'::MachineVerifierLegacyPass::runOnMachineFunction C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\CodeGen\MachineVerifier.cpp:390:0
# | #14 0x00007ff67f7a6760 llvm::MachineFunctionPass::runOnFunction(class llvm::Function &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\CodeGen\MachineFunctionPass.cpp:108:0
# | #15 0x00007ff68182332b llvm::FPPassManager::runOnFunction(class llvm::Function &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:1406:0
# | #16 0x00007ff681823842 llvm::FPPassManager::runOnModule(class llvm::Module &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:1452:0
# | #17 0x00007ff681826645 `anonymous namespace'::MPPassManager::runOnModule C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:1521:0
# | #18 0x00007ff6818275b9 llvm::legacy::PassManagerImpl::run(class llvm::Module &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:539:0
# | #19 0x00007ff68181c73c llvm::legacy::PassManager::run(class llvm::Module &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\IR\LegacyPassManager.cpp:1649:0
# | #20 0x00007ff67e47c42c llvm::exegesis::assembleToStream(class llvm::exegesis::ExegesisTarget const &, class std::unique_ptr<class llvm::TargetMachine, struct std::default_delete<class llvm::TargetMachine>>, class llvm::ArrayRef<class llvm::MCRegister>, class std::function<(class llvm::exegesis::FunctionFiller &)> const &, class llvm::raw_pwrite_stream &, struct llvm::exegesis::BenchmarkKey const &, bool) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\llvm-exegesis\lib\Assembler.cpp:338:0
# | #21 0x00007ff67e45024f llvm::exegesis::BenchmarkRunner::assembleSnippet(struct llvm::exegesis::BenchmarkCode const &, class llvm::exegesis::SnippetRepetitor const &, unsigned int, unsigned int, bool) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\llvm-exegesis\lib\BenchmarkRunner.cpp:600:0
# | #22 0x00007ff67e44f013 llvm::exegesis::BenchmarkRunner::getRunnableConfiguration(struct llvm::exegesis::BenchmarkCode const &, unsigned int, unsigned int, class llvm::exegesis::SnippetRepetitor const &) const C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\llvm-exegesis\lib\BenchmarkRunner.cpp:637:0
# | #23 0x00007ff67bf971e1 llvm::exegesis::runBenchmarkConfigurations C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\llvm-exegesis\llvm-exegesis.cpp:421:0
# | #24 0x00007ff67bf98612 llvm::exegesis::benchmarkMain(void) C:\a\llvm-clang-x86_64-expensive-checks-win\build\include\llvm\Config\TargetExegesis.def:31:0
# | #25 0x00007ff67bf99df9 main C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\llvm-exegesis\llvm-exegesis.cpp:734:0
# | #26 0x00007ff681d23f09 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79:0
# | #27 0x00007ff681d23df2 __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
# | #28 0x00007ff681d23cae __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331:0
# | #29 0x00007ff681d23f9e mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17:0
# | #30 0x00007ff90f397374 (C:\WINDOWS\System32\KERNEL32.DLL+0x17374)
# | #31 0x00007ff90fa5cc91 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x4cc91)
# `-----------------------------
# error: command failed with exit status: 0x80000003
...
```
</details>
https://github.com/llvm/llvm-project/pull/128767
More information about the llvm-commits
mailing list