[llvm] [Offload][CI] Enable offload runtime (PR #174955)
Jan Patrick Lehr via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 17 04:02:22 PST 2026
https://github.com/jplehr updated https://github.com/llvm/llvm-project/pull/174955
>From be74a905f65af47f36f3bf97095d5d6b7d47ea18 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Thu, 8 Jan 2026 05:55:56 -0600
Subject: [PATCH] [CI][Offload][OpenMP] Enable OpenMP and Offload runtime
Offload and OpenMP have been disabled in pre-commit build and test for
quite some time. Recently, some CMake changes were made and the build
command in premerge testing seems to have changed.
This PR enables the build of OpenMP and Offload in premerge CI. It
should not run tests, given community feedback about the reliability of
the test suites.
---
.ci/compute_projects.py | 29 ++++++++++++++++++++++-------
.ci/compute_projects_test.py | 16 ++++++++--------
2 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 541b33f5034b1..4b0b758af2658 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -24,7 +24,6 @@
"clang-tools-extra": {"clang", "llvm"},
"compiler-rt": {"clang", "lld"},
"libc": {"clang", "lld"},
- "openmp": {"clang", "lld"},
"flang": {"llvm", "clang"},
"flang-rt": {"flang"},
"lldb": {"llvm", "clang"},
@@ -32,6 +31,8 @@
"lld": {"llvm"},
"mlir": {"llvm"},
"polly": {"llvm"},
+ "openmp": {"clang", "lld"},
+ "offload": {"clang", "lld", "flang"},
}
# This mapping describes the additional projects that should be tested when a
@@ -64,7 +65,6 @@
"mlir",
"polly",
"flang",
- "openmp",
},
}
@@ -72,7 +72,11 @@
# but not necessarily run for testing. The only case of this currently is lldb
# which needs some runtimes enabled for tests.
DEPENDENT_RUNTIMES_TO_BUILD = {
- "lldb": {"libcxx", "libcxxabi", "libunwind", "compiler-rt"}
+ "lldb": {"libcxx", "libcxxabi", "libunwind", "compiler-rt"},
+ "clang": {"openmp", "offload"},
+ "llvm": {"openmp", "offload"},
+ "lld": {"openmp", "offload"},
+ ".ci": {"openmp", "offload"},
}
# This mapping describes runtimes that should be tested when the key project is
@@ -84,7 +88,9 @@
"compiler-rt": {"compiler-rt"},
"flang": {"flang-rt"},
"flang-rt": {"flang-rt"},
- ".ci": {"compiler-rt", "libc", "flang-rt", "libclc"},
+ "openmp": {"openmp"},
+ "offload": {"offload"},
+ ".ci": {"compiler-rt", "libc", "flang-rt", "libclc", "openmp", "offload"},
}
DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
"llvm": {"libcxx", "libcxxabi", "libunwind"},
@@ -94,7 +100,6 @@
EXCLUDE_LINUX = {
"cross-project-tests", # TODO(issues/132796): Tests are failing.
- "openmp", # https://github.com/google/llvm-premerge-checks/issues/410
}
EXCLUDE_WINDOWS = {
@@ -107,6 +112,7 @@
"libcxxabi",
"libunwind",
"flang-rt",
+ "offload",
}
# These are projects that we should test if the project itself is changed but
@@ -128,6 +134,7 @@
"libcxx",
"libcxxabi",
"libunwind",
+ "offload",
}
PROJECT_CHECK_TARGETS = {
@@ -149,12 +156,20 @@
"lld": "check-lld",
"lldb": "check-lldb",
"mlir": "check-mlir",
- "openmp": "check-openmp",
"polly": "check-polly",
"lit": "check-lit",
}
-RUNTIMES = {"libcxx", "libcxxabi", "libunwind", "compiler-rt", "libc", "flang-rt"}
+RUNTIMES = {
+ "libcxx",
+ "libcxxabi",
+ "libunwind",
+ "compiler-rt",
+ "libc",
+ "flang-rt",
+ "openmp",
+ "offload",
+}
# Meta projects are projects that need explicit handling but do not reside
# in their own top level folder. To add a meta project, the start of the path
diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index f0abdd708ca42..530ec76c47b85 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -22,7 +22,7 @@ def test_llvm(self):
"check-bolt check-clang check-clang-tools check-flang check-lld check-lldb check-llvm check-mlir check-polly",
)
self.assertEqual(
- env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
+ env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind;offload;openmp"
)
self.assertEqual(
env_variables["runtimes_check_targets"],
@@ -83,7 +83,7 @@ def test_clang(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "clang;clang-tools-extra;lld;lldb;llvm",
+ "clang;clang-tools-extra;flang;lld;lldb;llvm",
)
self.assertEqual(
env_variables["project_check_targets"],
@@ -158,7 +158,7 @@ def test_cir(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "clang;clang-tools-extra;lld;lldb;llvm;mlir",
+ "clang;clang-tools-extra;flang;lld;lldb;llvm;mlir",
)
self.assertEqual(
env_variables["project_check_targets"],
@@ -293,11 +293,11 @@ def test_ci(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
- "compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
+ "compiler-rt;flang-rt;libc;libclc;libcxx;libclc;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
- "check-compiler-rt check-flang-rt check-libc",
+ "check-compiler-rt check-flang-rt check-libc check-offload check-openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
@@ -367,7 +367,7 @@ def test_premerge_workflow(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
- "compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
+ "compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
@@ -402,7 +402,7 @@ def test_third_party_benchmark(self):
)
self.assertEqual(
env_variables["runtimes_to_build"],
- "compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind",
+ "compiler-rt;flang-rt;libc;libclc;libcxx;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
@@ -426,7 +426,7 @@ def test_lit(self):
"check-bolt check-clang check-clang-tools check-flang check-lit check-lld check-lldb check-llvm check-mlir check-polly",
)
self.assertEqual(
- env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
+ env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind;offload;openmp"
)
self.assertEqual(
env_variables["runtimes_check_targets"],
More information about the llvm-commits
mailing list