diff --git a/libcxx/utils/ci/lnt/runners/README.md b/libcxx/utils/ci/lnt/runners/README.md new file mode 100644 index 0000000000000..13668947b27ea --- /dev/null +++ b/libcxx/utils/ci/lnt/runners/README.md @@ -0,0 +1,7 @@ +## Libc++ LNT runners + +This directory defines some LNT runners for tracking libc++ performance. A runner can be run with + +``` +bash <(curl -Ls https://raw.githubusercontent.com/llvm/llvm-project/main/libcxx/utils/ci/lnt/runners/RUNNER) +``` diff --git a/libcxx/utils/ci/lnt/runners/apple-m5-clang21 b/libcxx/utils/ci/lnt/runners/apple-m5-clang21 new file mode 100755 index 0000000000000..a901bffda6d97 --- /dev/null +++ b/libcxx/utils/ci/lnt/runners/apple-m5-clang21 @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +# +# Run on macOS against Homebrew Clang +# + +if [ -z "${1}" ] || [ ! -d "${1}" ]; then + echo "usage: ${0} " + echo "error: Please provide a valid path to the LLVM monorepo." + exit 1 +fi + +MONOREPO_DIR=$(cd "${1}" && pwd) + +export SDKROOT=$(xcrun --show-sdk-path) + +while true; do + ${MONOREPO_DIR}/libcxx/utils/ci/lnt/commit-watch --git-repo ${MONOREPO_DIR} \ + --lnt-url http://lnt.llvm.org --test-suite libcxx2 --machine apple-m5-clang21 | \ + while read commit; do \ + ${MONOREPO_DIR}/libcxx/utils/ci/lnt/run-benchmarks \ + --test-suite-commit 0eefb2682bf8c04954c46e91916b5164d8424702 \ + --git-repo ${MONOREPO_DIR} \ + --lnt-url http://lnt.llvm.org \ + --test-suite libcxx2 \ + --machine apple-m5-clang21 \ + --compiler $(brew --prefix)/opt/llvm/bin/clang++ \ + --benchmark-commit ${commit}; \ + done + sleep 60 # To avoid busy looping in case something goes really wrong +done diff --git a/libcxx/utils/ci/lnt/runners/apple-m5-xcode26 b/libcxx/utils/ci/lnt/runners/apple-m5-xcode26 new file mode 100755 index 0000000000000..98c664e0c9b43 --- /dev/null +++ b/libcxx/utils/ci/lnt/runners/apple-m5-xcode26 @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# +# Run on macOS against Xcode-provided Clang +# + +if [ -z "${1}" ] || [ ! -d "${1}" ]; then + echo "usage: ${0} " + echo "error: Please provide a valid path to the LLVM monorepo." + exit 1 +fi + +MONOREPO_DIR=$(cd "${1}" && pwd) + +while true; do + ${MONOREPO_DIR}/libcxx/utils/ci/lnt/commit-watch --git-repo ${MONOREPO_DIR} \ + --lnt-url http://lnt.llvm.org --test-suite libcxx2 --machine apple-m5-xcode26 | \ + while read commit; do \ + ${MONOREPO_DIR}/libcxx/utils/ci/lnt/run-benchmarks \ + --test-suite-commit 0eefb2682bf8c04954c46e91916b5164d8424702 \ + --git-repo ${MONOREPO_DIR} \ + --lnt-url http://lnt.llvm.org \ + --test-suite libcxx2 \ + --machine apple-m5-xcode26 \ + --compiler clang++ \ + --benchmark-commit ${commit}; \ + done + sleep 60 # To avoid busy looping in case something goes really wrong +done