Open
Description
This requires a builder with:
-march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue'
and ideally qemu settings rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true
to maximise the chance of finding bugs. This will be done using the same cross-compile and then execute under qemu-system setup used for the RVA20 bot. Not all items below are specific to the RVA23 bot.
This requires:
- Update to QEMU 9.2.0 and check for no regressions
- Redeploy x86-64 host with appropriate config
- Resolve sporadic failures due to running out of disk space.
- Bumping the size of llvm-project.img worked. Issues were sporadic seemingly due to varying test order meaning disk size limits were sometimes reached with temporary files but sometimes not.
- Get a working local debug flow for subsets of the LLVM tests (
ninja check-llvm-executionengine
for instance fails to work due to llvm-lit being invoked from a different subdirectory and lit-on-qemu not handling this) - Investigate and fix failures for MCJIT/ExecutionEngine tests
- Issue was a failure to set
-DLLVM_HOST_TRIPLE=riscv64-linux-gnu
leading to a confusing compilation flow for mcjit/executionengine
- Issue was a failure to set
- Resolve issues with host python3 path not matching the one under qemu-system (e.g. when using pip on the host)
- Explicitly passing
-DPython3_EXECUTABLE=/usr/bin/python3
resolves this
- Explicitly passing
- Resolve issues with buildbot running under python3.13 on the host
- Manual fix for pipes.quote usage and depend on legacy-cgi installed via pip
- (non-blocking issue) Document Python 3.13 workarounds in docs on local builder testing
- Resolve test failures for small subset of tests that try to use lit-on-qemu (set through
-DLLVM_EXTERNAL_LIT
) internally. Seems to primarily be the update_cc_test_checks tests.- Worked around with llvm/llvm-zorg@bc1b63c
- (non-blocking issue) Figure out why MCJIT/ExecutionEngine tests aren't running with e.g.
ninja check-llvm-executionengine
(marked as 'unsupported', even the RISC-V ones).- Marked as done as the issue was found and PRs posted [MCJIT][test] Move MCJIT non-interpreter tests to MCJIT subdirectory #124463 [ExecutionEngine][test][RISCV] Don't mark RISCV as unsupported #124464.
- Receive review on PR to switch over rva23 evl builder [RISCV] Move rva23 evl builder over to cross-compile and execute under qemu-system setup llvm-zorg#358
- Finalise x86-64 host deployment for rva23 evl builder once llvm-zorg#358 lands
- Chase up issue with the staging buildmaster seemingly not automatically redeploying (email sent to Galina)
- Test enabling the test suite locally and resolve any issues
- Port builders over to "annotated builder" setup in order to allow easier flexibility of llvm-test-suite compilation and execution
- Enable the running of the test suite on rva23 evl builder
- Evaluate what other LLVM subprojects can/should be enabled in this setup (and expand this list to cover that work)
- (non-blocking issue) Find a way to get ccache to work for the stage2 build in a non-CI configuration
- ccache for stage2 makes no sense in CI, but can help iteration time a lot if using a fixed stage1 and investigation an issue. My attempts to enable it seem to be ignored right now.
- Address failure in clang/test/Modules/empty.modulemap (the empty modulemap seems to be slightly above the expected 60KB for some reason). PR up for review: [clang][Modules] Raise empty.modulemap expected size to <70KB to fix RISC-V failure #123959
- (non-blocking) Add preservation of the most recent build artefacts in order to make it easier (at least for the bot owner) to investigate a failure without waiting for a multi-stage rebuild.
- Move builder to non-staging buildmaster