[CI] Enable OpenMP and Offload runtime in premerge (#174955)

Offload and OpenMP have been disabled in pre-commit build and test for
quite some time.

After some changes to the way how LLVM is built in pre-merge, this PR
adds both OpenMP and Offload to the premerge CI. The intention is to
introduce *build only* of those runtimes and not run any tests.
The test suites appear to still be a bit flaky and many issues we see in
the (AMDGPU OpenMP / Offload) buildbots come from simple errors that can
be caught with a simple build in pre-merge CI.
This commit is contained in:
Jan Patrick Lehr 2026-06-08 17:56:18 +02:00 committed by GitHub
parent 79762d21c6
commit 407daf1bb2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 12 deletions

View file

@ -33,6 +33,7 @@ PROJECT_DEPENDENCIES = {
"lld": {"llvm"},
"mlir": {"llvm"},
"polly": {"llvm"},
"offload": {"clang", "lld", "flang"},
}
# This mapping describes the additional projects that should be tested when a
@ -67,7 +68,6 @@ DEPENDENTS_TO_TEST = {
"mlir",
"polly",
"flang",
"openmp",
},
}
@ -89,7 +89,9 @@ DEPENDENT_RUNTIMES_TO_TEST = {
"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"},
@ -98,7 +100,6 @@ DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
}
EXCLUDE_LINUX = {
"openmp", # https://github.com/google/llvm-premerge-checks/issues/410
}
# Runtimes configured for cross-compilation using LLVM_RUNTIME_TARGETS.
@ -116,6 +117,7 @@ EXCLUDE_WINDOWS = {
"libcxxabi",
"libunwind",
"flang-rt",
"offload",
}
# These are projects that we should test if the project itself is changed but
@ -139,6 +141,7 @@ EXCLUDE_MAC = {
"libcxx",
"libcxxabi",
"libunwind",
"offload",
}
PROJECT_CHECK_TARGETS = {
@ -159,9 +162,10 @@ PROJECT_CHECK_TARGETS = {
"libc": "check-libc",
"libclc": "check-libclc",
"mlir": "check-mlir",
"openmp": "check-openmp",
"openmp": "openmp", # Run only build in pre-merge
"polly": "check-polly",
"lit": "check-lit",
"offload": "offload", # Run only build in pre-merge
}
RUNTIMES = {
@ -172,6 +176,8 @@ RUNTIMES = {
"libc",
"flang-rt",
"libclc",
"openmp",
"offload",
}
# Meta projects are projects that need explicit handling but do not reside

View file

@ -22,7 +22,8 @@ class TestComputeProjects(unittest.TestCase):
"check-bolt check-clang check-clang-tools check-cross-project 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",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
@ -310,11 +311,11 @@ class TestComputeProjects(unittest.TestCase):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc offload openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
@ -384,11 +385,11 @@ class TestComputeProjects(unittest.TestCase):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc offload openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
@ -419,11 +420,11 @@ class TestComputeProjects(unittest.TestCase):
)
self.assertEqual(
env_variables["runtimes_to_build"],
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind",
"compiler-rt;flang-rt;libc;libcxx;libcxxabi;libunwind;offload;openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets"],
"check-compiler-rt check-flang-rt check-libc check-libclc",
"check-compiler-rt check-flang-rt check-libc check-libclc offload openmp",
)
self.assertEqual(
env_variables["runtimes_check_targets_needs_reconfig"],
@ -443,7 +444,8 @@ class TestComputeProjects(unittest.TestCase):
"check-bolt check-clang check-clang-tools check-cross-project 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",
)
self.assertEqual(
env_variables["runtimes_check_targets"],