[llvm] [Offload][CI] Enable offload runtime (PR #174955)

Jan Patrick Lehr via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 16 13:10:55 PST 2026


https://github.com/jplehr updated https://github.com/llvm/llvm-project/pull/174955

>From 2432bc3cea9907696227fa55473b130c676ce9c1 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 01/10] [Offload][CI] Enable 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 is to take another swing at enabling openmp and offload, at least,
for building in premerge test.
---
 .ci/compute_projects.py | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 541b33f5034b1..7c7da08355d39 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -32,6 +32,7 @@
     "lld": {"llvm"},
     "mlir": {"llvm"},
     "polly": {"llvm"},
+    "offload": {"llvm", "clang", "lld", "flang"},
 }
 
 # This mapping describes the additional projects that should be tested when a
@@ -84,6 +85,8 @@
     "compiler-rt": {"compiler-rt"},
     "flang": {"flang-rt"},
     "flang-rt": {"flang-rt"},
+    "openmp": {"openmp"},
+    "offload": {"offload", "openmp"},
     ".ci": {"compiler-rt", "libc", "flang-rt", "libclc"},
 }
 DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
@@ -94,7 +97,7 @@
 
 EXCLUDE_LINUX = {
     "cross-project-tests",  # TODO(issues/132796): Tests are failing.
-    "openmp",  # https://github.com/google/llvm-premerge-checks/issues/410
+    #"openmp",  # https://github.com/google/llvm-premerge-checks/issues/410
 }
 
 EXCLUDE_WINDOWS = {
@@ -107,6 +110,7 @@
     "libcxxabi",
     "libunwind",
     "flang-rt",
+    "offload",
 }
 
 # These are projects that we should test if the project itself is changed but
@@ -128,6 +132,7 @@
     "libcxx",
     "libcxxabi",
     "libunwind",
+    "offload",
 }
 
 PROJECT_CHECK_TARGETS = {
@@ -152,9 +157,10 @@
     "openmp": "check-openmp",
     "polly": "check-polly",
     "lit": "check-lit",
+    "offload": "check-offload",
 }
 
-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

>From 61eab1cb6b9174e890e9cac617869aab9a674f55 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Thu, 8 Jan 2026 06:33:16 -0600
Subject: [PATCH 02/10] WIP

---
 .ci/compute_projects.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 7c7da08355d39..4770e540fe5e0 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -32,7 +32,7 @@
     "lld": {"llvm"},
     "mlir": {"llvm"},
     "polly": {"llvm"},
-    "offload": {"llvm", "clang", "lld", "flang"},
+    "offload": {"clang", "lld", "flang"},
 }
 
 # This mapping describes the additional projects that should be tested when a
@@ -66,6 +66,7 @@
         "polly",
         "flang",
         "openmp",
+        "offload",
     },
 }
 
@@ -97,7 +98,6 @@
 
 EXCLUDE_LINUX = {
     "cross-project-tests",  # TODO(issues/132796): Tests are failing.
-    #"openmp",  # https://github.com/google/llvm-premerge-checks/issues/410
 }
 
 EXCLUDE_WINDOWS = {

>From 9aa5d961ffe87b223a5d57aa5c56cefee2b705b4 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Thu, 8 Jan 2026 06:53:22 -0600
Subject: [PATCH 03/10] WIP

---
 .ci/compute_projects.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 4770e540fe5e0..a26a56530ccc9 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -87,8 +87,8 @@
     "flang": {"flang-rt"},
     "flang-rt": {"flang-rt"},
     "openmp": {"openmp"},
-    "offload": {"offload", "openmp"},
-    ".ci": {"compiler-rt", "libc", "flang-rt", "libclc"},
+    "offload": {"offload"},
+    ".ci": {"compiler-rt", "libc", "flang-rt", "libclc", "openmp", "offload"},
 }
 DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
     "llvm": {"libcxx", "libcxxabi", "libunwind"},

>From 3b5c1e7228438bf637ae6e2049e3d5d564cc0a20 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Thu, 8 Jan 2026 07:08:30 -0600
Subject: [PATCH 04/10] WIP

---
 .ci/compute_projects.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index a26a56530ccc9..0ec3ddab68e38 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -67,6 +67,7 @@
         "flang",
         "openmp",
         "offload",
+        "libclc",
     },
 }
 

>From 8c5ce2c1dd892ca69fc654abc63c77e21fdd342d Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Fri, 9 Jan 2026 14:01:26 -0600
Subject: [PATCH 05/10] Update CI tests

---
 .ci/compute_projects_test.py | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index f0abdd708ca42..704d515883b26 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -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;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,11 +367,11 @@ 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"],
-            "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"],
@@ -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"],

>From 5841fc92af69989fc6c8ce358505db3683091399 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Mon, 16 Feb 2026 13:27:07 -0600
Subject: [PATCH 06/10] Trying to only build not test runtimes

---
 .ci/compute_projects.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 0ec3ddab68e38..1652ef58b8651 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -75,8 +75,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
 # touched.
@@ -87,8 +90,8 @@
     "compiler-rt": {"compiler-rt"},
     "flang": {"flang-rt"},
     "flang-rt": {"flang-rt"},
