Compare commits
16 Commits
Author | SHA1 | Date | |
---|---|---|---|
972a07c333 | |||
18c63eed72 | |||
50f2a7d65b | |||
6d60f24575 | |||
a5f8d47424 | |||
c26c062182 | |||
3f2fd5fe8a | |||
c1504aed11 | |||
4d5e86a208 | |||
9be65a69f7 | |||
e5803ff3d6 | |||
e03ba8cbb2 | |||
42f62ba33b | |||
c3445cd011 | |||
3ed9923c2a | |||
d9f498904c |
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/llvm-project-*
|
||||
/*.log
|
15
README.md
15
README.md
@ -1,19 +1,18 @@
|
||||
buildbot-benchmark.bash
|
||||
=======================
|
||||
|
||||
Standardised benchmark for AOSC Buildbots. This benchmark tests the relative
|
||||
performance by building LLVM's core runtime using Ninja.
|
||||
AOSC构建机器标准性能测试套件。本基准测试通过使用Ninja构建LLVM核心运行时来评估相对性能。
|
||||
|
||||
Usage
|
||||
使用方法
|
||||
-----
|
||||
|
||||
Run the benchmark by executing the script:
|
||||
执行以下命令运行测试:
|
||||
|
||||
```
|
||||
bash ./buildbot-benchmark.bash
|
||||
bash -c "$(curl -fsSL https://git.whlug.cn/xunmi/bb/raw/buildbot-benchmark.bash)"
|
||||
```
|
||||
|
||||
Collect "Real" time output from `time` output:
|
||||
从`time`命令输出中提取"Real"实际耗时:
|
||||
|
||||
```
|
||||
real 7m30.250s 7023.34%
|
||||
@ -21,10 +20,10 @@ user 484m4.777s
|
||||
sys 42m40.285s
|
||||
```
|
||||
|
||||
Calculate seconds, rounding up decimals:
|
||||
将时间转换为秒数(向上取整):
|
||||
|
||||
```
|
||||
echo $((7*60 + 31))s
|
||||
```
|
||||
|
||||
Input benchmark results under the "Speed" column in the [Buildbots](https://wiki.aosc.io/developer/infrastructure/buildbots/) page.
|
||||
请将测试结果填写至[构建机器](https://wiki.aosc.io/developer/infrastructure/buildbots/)页面的"性能"一栏。
|
||||
|
@ -1,258 +1,230 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Basic definitions.
|
||||
BENCHVER=20230227
|
||||
LLVMVER=15.0.7
|
||||
LLVMURL="https://github.com/llvm/llvm-project/releases/download/llvmorg-$LLVMVER/llvm-project-$LLVMVER.src.tar.xz"
|
||||
# 基础定义
|
||||
BENCHVER=20240318 # 基准测试版本号
|
||||
LLVMVER=18.1.1 # LLVM版本号
|
||||
LLVMURL="https://git.whlug.cn/api/packages/github-mirror/generic/llvm/$LLVMVER/llvm-project-$LLVMVER.src.tar.xz"
|
||||
LLVMDIR="$(basename $LLVMURL | rev | cut -f3- -d'.' | rev)"
|
||||
DEPENDENCIES="devel-base"
|
||||
DEPENDENCIES="devel-base" # 所需依赖包
|
||||
BUILDLOGFILE="$(pwd)/benchmark.log" # 构建日志文件
|
||||
|
||||
# Autobuild3 output formatter functions.
|
||||
abwarn() { echo -e "[\e[33mWARN\e[0m]: \e[1m$*\e[0m"; }
|
||||
aberr() { echo -e "[\e[31mERROR\e[0m]: \e[1m$*\e[0m"; exit 1; }
|
||||
abinfo() { echo -e "[\e[96mINFO\e[0m]: \e[1m$*\e[0m"; }
|
||||
# LLVM配置选项
|
||||
CONFIG_OPTS=(
|
||||
'-DCMAKE_BUILD_TYPE:STRING=Release'
|
||||
'-DBENCHMARK_BUILD_32_BITS:BOOL=OFF'
|
||||
'-DBENCHMARK_DOWNLOAD_DEPENDENCIES:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_ASSEMBLY_TESTS:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_DOXYGEN:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_EXCEPTIONS:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_GTEST_TESTS:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_INSTALL:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_LIBPFM:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_LTO:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_TESTING:BOOL=OFF'
|
||||
'-DBENCHMARK_ENABLE_WERROR:BOOL=OFF'
|
||||
'-DBENCHMARK_FORCE_WERROR:BOOL=OFF'
|
||||
'-DBENCHMARK_INSTALL_DOCS:BOOL=OFF'
|
||||
'-DBENCHMARK_USE_BUNDLED_GTEST:BOOL=OFF'
|
||||
'-DBENCHMARK_USE_LIBCXX:BOOL=OFF'
|
||||
'-DBUILD_SHARED_LIBS:BOOL=OFF'
|
||||
'-DHAVE_STD_REGEX:BOOL=ON'
|
||||
'-DLLVM_ADDITIONAL_BUILD_TYPES:BOOL=OFF'
|
||||
'-DLLVM_ALLOW_PROBLEMATIC_CONFIGURATIONS:BOOL=OFF'
|
||||
'-DLLVM_APPEND_VC_REV:BOOL=OFF'
|
||||
'-DLLVM_BUILD_32_BITS:BOOL=OFF'
|
||||
'-DLLVM_BUILD_BENCHMARKS:BOOL=OFF'
|
||||
'-DLLVM_BUILD_DOCS:BOOL=OFF'
|
||||
'-DLLVM_BUILD_EXAMPLES:BOOL=OFF'
|
||||
'-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=OFF'
|
||||
'-DLLVM_BUILD_LLVM_C_DYLIB:BOOL=OFF'
|
||||
'-DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF'
|
||||
'-DLLVM_BUILD_RUNTIME:BOOL=ON'
|
||||
'-DLLVM_BUILD_RUNTIMES:BOOL=ON'
|
||||
'-DLLVM_BUILD_TESTS:BOOL=OFF'
|
||||
'-DLLVM_BUILD_TOOLS:BOOL=OFF'
|
||||
'-DLLVM_BUILD_UTILS:BOOL=OFF'
|
||||
'-DLLVM_BYE_LINK_INTO_TOOLS:BOOL=OFF'
|
||||
'-DLLVM_CCACHE_BUILD:BOOL=OFF'
|
||||
'-DLLVM_DEPENDENCY_DEBUGGING:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_ASSERTIONS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_BACKTRACES:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_BINDINGS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_CRASH_DUMPS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_CRASH_OVERRIDES:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_DAGISEL_COV:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_DOXYGEN:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_DUMP:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_EH:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_FFI:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_GISEL_COV:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_IDE:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LIBCXX:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LIBEDIT:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LIBPFM:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LLD:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LLVM_LIBC:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY:BOOL=ON'
|
||||
'-DLLVM_ENABLE_MODULES:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_MODULE_DEBUGGING:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_NEW_PASS_MANAGER:BOOL=TRUE'
|
||||
'-DLLVM_ENABLE_OCAMLDOC:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_PEDANTIC:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR:BOOL=ON'
|
||||
'-DLLVM_ENABLE_PIC:BOOL=ON'
|
||||
'-DLLVM_ENABLE_PLUGINS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_RTTI:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_SPHINX:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_STRICT_FIXED_SIZE_VECTORS:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_TERMINFO:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_THREADS:BOOL=ON'
|
||||
'-DLLVM_ENABLE_UNWIND_TABLES:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_WARNINGS:BOOL=ON'
|
||||
'-DLLVM_ENABLE_WERROR:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_Z3_SOLVER:BOOL=OFF'
|
||||
'-DLLVM_EXPERIMENTAL_DEBUGINFO_ITERATORS:BOOL=OFF'
|
||||
'-DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS:BOOL=OFF'
|
||||
'-DLLVM_EXTERNALIZE_DEBUGINFO:BOOL=OFF'
|
||||
'-DLLVM_FORCE_ENABLE_STATS:BOOL=OFF'
|
||||
'-DLLVM_FORCE_USE_OLD_TOOLCHAIN:BOOL=OFF'
|
||||
'-DLLVM_HAVE_TFLITE:BOOL='
|
||||
'-DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_DOCS:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_GO_TESTS:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_RUNTIMES:BOOL=ON'
|
||||
'-DLLVM_INCLUDE_TESTS:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_TOOLS:BOOL=OFF'
|
||||
'-DLLVM_INCLUDE_UTILS:BOOL=OFF'
|
||||
'-DLLVM_INDIVIDUAL_TEST_COVERAGE:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_BINUTILS_SYMLINKS:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_CCTOOLS_SYMLINKS:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_GTEST:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_MODULEMAPS:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF'
|
||||
'-DLLVM_INSTALL_UTILS:BOOL=OFF'
|
||||
'-DLLVM_LINK_LLVM_DYLIB:BOOL=OFF'
|
||||
'-DLLVM_OMIT_DAGISEL_COMMENTS:BOOL=OFF'
|
||||
'-DLLVM_OPTIMIZED_TABLEGEN:BOOL=OFF'
|
||||
'-DLLVM_OPTIMIZE_SANITIZED_BUILDS:BOOL=ON'
|
||||
'-DLLVM_STATIC_LINK_CXX_STDLIB:BOOL=OFF'
|
||||
'-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL=OFF'
|
||||
'-DLLVM_TOOL_BOLT_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_CLANG_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_CROSS_PROJECT_TESTS_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_DRAGONEGG_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_FLANG_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LIBCXXABI_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LIBCXX_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LIBC_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LIBUNWIND_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LLDB_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LLD_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_LLVM_DRIVER_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_MLIR_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_OPENMP_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_POLLY_BUILD:BOOL=OFF'
|
||||
'-DLLVM_TOOL_PSTL_BUILD:BOOL=OFF'
|
||||
'-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON'
|
||||
'-DLLVM_USE_FOLDERS:BOOL=ON'
|
||||
'-DLLVM_USE_INTEL_JITEVENTS:BOOL=OFF'
|
||||
'-DLLVM_USE_OPROFILE:BOOL=OFF'
|
||||
'-DLLVM_USE_PERF:BOOL=OFF'
|
||||
'-DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO:BOOL=OFF'
|
||||
'-DLLVM_USE_RELATIVE_PATHS_IN_FILES:BOOL=OFF'
|
||||
'-DLLVM_USE_SPLIT_DWARF:BOOL=OFF'
|
||||
'-DLLVM_USE_STATIC_ZSTD:BOOL=FALSE'
|
||||
'-DLLVM_USE_SYMLINKS:BOOL=ON'
|
||||
'-DLLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO:BOOL=ON'
|
||||
'-DLLVM_WINDOWS_PREFER_FORWARD_SLASH:BOOL=OFF'
|
||||
'-DPY_PYGMENTS_FOUND:BOOL=OFF'
|
||||
'-DPY_PYGMENTS_LEXERS_C_CPP_FOUND:BOOL=OFF'
|
||||
'-DPY_YAML_FOUND:BOOL=OFF'
|
||||
'-DLLVM_ENABLE_LTO:BOOL=ON'
|
||||
)
|
||||
|
||||
# Autobuild3 dpkg handler functions.
|
||||
# 自动构建输出格式化函数
|
||||
abwarn() { echo -e "[\e[33m警告\e[0m]: \e[1m$*\e[0m"; } # 黄色警告信息
|
||||
aberr() { echo -e "[\e[31m错误\e[0m]: \e[1m$*\e[0m"; exit 1; } # 红色错误信息
|
||||
abinfo() { echo -e "[\e[96m信息\e[0m]: \e[1m$*\e[0m"; } # 青色信息提示
|
||||
|
||||
# 软件包管理函数
|
||||
pm_exists(){
|
||||
for p in "$@"; do
|
||||
dpkg $PM_ROOTPARAM -l "$p" | grep ^ii >/dev/null 2>&1 || return 1
|
||||
done
|
||||
for p in "$@"; do
|
||||
dpkg $PM_ROOTPARAM -l "$p" | grep ^ii >/dev/null 2>&1 || return 1
|
||||
done
|
||||
}
|
||||
pm_repoupdate(){
|
||||
apt-get update
|
||||
apt-get update
|
||||
}
|
||||
pm_repoinstall(){
|
||||
apt-get install "$@" --yes
|
||||
apt-get install "$@" --yes
|
||||
}
|
||||
|
||||
# 系统检测逻辑
|
||||
sys_detect() {
|
||||
. /etc/os-release
|
||||
export $ID
|
||||
}
|
||||
|
||||
echo -e "
|
||||
******************************************************************************
|
||||
---------------- BUILDBOT BENCHMARK (version $BENCHVER) -----------------
|
||||
---------------- 构建机器性能测试套件 (版本 $BENCHVER) -----------------
|
||||
******************************************************************************
|
||||
|
||||
Benchmark: Building LLVM runtime (version $LLVMVER), using Ninja, LTO enabled.
|
||||
测试项目: 构建LLVM运行时 (版本 $LLVMVER), 使用Ninja构建工具, 启用LTO优化
|
||||
|
||||
System architecture: $(dpkg --print-architecture)
|
||||
System processors: $(nproc)
|
||||
System memory: $(( $(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }') / 1024 / 1024 )) GiB
|
||||
系统架构: $(uname -m)
|
||||
处理器核心数: $(nproc)
|
||||
系统内存: $(( $(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }') / 1024 / 1024 )) GiB
|
||||
"
|
||||
|
||||
abinfo "(1/6) Preparing to benchmark Buildbot: Fetching dependencies ..."
|
||||
if ! pm_exists $DEPENDENCIES; then
|
||||
abinfo "Build or runtime dependencies not satisfied, now fetching needed packages."
|
||||
pm_repoupdate || \
|
||||
aberr "Failed to refresh repository: $?"
|
||||
pm_repoinstall $DEPENDENCIES || \
|
||||
aberr "Failed to install needed dependencies: $?"
|
||||
abinfo "(1/6) 准备基准测试: 获取依赖项..."
|
||||
sys_detect
|
||||
if [[ "$ID" = "aosc" ]]; then
|
||||
if ! pm_exists $DEPENDENCIES; then
|
||||
abinfo "构建或运行时依赖未满足,正在获取所需软件包"
|
||||
pm_repoupdate || \
|
||||
aberr "仓库更新失败: $?"
|
||||
pm_repoinstall $DEPENDENCIES || \
|
||||
aberr "依赖安装失败: $?"
|
||||
fi
|
||||
else
|
||||
abwarn "检测到非AOSC操作系统, 请自行处理依赖项!
|
||||
|
||||
通常您需要安装基础开发工具元包,
|
||||
例如Debian/Ubuntu的ninja和build-essential,
|
||||
或Arch Linux的base-devel。\n"
|
||||
fi
|
||||
|
||||
abinfo "(2/6) Preparing to benchmark Buildbot: Downloading LLVM (version $LLVMVER) ..."
|
||||
wget -c $LLVMURL 2> benchmark.log || \
|
||||
aberr "Failed to download LLVM: $?."
|
||||
abinfo "(2/6) 准备基准测试: 下载LLVM (版本 $LLVMVER)..."
|
||||
wget -c $LLVMURL 2> $BUILDLOGFILE || \
|
||||
aberr "LLVM下载失败: $?."
|
||||
|
||||
abinfo "(3/6) Preparing to benchmark Buildbot: Unpacking LLVM (version $LLVMVER) ..."
|
||||
abinfo "(3/6) 准备基准测试: 解压LLVM (版本 $LLVMVER)..."
|
||||
rm -rf "$LLVMDIR"
|
||||
tar xf $(basename $LLVMURL) || \
|
||||
aberr "Failed to unpack LLVM: $?."
|
||||
aberr "LLVM解压失败: $?."
|
||||
|
||||
abinfo "(4/6) Preparing to benchmark Buildbot: Setting up build environment ..."
|
||||
abinfo "(4/6) 准备基准测试: 设置构建环境..."
|
||||
mkdir -p "$LLVMDIR"/llvm/build || \
|
||||
aberr "Failed to create build directory: $?."
|
||||
aberr "创建构建目录失败: $?."
|
||||
cd "$LLVMDIR"/llvm/build || \
|
||||
aberr "Failed to swtich to build directory: $?."
|
||||
# Set LANG to C to make gcc faster (a little bit)
|
||||
aberr "切换至构建目录失败: $?."
|
||||
# 设置LANG为C以提升gcc编译速度(轻微提升)
|
||||
export LC_ALL=C
|
||||
export LANG=C
|
||||
|
||||
abinfo "(5/6) Preparing to benchmark Buildbot: Configuring LLVM (version $LLVMVER) ..."
|
||||
abinfo "(5/6) 准备基准测试: 配置LLVM (版本 $LLVMVER)..."
|
||||
cmake .. \
|
||||
-DBENCHMARK_BUILD_32_BITS:BOOL=OFF \
|
||||
-DBENCHMARK_DOWNLOAD_DEPENDENCIES:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_ASSEMBLY_TESTS:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_DOXYGEN:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_EXCEPTIONS:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_GTEST_TESTS:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_INSTALL:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_LIBPFM:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_LTO:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_TESTING:BOOL=OFF \
|
||||
-DBENCHMARK_ENABLE_WERROR:BOOL=OFF \
|
||||
-DBENCHMARK_FORCE_WERROR:BOOL=OFF \
|
||||
-DBENCHMARK_INSTALL_DOCS:BOOL=OFF \
|
||||
-DBENCHMARK_USE_BUNDLED_GTEST:BOOL=OFF \
|
||||
-DBENCHMARK_USE_LIBCXX:BOOL=OFF \
|
||||
-DBUG_REPORT_URL:STRING=https://github.com/llvm/llvm-project/issues/ \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DCMAKE_BUILD_TYPE:STRING=Release \
|
||||
-DCMAKE_CXX_STANDARD:STRING=14 \
|
||||
-DCMAKE_INSTALL_PACKAGEDIR:PATH=lib/cmake \
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=/usr/local \
|
||||
-DFFI_INCLUDE_DIR:PATH= \
|
||||
-DFFI_LIBRARY_DIR:PATH= \
|
||||
-DGOLD_EXECUTABLE:FILEPATH=/bin/ld.gold \
|
||||
-DGO_EXECUTABLE:FILEPATH=/bin/go \
|
||||
-DHAVE_STD_REGEX:BOOL=ON \
|
||||
-DLLVM_ABI_BREAKING_CHECKS:STRING=WITH_ASSERTS \
|
||||
-DLLVM_ALLOW_PROBLEMATIC_CONFIGURATIONS:BOOL=OFF \
|
||||
-DLLVM_APPEND_VC_REV:BOOL=OFF \
|
||||
-DLLVM_BINUTILS_INCDIR:PATH= \
|
||||
-DLLVM_BUILD_32_BITS:BOOL=OFF \
|
||||
-DLLVM_BUILD_BENCHMARKS:BOOL=OFF \
|
||||
-DLLVM_BUILD_DOCS:BOOL=OFF \
|
||||
-DLLVM_BUILD_EXAMPLES:BOOL=OFF \
|
||||
-DLLVM_BUILD_EXTERNAL_COMPILER_RT:BOOL=OFF \
|
||||
-DLLVM_BUILD_LLVM_C_DYLIB:BOOL=OFF \
|
||||
-DLLVM_BUILD_LLVM_DYLIB:BOOL=OFF \
|
||||
-DLLVM_BUILD_RUNTIME:BOOL=ON \
|
||||
-DLLVM_BUILD_RUNTIMES:BOOL=ON \
|
||||
-DLLVM_BUILD_TESTS:BOOL=OFF \
|
||||
-DLLVM_BUILD_TOOLS:BOOL=OFF \
|
||||
-DLLVM_BUILD_UTILS:BOOL=OFF \
|
||||
-DLLVM_BYE_LINK_INTO_TOOLS:BOOL=OFF \
|
||||
-DLLVM_CCACHE_BUILD:BOOL=OFF \
|
||||
-DLLVM_CODESIGNING_IDENTITY:STRING= \
|
||||
-DLLVM_DEPENDENCY_DEBUGGING:BOOL=OFF \
|
||||
-DLLVM_DYLIB_COMPONENTS:STRING=all \
|
||||
-DLLVM_ENABLE_ASSERTIONS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_BACKTRACES:BOOL=OFF \
|
||||
-DLLVM_ENABLE_BINDINGS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_CRASH_DUMPS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_CRASH_OVERRIDES:BOOL=OFF \
|
||||
-DLLVM_ENABLE_CURL:STRING=OFF \
|
||||
-DLLVM_ENABLE_DAGISEL_COV:BOOL=OFF \
|
||||
-DLLVM_ENABLE_DOXYGEN:BOOL=OFF \
|
||||
-DLLVM_ENABLE_DUMP:BOOL=OFF \
|
||||
-DLLVM_ENABLE_EH:BOOL=OFF \
|
||||
-DLLVM_ENABLE_EXPENSIVE_CHECKS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_FFI:BOOL=OFF \
|
||||
-DLLVM_ENABLE_GISEL_COV:BOOL=OFF \
|
||||
-DLLVM_ENABLE_HTTPLIB:STRING=OFF \
|
||||
-DLLVM_ENABLE_IDE:BOOL=OFF \
|
||||
-DLLVM_ENABLE_LIBCXX:BOOL=OFF \
|
||||
-DLLVM_ENABLE_LIBEDIT:BOOL=OFF \
|
||||
-DLLVM_ENABLE_LIBPFM:BOOL=OFF \
|
||||
-DLLVM_ENABLE_LIBXML2:STRING=OFF \
|
||||
-DLLVM_ENABLE_LLD:BOOL=OFF \
|
||||
-DLLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY:BOOL=ON \
|
||||
-DLLVM_ENABLE_LTO:STRING=ON \
|
||||
-DLLVM_ENABLE_MODULES:BOOL=OFF \
|
||||
-DLLVM_ENABLE_MODULE_DEBUGGING:BOOL=OFF \
|
||||
-DLLVM_ENABLE_NEW_PASS_MANAGER:BOOL=TRUE \
|
||||
-DLLVM_ENABLE_OCAMLDOC:BOOL=OFF \
|
||||
-DLLVM_ENABLE_PEDANTIC:BOOL=OFF \
|
||||
-DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR:BOOL=ON \
|
||||
-DLLVM_ENABLE_PIC:BOOL=ON \
|
||||
-DLLVM_ENABLE_PLUGINS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_PROJECTS:STRING= \
|
||||
-DLLVM_ENABLE_RTTI:BOOL=OFF \
|
||||
-DLLVM_ENABLE_RUNTIMES:STRING= \
|
||||
-DLLVM_ENABLE_SPHINX:BOOL=OFF \
|
||||
-DLLVM_ENABLE_STRICT_FIXED_SIZE_VECTORS:BOOL=OFF \
|
||||
-DLLVM_ENABLE_TERMINFO:BOOL=OFF \
|
||||
-DLLVM_ENABLE_THREADS:BOOL=ON \
|
||||
-DLLVM_ENABLE_UNWIND_TABLES:BOOL=OFF \
|
||||
-DLLVM_ENABLE_WARNINGS:BOOL=ON \
|
||||
-DLLVM_ENABLE_WERROR:BOOL=OFF \
|
||||
-DLLVM_ENABLE_Z3_SOLVER:BOOL=OFF \
|
||||
-DLLVM_ENABLE_ZLIB:STRING=OFF \
|
||||
-DLLVM_ENABLE_ZSTD:STRING=OFF \
|
||||
-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD:STRING= \
|
||||
-DLLVM_EXPORT_SYMBOLS_FOR_PLUGINS:BOOL=OFF \
|
||||
-DLLVM_EXTERNALIZE_DEBUGINFO:BOOL=OFF \
|
||||
-DLLVM_EXTERNAL_BOLT_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_CLANG_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_CROSS_PROJECT_TESTS_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_DRAGONEGG_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_FLANG_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LIBCXXABI_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LIBCXX_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LIBC_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LIBUNWIND_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LIT:STRING= \
|
||||
-DLLVM_EXTERNAL_LLDB_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_LLD_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_MLIR_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_OPENMP_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_POLLY_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTERNAL_PSTL_SOURCE_DIR:PATH= \
|
||||
-DLLVM_EXTRACT_SYMBOLS_FLAGS:STRING= \
|
||||
-DLLVM_FILECHECK_EXE:PATH=/bin/FileCheck \
|
||||
-DLLVM_FORCE_ENABLE_STATS:BOOL=OFF \
|
||||
-DLLVM_FORCE_USE_OLD_TOOLCHAIN:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_DOCS:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_GO_TESTS:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_RUNTIMES:BOOL=ON \
|
||||
-DLLVM_INCLUDE_TESTS:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_TOOLS:BOOL=OFF \
|
||||
-DLLVM_INCLUDE_UTILS:BOOL=OFF \
|
||||
-DLLVM_INSTALL_BINUTILS_SYMLINKS:BOOL=OFF \
|
||||
-DLLVM_INSTALL_CCTOOLS_SYMLINKS:BOOL=OFF \
|
||||
-DLLVM_INSTALL_DOXYGEN_HTML_DIR:STRING=share/doc/LLVM/llvm/doxygen-html \
|
||||
-DLLVM_INSTALL_MODULEMAPS:BOOL=OFF \
|
||||
-DLLVM_INSTALL_OCAMLDOC_HTML_DIR:STRING=share/doc/LLVM/llvm/ocaml-html \
|
||||
-DLLVM_INSTALL_PACKAGE_DIR:STRING=lib/cmake/llvm \
|
||||
-DLLVM_INSTALL_TOOLCHAIN_ONLY:BOOL=OFF \
|
||||
-DLLVM_INSTALL_UTILS:BOOL=OFF \
|
||||
-DLLVM_INTEGRATED_CRT_ALLOC:PATH= \
|
||||
-DLLVM_LIBDIR_SUFFIX:STRING= \
|
||||
-DLLVM_LIB_FUZZING_ENGINE:PATH= \
|
||||
-DLLVM_LINK_LLVM_DYLIB:BOOL=OFF \
|
||||
-DLLVM_LIT_ARGS:STRING=-sv \
|
||||
-DLLVM_LOCAL_RPATH:FILEPATH= \
|
||||
-DLLVM_OMIT_DAGISEL_COMMENTS:BOOL=OFF \
|
||||
-DLLVM_OPTIMIZED_TABLEGEN:BOOL=OFF \
|
||||
-DLLVM_OPTIMIZE_SANITIZED_BUILDS:BOOL=ON \
|
||||
-DLLVM_PARALLEL_COMPILE_JOBS:STRING= \
|
||||
-DLLVM_PARALLEL_LINK_JOBS:STRING= \
|
||||
-DLLVM_PROFDATA_FILE:FILEPATH= \
|
||||
-DLLVM_SOURCE_PREFIX:STRING= \
|
||||
-DLLVM_STATIC_LINK_CXX_STDLIB:BOOL=OFF \
|
||||
-DLLVM_TABLEGEN:STRING=llvm-tblgen \
|
||||
-DLLVM_TARGETS_TO_BUILD:STRING=all \
|
||||
-DLLVM_TARGET_ARCH:STRING=host \
|
||||
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL=OFF \
|
||||
-DLLVM_TOOL_BOLT_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_CLANG_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_COMPILER_RT_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_CROSS_PROJECT_TESTS_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_DRAGONEGG_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_FLANG_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LIBCXXABI_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LIBCXX_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LIBC_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LIBUNWIND_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LLDB_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_LLD_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_MLIR_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_OPENMP_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_POLLY_BUILD:BOOL=OFF \
|
||||
-DLLVM_TOOL_PSTL_BUILD:BOOL=OFF \
|
||||
-DLLVM_UNREACHABLE_OPTIMIZE:BOOL=ON \
|
||||
-DLLVM_USE_FOLDERS:BOOL=ON \
|
||||
-DLLVM_USE_INTEL_JITEVENTS:BOOL=OFF \
|
||||
-DLLVM_USE_OPROFILE:BOOL=OFF \
|
||||
-DLLVM_USE_PERF:BOOL=OFF \
|
||||
-DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO:BOOL=OFF \
|
||||
-DLLVM_USE_RELATIVE_PATHS_IN_FILES:BOOL=OFF \
|
||||
-DLLVM_USE_SANITIZER:STRING= \
|
||||
-DLLVM_USE_SPLIT_DWARF:BOOL=OFF \
|
||||
-DLLVM_USE_STATIC_ZSTD:BOOL=FALSE \
|
||||
-DLLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO:BOOL=ON \
|
||||
-DLLVM_WINDOWS_PREFER_FORWARD_SLASH:BOOL=OFF \
|
||||
-DLLVM_Z3_INSTALL_DIR:STRING= \
|
||||
-DPY_PYGMENTS_FOUND:BOOL=OFF \
|
||||
-DPY_PYGMENTS_LEXERS_C_CPP_FOUND:BOOL=OFF \
|
||||
-DPY_YAML_FOUND:BOOL=OFF \
|
||||
-DTENSORFLOW_AOT_PATH:PATH= \
|
||||
-DTENSORFLOW_C_LIB_PATH:PATH= \
|
||||
-GNinja >> benchmark.log 2>&1 || \
|
||||
aberr "Failed to configure LLVM: $?."
|
||||
"${CONFIG_OPTS[@]}" \
|
||||
-GNinja >> $BUILDLOGFILE 2>&1 || \
|
||||
aberr "LLVM配置失败: $?."
|
||||
|
||||
abinfo "(6/6) Benchmarking Buildbot: Building LLVM ..."
|
||||
time ninja 2>> benchmark.log || \
|
||||
aberr "Failed to build LLVM: $?."
|
||||
unset LC_ALL LANG
|
||||
abinfo "(6/6) 执行基准测试: 构建LLVM..."
|
||||
time ninja 2>> $BUILDLOGFILE || \
|
||||
aberr "LLVM构建失败: $?."
|
||||
|
||||
unset LC_ALL LANG
|
Reference in New Issue
Block a user