[libcxx-commits] [libcxx] 3243453 - [libc++] Take the benchmark testing configuration from the test suite (#226267)
via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Sep 24 18:46:46 PDT 2026
Author: Louis Dionne
Date: 2026-09-24T21:46:37-04:00
New Revision: 3243453c7b919c155a16e4e70e50d5f8417839d9
URL: https://github.com/llvm/llvm-project/commit/3243453c7b919c155a16e4e70e50d5f8417839d9
DIFF: https://github.com/llvm/llvm-project/commit/3243453c7b919c155a16e4e70e50d5f8417839d9.diff
LOG: [libc++] Take the benchmark testing configuration from the test suite (#226267)
Previously, we'd use the testing configuration (the .cfg.in file) from
the checked out test suite for the PR benchmarking, but we'd use the one
from `main` for the historical benchmarking. Since the config file is
logically part of the test suite (just like the rest of the Lit setup),
it makes more sense to take it from the checked-out test suite version.
Added:
Modified:
.github/workflows/libcxx-pr-benchmark.yml
libcxx/utils/ci/lnt/machines.json
libcxx/utils/ci/lnt/run-benchmarks
libcxx/utils/test-at-commit
Removed:
################################################################################
diff --git a/.github/workflows/libcxx-pr-benchmark.yml b/.github/workflows/libcxx-pr-benchmark.yml
index 38bece13040dd..913eca1fd62c0 100644
--- a/.github/workflows/libcxx-pr-benchmark.yml
+++ b/.github/workflows/libcxx-pr-benchmark.yml
@@ -186,9 +186,9 @@ jobs:
# Run 5 times so we can pick the median, and interleave baseline and candidate to mitigate the impact of
# environmental noise
for _ in $(seq 1 5); do
- ./libcxx/utils/test-at-commit --test-config "${PWD}/libcxx/test/configs/installed-libc++.cfg.in" -B benchmarks/baseline --compiler "${COMPILER}" -- -sv -j1 "${lit_params[@]}" --param libcxx_installation="${PWD}/install/baseline" "$BENCHMARKS"
+ ./libcxx/utils/test-at-commit --test-config installed-libc++.cfg.in -B benchmarks/baseline --compiler "${COMPILER}" -- -sv -j1 "${lit_params[@]}" --param libcxx_installation="${PWD}/install/baseline" "$BENCHMARKS"
./libcxx/utils/consolidate-benchmarks benchmarks/baseline | tee -a baseline.lnt
- ./libcxx/utils/test-at-commit --test-config "${PWD}/libcxx/test/configs/installed-libc++.cfg.in" -B benchmarks/candidate --compiler "${COMPILER}" -- -sv -j1 "${lit_params[@]}" --param libcxx_installation="${PWD}/install/candidate" "$BENCHMARKS"
+ ./libcxx/utils/test-at-commit --test-config installed-libc++.cfg.in -B benchmarks/candidate --compiler "${COMPILER}" -- -sv -j1 "${lit_params[@]}" --param libcxx_installation="${PWD}/install/candidate" "$BENCHMARKS"
./libcxx/utils/consolidate-benchmarks benchmarks/candidate | tee -a candidate.lnt
done
diff --git a/libcxx/utils/ci/lnt/machines.json b/libcxx/utils/ci/lnt/machines.json
index 1bcb8d15ae5ab..fce5eea24085b 100644
--- a/libcxx/utils/ci/lnt/machines.json
+++ b/libcxx/utils/ci/lnt/machines.json
@@ -1,10 +1,10 @@
[
{
- "lnt-machine": "macos-26.6.2-arm64-20260923",
+ "lnt-machine": "macos-26.6.2-arm64-20260924",
"runner": ["self-hosted", "macOS", "26.6.2", "ARM64", "apple-runners"],
"cxx": "clang++",
"xcode-version": "26.6",
- "benchmark-suite-version": "8bb5e216937e6b541f351aa1637c67e85a43ada0",
+ "benchmark-suite-version": "4ebb19efe952ded7f9d937731418baf3b28babd0",
"cmake-cache": "libcxx/utils/ci/lnt/cmake/generic.cmake",
"lit-params": ["std=c++26", "optimization=speed"],
"coverage": {
@@ -16,11 +16,11 @@
}
},
{
- "lnt-machine": "macos-26.6.2-arm64-hardenedfast-20260923",
+ "lnt-machine": "macos-26.6.2-arm64-hardenedfast-20260924",
"runner": ["self-hosted", "macOS", "26.6.2", "ARM64", "apple-runners"],
"cxx": "clang++",
"xcode-version": "26.6",
- "benchmark-suite-version": "8bb5e216937e6b541f351aa1637c67e85a43ada0",
+ "benchmark-suite-version": "4ebb19efe952ded7f9d937731418baf3b28babd0",
"cmake-cache": "libcxx/utils/ci/lnt/cmake/hardened-fast.cmake",
"lit-params": ["std=c++26", "optimization=speed"],
"coverage": {
@@ -32,10 +32,10 @@
}
},
{
- "lnt-machine": "linux-x86_64-20260812",
+ "lnt-machine": "linux-x86_64-20260924",
"runner": "llvm-premerge-libcxx-runners",
"cxx": "clang++-22",
- "benchmark-suite-version": "8bb5e216937e6b541f351aa1637c67e85a43ada0",
+ "benchmark-suite-version": "4ebb19efe952ded7f9d937731418baf3b28babd0",
"cmake-cache": "libcxx/utils/ci/lnt/cmake/generic.cmake",
"lit-params": ["std=c++26", "optimization=speed"],
"coverage": {
diff --git a/libcxx/utils/ci/lnt/run-benchmarks b/libcxx/utils/ci/lnt/run-benchmarks
index d610f83acb55b..f95a2b431dc39 100755
--- a/libcxx/utils/ci/lnt/run-benchmarks
+++ b/libcxx/utils/ci/lnt/run-benchmarks
@@ -213,7 +213,7 @@ def main(argv):
'--build-dir', artifacts / 'benchmarks-build',
'--test-suite-commit', args.test_suite_commit,
'--tmp-src-dir', artifacts / 'benchmarks-src',
- '--test-config', args.git_repo / 'libcxx/test/configs/installed-libc++.cfg.in',
+ '--test-config', 'installed-libc++.cfg.in',
'--compiler', args.compiler,
'--',
'-j1', '--time-tests', '--test-output=failed',
diff --git a/libcxx/utils/test-at-commit b/libcxx/utils/test-at-commit
index 58702ba049ccc..6f966419f8c60 100755
--- a/libcxx/utils/test-at-commit
+++ b/libcxx/utils/test-at-commit
@@ -63,8 +63,7 @@ def main(argv):
help='The testing configuration to use, which determines the Standard Library being tested. This has '
'the same meaning as the LIBCXX_TEST_CONFIG CMake option: either an absolute path to a Lit '
'configuration file, or a path relative to the libcxx/test/configs directory of the test suite '
- 'being used. Note that when --test-suite-commit is used, a relative path is resolved against '
- 'that older version of the test suite, so an absolute path is usually what you want.')
+ 'being used.')
parser.add_argument('--compiler', type=pathlib.Path, required=True,
help='Path to the compiler to use to run the tests.')
parser.add_argument('--test-suite-commit', type=str, required=False,
More information about the libcxx-commits
mailing list