57 lines
2.0 KiB
Python
Executable File
57 lines
2.0 KiB
Python
Executable File
#! /usr/bin/env python3
|
|
# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
# See https://llvm.org/LICENSE.txt for license information.
|
|
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
|
|
import os
|
|
import sys
|
|
|
|
# Adapt to location in source tree
|
|
llvmsrcroot = os.path.normpath(f"{__file__}/../../..")
|
|
|
|
sys.path.insert(0, os.path.join(llvmsrcroot, ".ci/buildbot"))
|
|
import worker
|
|
|
|
llvmbuilddir = "llvm.build"
|
|
llvminstalldir = "llvm.inst"
|
|
|
|
with worker.run(
|
|
__file__,
|
|
llvmsrcroot,
|
|
clobberpaths=[llvmbuilddir, llvminstalldir],
|
|
workerjobs=64,
|
|
) as w:
|
|
with w.step("configure-openmp", halt_on_fail=True):
|
|
w.run_command(
|
|
[
|
|
"cmake",
|
|
f"-S{w.in_llvmsrc('llvm')}",
|
|
f"-B{llvmbuilddir}",
|
|
f"-C{w.in_llvmsrc('offload/cmake/caches/AMDGPUBot.cmake')}",
|
|
"-GNinja",
|
|
f"-DLLVM_LIT_ARGS=-vv --show-unsupported --show-xfail -j {w.jobs} --time-tests --timeout 100",
|
|
f"-DCMAKE_INSTALL_PREFIX={w.in_workdir(llvminstalldir)}",
|
|
"-DFLANG_RUNTIME_F128_MATH_LIB=libquadmath",
|
|
"-DCMAKE_CXX_STANDARD=17",
|
|
"-DLIBOMPTARGET_PLUGINS_TO_BUILD=amdgpu;host",
|
|
"-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=compiler-rt;openmp",
|
|
f"-DRUNTIMES_amdgcn-amd-amdhsa_CACHE_FILES={w.in_llvmsrc('compiler-rt')}/cmake/caches/AMDGPU.cmake\;{w.in_llvmsrc('libcxx')}/cmake/caches/AMDGPU.cmake CACHE STRING '')",
|
|
]
|
|
)
|
|
|
|
with w.step("compile-openmp", halt_on_fail=True):
|
|
w.run_ninja(builddir=llvmbuilddir, ccache_stats=True)
|
|
|
|
with w.step("test-openmp"):
|
|
w.run_ninja(
|
|
["check-openmp"], add_env={"HSA_ENABLE_SDMA": "0"}, builddir=llvmbuilddir
|
|
)
|
|
|
|
with w.step("Add check check-offload"):
|
|
w.run_ninja(
|
|
["check-offload"], add_env={"HSA_ENABLE_SDMA": "0"}, builddir=llvmbuilddir
|
|
)
|
|
|
|
with w.step("LLVM: Install", halt_on_fail=True):
|
|
w.run_ninja(["install"], builddir=llvmbuilddir)
|