-    "openmp": {"openmp"},
-    "offload": {"offload"},
+    # "openmp": {"openmp"},
+    # "offload": {"offload"},
     ".ci": {"compiler-rt", "libc", "flang-rt", "libclc", "openmp", "offload"},
 }
 DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
@@ -155,10 +158,10 @@
     "lld": "check-lld",
     "lldb": "check-lldb",
     "mlir": "check-mlir",
-    "openmp": "check-openmp",
+    # "openmp": "check-openmp",
     "polly": "check-polly",
     "lit": "check-lit",
-    "offload": "check-offload",
+    # "offload": "check-offload",
 }
 
 RUNTIMES = {"libcxx", "libcxxabi", "libunwind", "compiler-rt", "libc", "flang-rt", "openmp", "offload"}

>From eb49814ab2593fdbaae7c942b2443114c6b63b3c Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Mon, 16 Feb 2026 13:58:05 -0600
Subject: [PATCH 07/10] WIP

---
 .ci/compute_projects.py | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 1652ef58b8651..3134321c418d3 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,7 @@
     "lld": {"llvm"},
     "mlir": {"llvm"},
     "polly": {"llvm"},
+    "openmp": {"clang", "lld"},
     "offload": {"clang", "lld", "flang"},
 }
 
@@ -65,8 +65,6 @@
         "mlir",
         "polly",
         "flang",
-        "openmp",
-        "offload",
         "libclc",
     },
 }
@@ -79,7 +77,8 @@
     "clang": {"openmp", "offload"},
     "llvm": {"openmp", "offload"},
     "lld": {"openmp", "offload"},
-    ".ci": {"openmp", "offload"}}
+    ".ci": {"openmp", "offload"}
+}
 
 # This mapping describes runtimes that should be tested when the key project is
 # touched.
@@ -90,8 +89,8 @@
     "compiler-rt": {"compiler-rt"},
     "flang": {"flang-rt"},
     "flang-rt": {"flang-rt"},
-    # "openmp": {"openmp"},
-    # "offload": {"offload"},
+    "openmp": {"openmp"},
+    "offload": {"offload"},
     ".ci": {"compiler-rt", "libc", "flang-rt", "libclc", "openmp", "offload"},
 }
 DEPENDENT_RUNTIMES_TO_TEST_NEEDS_RECONFIG = {
@@ -158,9 +157,9 @@
     "lld": "check-lld",
     "lldb": "check-lldb",
     "mlir": "check-mlir",
-    # "openmp": "check-openmp",
     "polly": "check-polly",
     "lit": "check-lit",
+    # "openmp": "check-openmp",
     # "offload": "check-offload",
 }
 

>From 352b0a9823f2a85831aef26f408f98a3a6e67747 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Mon, 16 Feb 2026 14:01:25 -0600
Subject: [PATCH 08/10] WIP

---
 .ci/compute_projects.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 3134321c418d3..3cbbe7b7afdda 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -65,7 +65,6 @@
         "mlir",
         "polly",
         "flang",
-        "libclc",
     },
 }
 

>From 6478531a394b68695f3d3ba2d8bba4269368d62d Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Mon, 16 Feb 2026 15:05:13 -0600
Subject: [PATCH 09/10] Address formatter issues

---
 .ci/compute_projects.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 3cbbe7b7afdda..9a0c79ab1c7ba 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -76,7 +76,7 @@
     "clang": {"openmp", "offload"},
     "llvm": {"openmp", "offload"},
     "lld": {"openmp", "offload"},
-    ".ci": {"openmp", "offload"}
+    ".ci": {"openmp", "offload"},
 }
 
 # This mapping describes runtimes that should be tested when the key project is
@@ -158,8 +158,6 @@
     "mlir": "check-mlir",
     "polly": "check-polly",
     "lit": "check-lit",
-    # "openmp": "check-openmp",
-    # "offload": "check-offload",
 }
 
 RUNTIMES = {"libcxx", "libcxxabi", "libunwind", "compiler-rt", "libc", "flang-rt", "openmp", "offload"}

>From 0bb094d0213597c9ca12e4a33425e43d02ebd234 Mon Sep 17 00:00:00 2001
From: JP Lehr <JanPatrick.Lehr at amd.com>
Date: Mon, 16 Feb 2026 15:10:27 -0600
Subject: [PATCH 10/10] Update tests

---
 .ci/compute_projects_test.py | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index 704d515883b26..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,7 +293,7 @@ def test_ci(self):
         )
         self.assertEqual(
             env_variables["runtimes_to_build"],
-            "compiler-rt;flang-rt;libc;libcxx;libclc;libcxxabi;libunwind;offload;openmp",
+            "compiler-rt;flang-rt;libc;libclc;libcxx;libclc;libcxxabi;libunwind;offload;openmp",
         )
         self.assertEqual(
             env_variables["runtimes_check_targets"],
@@ -371,7 +371,7 @@ def test_premerge_workflow(self):
         )
         self.assertEqual(
             env_variables["runtimes_check_targets"],
-            "check-compiler-rt check-flang-rt check-libc check-offload check-openmp",
+            "check-compiler-rt check-flang-rt check-libc",
         )
         self.assertEqual(
             env_variables["runtimes_check_targets_needs_reconfig"],
@@ -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