[llvm] [ci][llvm] Run cross-project-tests on llvm/ changes (PR #188522)
Michael Buch via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 17 02:03:56 PDT 2026
https://github.com/Michael137 updated https://github.com/llvm/llvm-project/pull/188522
>From f4a5dd8c4665f3cf5e02f5311d6bf679e1f91afa Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 25 Mar 2026 16:15:14 +0000
Subject: [PATCH 1/8] [ci][llvm] Test cross-project-tests on llvm/ changes
This patch ensures we run the `cross-project-tests` on `llvm/` PRs. At the very least those tests depend on debug-info and `llvm/ADT/`/`llvm/Support` (and the data-formatters that also live in `llvm/`).
This would've helped catch https://github.com/llvm/llvm-project/pull/188483 at pre-merge time.
---
.ci/compute_projects.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index 178ebc6ec5f97..bcf2e87602bd9 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -48,6 +48,7 @@
"mlir",
"polly",
"flang",
+ "cross-project-tests",
},
"lld": {"bolt", "cross-project-tests"},
"clang": {"clang-tools-extra", "cross-project-tests", "lldb"},
>From 9aeca4c808db885e2e8eae26b350778c7ab1540c Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Wed, 25 Mar 2026 16:23:04 +0000
Subject: [PATCH 2/8] fixup! un-exclude cross-project-tests
---
.ci/compute_projects.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/.ci/compute_projects.py b/.ci/compute_projects.py
index bcf2e87602bd9..d80f48d4187f9 100644
--- a/.ci/compute_projects.py
+++ b/.ci/compute_projects.py
@@ -95,7 +95,6 @@
}
EXCLUDE_LINUX = {
- "cross-project-tests", # TODO(issues/132796): Tests are failing.
"openmp", # https://github.com/google/llvm-premerge-checks/issues/410
}
>From 366d51f82cbbc2b93cb4fc08139f72633633e88b Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Thu, 26 Mar 2026 17:07:23 +0000
Subject: [PATCH 3/8] fixup! fix compute_projects_test
---
.ci/compute_projects_test.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index 63fed4957cf4e..e220bcea174c8 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -19,7 +19,7 @@ def test_llvm(self):
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-bolt check-clang check-clang-tools check-flang check-lld check-lldb check-llvm check-mlir check-polly",
+ "check-bolt check-clang check-clang-tools check-flang check-lld check-lldb check-llvm check-mlir check-polly check-cross-project",
)
self.assertEqual(
env_variables["runtimes_to_build"], "libcxx;libcxxabi;libunwind"
@@ -65,7 +65,7 @@ def test_llvm_mac(self):
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-clang check-clang-tools check-lld check-llvm check-mlir",
+ "check-clang check-clang-tools check-lld check-llvm check-mlir check-cross-project",
)
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(
>From 539497c762d336af133f27f4dab8ff1f77ddd273 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 27 Mar 2026 08:21:39 +0000
Subject: [PATCH 4/8] fixup! fix compute_projects_test.py
---
.ci/compute_projects_test.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/.ci/compute_projects_test.py b/.ci/compute_projects_test.py
index e220bcea174c8..13350a88f8742 100644
--- a/.ci/compute_projects_test.py
+++ b/.ci/compute_projects_test.py
@@ -15,11 +15,11 @@ def test_llvm(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "bolt;clang;clang-tools-extra;flang;lld;lldb;llvm;mlir;polly",
+ "bolt;clang;clang-tools-extra;cross-project-tests;flang;lld;lldb;llvm;mlir;polly",
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-bolt check-clang check-clang-tools check-flang check-lld check-lldb check-llvm check-mlir check-polly check-cross-project",
+ "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"
@@ -65,7 +65,7 @@ def test_llvm_mac(self):
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-clang check-clang-tools check-lld check-llvm check-mlir check-cross-project",
+ "check-clang check-clang-tools check-lld check-llvm check-mlir",
)
self.assertEqual(env_variables["runtimes_to_build"], "")
self.assertEqual(
@@ -83,11 +83,11 @@ def test_clang(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "clang;clang-tools-extra;lld;lldb;llvm",
+ "clang;clang-tools-extra;cross-project-tests;lld;lldb;llvm",
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-clang check-clang-tools check-lldb",
+ "check-clang check-clang-tools check-cross-project check-lldb",
)
self.assertEqual(
env_variables["runtimes_to_build"], "compiler-rt;libcxx;libcxxabi;libunwind"
@@ -158,11 +158,11 @@ def test_cir(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "clang;clang-tools-extra;lld;lldb;llvm;mlir",
+ "clang;clang-tools-extra;cross-project-tests;lld;lldb;llvm;mlir",
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-clang check-clang-cir check-clang-tools check-lldb",
+ "check-clang check-clang-cir check-clang-tools check-cross-project check-lldb",
)
self.assertEqual(
env_variables["runtimes_to_build"], "compiler-rt;libcxx;libcxxabi;libunwind"
@@ -432,11 +432,11 @@ def test_lit(self):
)
self.assertEqual(
env_variables["projects_to_build"],
- "bolt;clang;clang-tools-extra;flang;lld;lldb;llvm;mlir;polly",
+ "bolt;clang;clang-tools-extra;cross-project-tests;flang;lld;lldb;llvm;mlir;polly",
)
self.assertEqual(
env_variables["project_check_targets"],
- "check-bolt check-clang check-clang-tools check-flang check-lit check-lld check-lldb check-llvm check-mlir check-polly",
+ "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"
>From 7f5cea22c900761b3726942211d263d0109b7461 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 27 Mar 2026 10:51:57 +0000
Subject: [PATCH 5/8] TEMPORARY: artificially fail test
---
.../llvm-prettyprinters/lldb/expected.test | 2 +-
llvm/utils/lldbDataFormatters.py | 40 +++++++++----------
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test b/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
index e1119517e4c2c..f0bd68bd4c018 100644
--- a/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
+++ b/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
@@ -20,7 +20,7 @@ v -T ExpectedVecRef
#--- checks
# CHECK: (lldb) v -T ExpectedInt
# CHECK-NEXT: (llvm::Expected<int>) ExpectedInt = {
-# CHECK-NEXT: (llvm::Expected<int>::storage_type) value = 42
+# CHECK-NEXT: (llvm::Expected<int>::storage_ype) value = 42
# CHECK-NEXT: }
# CHECK: (lldb) v -T ExpectedPtr
diff --git a/llvm/utils/lldbDataFormatters.py b/llvm/utils/lldbDataFormatters.py
index c986f6695f88f..9c2b7d017240c 100644
--- a/llvm/utils/lldbDataFormatters.py
+++ b/llvm/utils/lldbDataFormatters.py
@@ -33,16 +33,16 @@ def __lldb_init_module(debugger: lldb.SBDebugger, internal_dict) -> None:
'-e -s "size=${svar%#}" '
'-x "^llvm::SmallVector<.+,.+>$"'
)
- debugger.HandleCommand(
- "type synthetic add -w llvm "
- f"-l {__name__}.ArrayRefSynthProvider "
- '-x "^llvm::ArrayRef<.+>$"'
- )
- debugger.HandleCommand(
- "type summary add -w llvm "
- '-e -s "size=${svar%#}" '
- '-x "^llvm::ArrayRef<.+>$"'
- )
+ #debugger.HandleCommand(
+ # "type synthetic add -w llvm "
+ # f"-l {__name__}.ArrayRefSynthProvider "
+ # '-x "^llvm::ArrayRef<.+>$"'
+ #)
+ #debugger.HandleCommand(
+ # "type summary add -w llvm "
+ # '-e -s "size=${svar%#}" '
+ # '-x "^llvm::ArrayRef<.+>$"'
+ #)
debugger.HandleCommand(
"type summary add -w llvm "
f"-F {__name__}.SmallStringSummaryProvider "
@@ -58,16 +58,16 @@ def __lldb_init_module(debugger: lldb.SBDebugger, internal_dict) -> None:
f"-F {__name__}.ConstStringSummaryProvider "
"lldb_private::ConstString"
)
- debugger.HandleCommand(
- "type synthetic add -w llvm "
- f"-l {__name__}.PointerIntPairSynthProvider "
- '-x "^llvm::PointerIntPair<.+>$"'
- )
- debugger.HandleCommand(
- "type synthetic add -w llvm "
- f"-l {__name__}.PointerUnionSynthProvider "
- '-x "^llvm::PointerUnion<.+>$"'
- )
+ #debugger.HandleCommand(
+ # "type synthetic add -w llvm "
+ # f"-l {__name__}.PointerIntPairSynthProvider "
+ # '-x "^llvm::PointerIntPair<.+>$"'
+ #)
+ #debugger.HandleCommand(
+ # "type synthetic add -w llvm "
+ # f"-l {__name__}.PointerUnionSynthProvider "
+ # '-x "^llvm::PointerUnion<.+>$"'
+ #)
debugger.HandleCommand(
"type summary add -w llvm "
f"-e -F {__name__}.DenseMapSummary "
>From ff1c6996e8318287a527b8394772f2fcf26f4729 Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 27 Mar 2026 12:16:10 +0000
Subject: [PATCH 6/8] fixup! fix XFAIL
---
.../debuginfo-tests/dexter-tests/memvars/const-branch.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c b/cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
index 00cc163259bce..05df8a10fcff2 100644
--- a/cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
+++ b/cross-project-tests/debuginfo-tests/dexter-tests/memvars/const-branch.c
@@ -1,4 +1,4 @@
-// XFAIL: !system-darwin || target-x86_64
+// XFAIL: target-x86_64
//// Suboptimal coverage, see inlined comments.
// REQUIRES: lldb
>From 164b713be21ac7b69b22eb89ca2efaf7268f851f Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 27 Mar 2026 13:22:09 +0000
Subject: [PATCH 7/8] fixup! print LLDB version
---
cross-project-tests/lit.cfg.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py
index c8d961aaac8d3..1d6d9c1505ad9 100644
--- a/cross-project-tests/lit.cfg.py
+++ b/cross-project-tests/lit.cfg.py
@@ -311,7 +311,16 @@ def get_lldb_version_string():
def set_lldb_formatters_compatibility_feature():
current_lldb_version = get_lldb_version_string()
- if not current_lldb_version:
+ if current_lldb_version:
+ print(
+ f"Found LLDB version '{gdb_version_string}'",
+ file=sys.stderr,
+ )
+ else:
+ print(
+ "No LLDB found on host. Skipping tests that require LLDB.",
+ file=sys.stderr,
+ )
return
if platform.system() == "Darwin":
>From 7d253612913ae1315b98cc80e79416146d750a2f Mon Sep 17 00:00:00 2001
From: Michael Buch <michaelbuch12 at gmail.com>
Date: Fri, 17 Apr 2026 09:56:24 +0100
Subject: [PATCH 8/8] fixup! revert temporary changes
---
.../llvm-prettyprinters/lldb/expected.test | 2 +-
cross-project-tests/lit.cfg.py | 11 +----
llvm/utils/lldbDataFormatters.py | 40 +++++++++----------
3 files changed, 22 insertions(+), 31 deletions(-)
diff --git a/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test b/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
index f0bd68bd4c018..e1119517e4c2c 100644
--- a/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
+++ b/cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
@@ -20,7 +20,7 @@ v -T ExpectedVecRef
#--- checks
# CHECK: (lldb) v -T ExpectedInt
# CHECK-NEXT: (llvm::Expected<int>) ExpectedInt = {
-# CHECK-NEXT: (llvm::Expected<int>::storage_ype) value = 42
+# CHECK-NEXT: (llvm::Expected<int>::storage_type) value = 42
# CHECK-NEXT: }
# CHECK: (lldb) v -T ExpectedPtr
diff --git a/cross-project-tests/lit.cfg.py b/cross-project-tests/lit.cfg.py
index 1d6d9c1505ad9..c8d961aaac8d3 100644
--- a/cross-project-tests/lit.cfg.py
+++ b/cross-project-tests/lit.cfg.py
@@ -311,16 +311,7 @@ def get_lldb_version_string():
def set_lldb_formatters_compatibility_feature():
current_lldb_version = get_lldb_version_string()
- if current_lldb_version:
- print(
- f"Found LLDB version '{gdb_version_string}'",
- file=sys.stderr,
- )
- else:
- print(
- "No LLDB found on host. Skipping tests that require LLDB.",
- file=sys.stderr,
- )
+ if not current_lldb_version:
return
if platform.system() == "Darwin":
diff --git a/llvm/utils/lldbDataFormatters.py b/llvm/utils/lldbDataFormatters.py
index 9c2b7d017240c..c986f6695f88f 100644
--- a/llvm/utils/lldbDataFormatters.py
+++ b/llvm/utils/lldbDataFormatters.py
@@ -33,16 +33,16 @@ def __lldb_init_module(debugger: lldb.SBDebugger, internal_dict) -> None:
'-e -s "size=${svar%#}" '
'-x "^llvm::SmallVector<.+,.+>$"'
)
- #debugger.HandleCommand(
- # "type synthetic add -w llvm "
- # f"-l {__name__}.ArrayRefSynthProvider "
- # '-x "^llvm::ArrayRef<.+>$"'
- #)
- #debugger.HandleCommand(
- # "type summary add -w llvm "
- # '-e -s "size=${svar%#}" '
- # '-x "^llvm::ArrayRef<.+>$"'
- #)
+ debugger.HandleCommand(
+ "type synthetic add -w llvm "
+ f"-l {__name__}.ArrayRefSynthProvider "
+ '-x "^llvm::ArrayRef<.+>$"'
+ )
+ debugger.HandleCommand(
+ "type summary add -w llvm "
+ '-e -s "size=${svar%#}" '
+ '-x "^llvm::ArrayRef<.+>$"'
+ )
debugger.HandleCommand(
"type summary add -w llvm "
f"-F {__name__}.SmallStringSummaryProvider "
@@ -58,16 +58,16 @@ def __lldb_init_module(debugger: lldb.SBDebugger, internal_dict) -> None:
f"-F {__name__}.ConstStringSummaryProvider "
"lldb_private::ConstString"
)
- #debugger.HandleCommand(
- # "type synthetic add -w llvm "
- # f"-l {__name__}.PointerIntPairSynthProvider "
- # '-x "^llvm::PointerIntPair<.+>$"'
- #)
- #debugger.HandleCommand(
- # "type synthetic add -w llvm "
- # f"-l {__name__}.PointerUnionSynthProvider "
- # '-x "^llvm::PointerUnion<.+>$"'
- #)
+ debugger.HandleCommand(
+ "type synthetic add -w llvm "
+ f"-l {__name__}.PointerIntPairSynthProvider "
+ '-x "^llvm::PointerIntPair<.+>$"'
+ )
+ debugger.HandleCommand(
+ "type synthetic add -w llvm "
+ f"-l {__name__}.PointerUnionSynthProvider "
+ '-x "^llvm::PointerUnion<.+>$"'
+ )
debugger.HandleCommand(
"type summary add -w llvm "
f"-e -F {__name__}.DenseMapSummary "
More information about the llvm-commits
mailing list