diff --git a/buildbot/osuosl/master/config/builders.py b/buildbot/osuosl/master/config/builders.py index 6f1f252e0..06cc934ba 100644 --- a/buildbot/osuosl/master/config/builders.py +++ b/buildbot/osuosl/master/config/builders.py @@ -2006,8 +2006,8 @@ 'builddir': "openmp-offload-amdgpu-clang-flang", 'factory' : OpenMPBuilder.getOpenMPCMakeBuildFactory( clean=True, - enable_runtimes=['compiler-rt', 'openmp', 'offload'], - depends_on_projects=['llvm','clang','lld', 'offload', 'openmp', 'mlir', 'flang', 'compiler-rt'], + enable_runtimes=['compiler-rt', 'openmp', 'offload', 'flang-rt'], + depends_on_projects=['llvm','clang','lld', 'offload', 'openmp', 'mlir', 'flang', 'flang-rt', 'compiler-rt'], extraCmakeArgs=[ "-DCMAKE_BUILD_TYPE=Release", "-DCLANG_DEFAULT_LINKER=lld", @@ -2036,7 +2036,7 @@ "-DTEST_SUITE_SOLLVEVV_OFFLOADING_CFLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", "-DTEST_SUITE_SOLLVEVV_OFFLOADING_LDLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", ], - add_lit_checks=["check-flang", "check-offload"], + add_lit_checks=["check-flang", "check-flang-rt", "check-offload"], add_openmp_lit_args=["--time-tests", "--timeout 100"], )}, @@ -2048,8 +2048,8 @@ 'factory' : OpenMPBuilder.getOpenMPCMakeBuildFactory( clean=True, test=False, # we have no GPU avail, skip runtime tests - enable_runtimes=['openmp', 'compiler-rt', 'offload'], - depends_on_projects=['llvm','clang', 'flang', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], + enable_runtimes=['openmp', 'compiler-rt', 'offload', 'flang-rt'], + depends_on_projects=['llvm','clang', 'flang', 'flang-rt', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], extraCmakeArgs=[ "-DCMAKE_BUILD_TYPE=Release", "-DCLANG_DEFAULT_LINKER=lld", @@ -2069,7 +2069,7 @@ "-DTEST_SUITE_SOLLVEVV_OFFLOADING_CFLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", "-DTEST_SUITE_SOLLVEVV_OFFLOADING_LDLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", ], - add_lit_checks=["check-clang", "check-flang", "check-llvm", "check-lld", "check-mlir"], + add_lit_checks=["check-clang", "check-flang", "check-flang-rt", "check-llvm", "check-lld", "check-mlir"], add_openmp_lit_args=["--time-tests", "--timeout 100"], )}, @@ -2080,8 +2080,8 @@ 'factory' : OpenMPBuilder.getOpenMPCMakeBuildFactory( clean=True, test=True, - enable_runtimes=['openmp', 'compiler-rt', 'offload'], - depends_on_projects=['llvm','clang', 'flang', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], + enable_runtimes=['openmp', 'compiler-rt', 'offload', 'flang-rt'], + depends_on_projects=['llvm','clang', 'flang', 'flang-rt', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], extraCmakeArgs=[ "-DCMAKE_BUILD_TYPE=Release", "-DCLANG_DEFAULT_LINKER=lld", @@ -2102,7 +2102,7 @@ "-DTEST_SUITE_SOLLVEVV_OFFLOADING_CFLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", "-DTEST_SUITE_SOLLVEVV_OFFLOADING_LDLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", ], - add_lit_checks=["check-clang", "check-flang", "check-llvm", "check-lld", "check-mlir", "check-offload"], + add_lit_checks=["check-clang", "check-flang", "check-flang-rt", "check-llvm", "check-lld", "check-mlir", "check-offload"], add_openmp_lit_args=["--time-tests", "--timeout 100", "--xfail=affinity/format/proc_bind.c"], )}, @@ -2113,8 +2113,8 @@ 'factory' : OpenMPBuilder.getOpenMPCMakeBuildFactory( clean=True, test=True, - enable_runtimes=['openmp', 'compiler-rt', 'offload'], - depends_on_projects=['llvm','clang', 'flang', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], + enable_runtimes=['openmp', 'compiler-rt', 'offload', 'flang-rt'], + depends_on_projects=['llvm','clang', 'flang', 'flang-rt', 'lld', 'mlir', 'offload', 'openmp', 'compiler-rt'], extraCmakeArgs=[ "-DCMAKE_BUILD_TYPE=Release", "-DCLANG_DEFAULT_LINKER=lld", @@ -2135,7 +2135,7 @@ "-DTEST_SUITE_SOLLVEVV_OFFLOADING_CFLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", "-DTEST_SUITE_SOLLVEVV_OFFLOADING_LDLAGS=-fopenmp-targets=amdgcn-amd-amdhsa;-Xopenmp-target=amdgcn-amd-amdhsa", ], - add_lit_checks=["check-clang", "check-flang", "check-llvm", "check-lld", "check-mlir", "check-offload"], + add_lit_checks=["check-clang", "check-flang", "check-flang-rt", "check-llvm", "check-lld", "check-mlir", "check-offload"], add_openmp_lit_args=["--time-tests", "--timeout 100", "--xfail=affinity/format/proc_bind.c"], )}, @@ -2328,8 +2328,8 @@ 'builddir': "flang-aarch64-dylib", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang', 'check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DLLVM_BUILD_LLVM_DYLIB=ON", @@ -2343,8 +2343,8 @@ 'builddir': "flang-aarch64-sharedlibs", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang', 'check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DBUILD_SHARED_LIBS=ON", @@ -2376,8 +2376,8 @@ 'builddir': "flang-aarch64-debug-reverse-iteration", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang','check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DCMAKE_BUILD_TYPE=Debug", @@ -2392,8 +2392,8 @@ 'builddir': "flang-aarch64-libcxx", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang'], + checks=['check-flang','check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DLLVM_INSTALL_UTILS=ON", @@ -2412,8 +2412,8 @@ 'builddir': "flang-aarch64-release", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang','check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DCMAKE_BUILD_TYPE=Release", @@ -2427,8 +2427,8 @@ 'builddir': "flang-aarch64-rel-assert", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang','check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DLLVM_ENABLE_ASSERTIONS=ON", @@ -2443,8 +2443,8 @@ 'builddir': "flang-aarch64-latest-gcc", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - checks=['check-flang'], - depends_on_projects=['llvm','mlir','clang','flang','openmp'], + checks=['check-flang','check-flang-rt'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt','openmp'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=AArch64", "-DLLVM_INSTALL_UTILS=ON", @@ -2460,7 +2460,7 @@ 'workernames' : ["alcf-theta-flang"], 'builddir': "flang-x86_64-knl-linux", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( - depends_on_projects=['llvm','mlir','clang','flang'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt'], extra_configure_args=[ "-DLLVM_TARGETS_TO_BUILD=X86", "-DCMAKE_C_COMPILER=gcc", @@ -2476,8 +2476,8 @@ 'builddir': 'ppc64le-flang-rhel-clang-build', 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( clean=True, - depends_on_projects=['llvm', 'mlir', 'clang', 'flang','openmp'], - checks=['check-flang'], + depends_on_projects=['llvm', 'mlir', 'clang', 'flang', 'flang-rt', 'openmp'], + checks=['check-flang','check-flang-rt'], extra_configure_args=[ '-DLLVM_TARGETS_TO_BUILD=PowerPC', '-DLLVM_INSTALL_UTILS=ON', @@ -2499,8 +2499,8 @@ 'workernames' : ["minipc-ryzen-win"], 'builddir': "flang-x86_64-windows", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( - depends_on_projects=['llvm','mlir','clang','flang'], - checks=['check-flang'], + depends_on_projects=['llvm','mlir','clang','flang','flang-rt'], + checks=['check-flang','check-flang-rt'], install_dir="flang.install", extra_configure_args=[ "-DCLANG_ENABLE_STATIC_ANALYZER=OFF", @@ -3155,17 +3155,15 @@ 'workernames' : ["as-builder-7"], 'builddir': "flang-runtime-cuda-gcc", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( - depends_on_projects=["flang"], + depends_on_projects=["flang","flang-rt"], clean=True, checks=[], - src_to_build_dir="flang/runtime", - targets=["FortranRuntime"], extra_configure_args=[ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_EXPORT_COMPILE_COMMANDS=ON", "-DLLVM_ENABLE_ASSERTIONS=ON", "-DBUILD_SHARED_LIBS=OFF", - "-DFLANG_EXPERIMENTAL_CUDA_RUNTIME=ON", + "-DFLANG_RT_EXPERIMENTAL_OFFLOAD_SUPPORT=CUDA", "-DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc", "-DCMAKE_CXX_COMPILER=/usr/bin/g++", "-DCMAKE_C_COMPILER=/usr/bin/gcc", @@ -3175,7 +3173,7 @@ "-DCMAKE_CUDA_COMPILER_LAUNCHER=ccache", "-DCMAKE_CXX_COMPILER_LAUNCHER=ccache", "-DCMAKE_C_COMPILER_LAUNCHER=ccache", - util.Interpolate("-DFLANG_LIBCUDACXX_PATH=%(prop:nv_cccl_root_path)s/libcudacxx"), + util.Interpolate("-DFLANG_RT_LIBCUDACXX_PATH=%(prop:nv_cccl_root_path)s/libcudacxx"), ], env={ 'CCACHE_DIR' : util.Interpolate("%(prop:builddir)s/ccache-db"), @@ -3193,7 +3191,7 @@ stages = [ dict( name = "clang", - depends_on_projects = ["llvm", "clang", "clang-tools-extra", "lld", "openmp"], + depends_on_projects = ["llvm", "clang", "clang-tools-extra", "lld", "openmp", "flang"], enable_runtimes = ["compiler-rt"], cmake_definitions = { "LLVM_CCACHE_BUILD" : "ON", @@ -3209,16 +3207,17 @@ ), dict( name = "flang-runtime", - depends_on_projects = ["flang"], + depends_on_projects = ["flang-rt"], cmake_definitions = { "CMAKE_BUILD_TYPE" : "Release", "CMAKE_C_COMPILER" : util.Interpolate("%(prop:builddir)s/install-clang/bin/clang"), "CMAKE_CXX_COMPILER" : util.Interpolate("%(prop:builddir)s/install-clang/bin/clang++"), - "FLANG_EXPERIMENTAL_OMP_OFFLOAD_BUILD" : "host_device", - "FLANG_OMP_DEVICE_ARCHITECTURES" : "sm_50;sm_60;sm_70;sm_80", + "CMAKE_Fortran_COMPILER" : util.Interpolate("%(prop:builddir)s/install-clang/bin/flang"), + "FLANG_RT_EXPERIMENTAL_OFFLOAD_SUPPORT" : "OpenMP", + "FLANG_RT_DEVICE_ARCHITECTURES" : "sm_50;sm_60;sm_70;sm_80", }, - targets = ["FortranRuntime"], - src_to_build_dir = "flang/runtime", + targets = ["flang-rt"], + src_to_build_dir = "runtimes", ), ], env = { @@ -3346,7 +3345,7 @@ 'builddir': "premerge-monolithic-windows", 'factory' : UnifiedTreeBuilder.getCmakeWithNinjaWithMSVCBuildFactory( vs="autodetect", - depends_on_projects=["clang-tools-extra", "clang", "flang", "libclc", "lld", "llvm", "mlir", "polly", "pstl"], + depends_on_projects=["clang-tools-extra", "clang", "flang", "flang-rt", "libclc", "lld", "llvm", "mlir", "polly", "pstl"], checks=["check-all"], install_pip_requirements = True, extra_configure_args=[ @@ -3366,7 +3365,7 @@ 'workernames': ["premerge-linux-1"], 'builddir': "premerge-monolithic-linux", 'factory': UnifiedTreeBuilder.getCmakeWithNinjaBuildFactory( - depends_on_projects=["bolt", "clang", "clang-tools-extra", "compiler-rt", "flang", "libc", "libclc", "lld", "llvm", "mlir", "polly", "pstl"], + depends_on_projects=["bolt", "clang", "clang-tools-extra", "compiler-rt", "flang", "flang-rt", "libc", "libclc", "lld", "llvm", "mlir", "polly", "pstl"], install_pip_requirements = True, extra_configure_args=[ "-DCMAKE_BUILD_TYPE=Release", diff --git a/zorg/buildbot/builders/ClangBuilder.py b/zorg/buildbot/builders/ClangBuilder.py index 2c375d211..bd1bb63ac 100644 --- a/zorg/buildbot/builders/ClangBuilder.py +++ b/zorg/buildbot/builders/ClangBuilder.py @@ -273,6 +273,7 @@ def _getClangCMakeBuildFactory( depends_on_projects.append('libunwind') if checkout_flang: depends_on_projects.append('flang') + depends_on_projects.append('flang-rt') depends_on_projects.append('mlir') f = LLVMBuildFactory( diff --git a/zorg/buildbot/process/factory.py b/zorg/buildbot/process/factory.py index a2ac70ca8..23fbdaa0b 100644 --- a/zorg/buildbot/process/factory.py +++ b/zorg/buildbot/process/factory.py @@ -12,6 +12,7 @@ "libcxxabi", "libunwind", "openmp", + "flang-rt", ]) class LLVMBuildFactory(BuildFactory):