Skip to content

Commit b51f3db

Browse files
authored
[RISCV] Move rva23 evl builder over to cross-compile and execute under qemu-system setup (#358)
This also moves to `prefer-predicate-over-epilogue=predicate-else-scalar-epilogue`. As the buildbot is on staging only and already has some failures, I think it's reasonable to make both changes at once rather than carefully staging it.
1 parent 1c866a7 commit b51f3db

File tree

1 file changed

+27
-3
lines changed

1 file changed

+27
-3
lines changed

Diff for: buildbot/osuosl/master/config/builders.py

+27-3
Original file line numberDiff line numberDiff line change
@@ -3360,6 +3360,7 @@
33603360
)},
33613361

33623362
## RISC-V RVA23 profile with EVL vectorizer check-all 2-stage
3363+
## (cross-compile and then test under qemu-system).
33633364
{'name' : "clang-riscv-rva23-evl-vec-2stage",
33643365
'workernames' : ["rise-clang-riscv-rva23-evl-vec-2stage"],
33653366
'builddir':"clang-riscv-rva23-evl-vec-2stage",
@@ -3368,6 +3369,8 @@
33683369
useTwoStage=True,
33693370
runTestSuite=False,
33703371
testStage1=False,
3372+
checkout_compiler_rt=False,
3373+
checkout_zorg=True,
33713374
extra_cmake_args=[
33723375
"-DCMAKE_C_COMPILER=clang",
33733376
"-DCMAKE_CXX_COMPILER=clang++",
@@ -3376,9 +3379,30 @@
33763379
"-DCMAKE_C_COMPILER_LAUNCHER=ccache",
33773380
"-DCMAKE_CXX_COMPILER_LAUNCHER=ccache"],
33783381
extra_stage2_cmake_args=[
3379-
"-DLLVM_ENABLE_LLD=True",
3380-
"-DCMAKE_C_FLAGS='-menable-experimental-extensions -march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-dont-vectorize'",
3381-
"-DCMAKE_CXX_FLAGS='-menable-experimental-extensions -march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-dont-vectorize'"]
3382+
util.Interpolate("-DLLVM_NATIVE_TOOL_DIR=%(prop:builddir)s/stage1.install/bin"),
3383+
"-DLLVM_BUILD_TESTS=True",
3384+
"-DPython3_EXECUTABLE=/usr/bin/python3",
3385+
"-DLLVM_HOST_TRIPLE=riscv64-linux-gnu",
3386+
util.Interpolate("-DLLVM_EXTERNAL_LIT=%(prop:builddir)s/llvm-zorg/buildbot/riscv-rise/lit-on-qemu")],
3387+
stage2_toolchain_options=[
3388+
"set(CMAKE_SYSTEM_NAME Linux)",
3389+
"set(CMAKE_SYSROOT %(prop:builddir)s/../rvsysroot)",
3390+
"set(CMAKE_C_COMPILER_TARGET riscv64-linux-gnu)",
3391+
"set(CMAKE_CXX_COMPILER_TARGET riscv64-linux-gnu)",
3392+
"set(CMAKE_C_FLAGS_INIT \"-march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue\")",
3393+
"set(CMAKE_CXX_FLAGS_INIT \"-march=rva23u64 -mllvm -force-tail-folding-style=data-with-evl -mllvm -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue\")",
3394+
"set(CMAKE_LINKER_TYPE LLD)",
3395+
"set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)",
3396+
"set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)",
3397+
"set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)",
3398+
"set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"],
3399+
env={
3400+
"BB_IMG_DIR": util.Interpolate("%(prop:builddir)s/.."),
3401+
# TODO: Switch to specifying rva23u64 once support is
3402+
# available in a released QEMU.
3403+
"BB_QEMU_CPU": "rv64,zba=true,zbb=true,zbc=false,zbs=true,zfhmin=true,v=true,vext_spec=v1.0,zkt=true,zvfhmin=true,zvbb=true,zvkt=true,zihintntl=true,zicond=true,zimop=true,zcmop=true,zcb=true,zfa=true,zawrs=true,rvv_ta_all_1s=true,rvv_ma_all_1s=true,rvv_vl_half_avl=true",
3404+
"BB_QEMU_SMP": "32",
3405+
"BB_QEMU_MEM": "64G"}
33823406
)},
33833407

33843408
# Builders similar to used in Buildkite premerge pipeline.

0 commit comments

Comments
 (0)