Skip to content

Finalise setup of buildbot for RISC-V RVA23 EVL tail folding #123947

Open
@asb

Description

@asb

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
  • 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
  • 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.
  • (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).
  • 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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions