文件最后提交记录最后更新时间
4 年前
10 年前
3 年前
3 年前
5 年前
9 年前
2 年前
3 年前
2 年前
4 年前
2 年前
6 年前
6 年前
1 年前
1 年前
2 年前
3 年前
9 年前
2 年前
2 年前
10 年前
1 年前
2 年前
README.txt

CMake Caches

This directory contains CMake cache scripts that pre-populate the CMakeCache in a build directory with commonly used settings.

You can use the caches files with the following CMake invocation:

cmake -G -C [additional CMake options (i.e. -DCMAKE_INSTALL_PREFIX=)]

Options specified on the command line will override options in the cache files.

The following cache files exist.

Apple-stage1

The Apple stage1 cache configures a two stage build similar to how Apple builds the clang shipped with Xcode. The build files generated from this invocation has a target named "stage2" which performs an LTO build of clang.

The Apple-stage2 cache can be used directly to match the build settings Apple uses in shipping builds without doing a full bootstrap build.

PGO

The PGO CMake cache can be used to generate a multi-stage instrumented compiler. You can configure your build directory with the following invocation of CMake:

cmake -G -C <path_to_clang>/cmake/caches/PGO.cmake

After configuration the following additional targets will be generated:

stage2-instrumented: Builds a stage1 x86 compiler, runtime, and required tools (llvm-config, llvm-profdata) then uses that compiler to build an instrumented stage2 compiler.

stage2-instrumented-generate-profdata: Depends on "stage2-instrumented" and will use the instrumented compiler to generate profdata based on the training files in /utils/perf-training

stage2: Depends on "stage2-instrumented-generate-profdata" and will use the stage1 compiler with the stage2 profdata to build a PGO-optimized compiler.

stage2-check-llvm: Depends on stage2 and runs check-llvm using the stage3 compiler.

stage2-check-clang: Depends on stage2 and runs check-clang using the stage3 compiler.

stage2-check-all: Depends on stage2 and runs check-all using the stage3 compiler.

stage2-test-suite: Depends on stage2 and runs the test-suite using the stage3 compiler (requires in-tree test-suite).

3-stage

This cache file can be used to generate a 3-stage clang build. You can configure using the following CMake command:

cmake -C /cmake/caches/3-stage.cmake -G Ninja

You can then run "ninja stage3-clang" to build stage1, stage2 and stage3 clangs.

This is useful for finding non-determinism the compiler by verifying that stage2 and stage3 are identical.