[clang] [Fuchsia] Support PGO (PR #120323)
llvm-ci wrote: LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `clang` at step 7 "test-build-unified-tree-check-all". Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/22281 Here is the relevant piece of the build log for the reference ``` Step 7 (test-build-unified-tree-check-all) failure: test (failure) ... PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Integer/uadd-overflow.cpp (94189 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/Posix/static-link.cpp (94190 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/Posix/ubsan_options.cpp (94191 of 98215) PASS: UBSan-MemorySanitizer-x86_64 :: TestCases/Misc/local_bounds.cpp (94192 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Integer/suppressions.cpp (94193 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/bool.m (94194 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/bool.cpp (94195 of 98215) UNSUPPORTED: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/no-interception.cpp (94196 of 98215) PASS: UBSan-Standalone-lld-x86_64 :: TestCases/Misc/deduplication.cpp (94197 of 98215) TIMEOUT: MLIR :: Examples/standalone/test.toy (94198 of 98215) TEST 'MLIR :: Examples/standalone/test.toy' FAILED Exit Code: 1 Timeout: Reached timeout of 60 seconds Command Output (stdout): -- # RUN: at line 1 "/etc/cmake/bin/cmake" "/build/buildbot/premerge-monolithic-linux/llvm-project/mlir/examples/standalone" -G "Ninja" -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang -DLLVM_ENABLE_LIBCXX=OFF -DMLIR_DIR=/build/buildbot/premerge-monolithic-linux/build/lib/cmake/mlir -DLLVM_USE_LINKER=lld -DPython3_EXECUTABLE="/usr/bin/python3.10" # executed command: /etc/cmake/bin/cmake /build/buildbot/premerge-monolithic-linux/llvm-project/mlir/examples/standalone -G Ninja -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang -DLLVM_ENABLE_LIBCXX=OFF -DMLIR_DIR=/build/buildbot/premerge-monolithic-linux/build/lib/cmake/mlir -DLLVM_USE_LINKER=lld -DPython3_EXECUTABLE=/usr/bin/python3.10 # .---command stdout # | -- The CXX compiler identification is Clang 16.0.6 # | -- The C compiler identification is Clang 16.0.6 # | -- Detecting CXX compiler ABI info # | -- Detecting CXX compiler ABI info - done # | -- Check for working CXX compiler: /usr/bin/clang++ - skipped # | -- Detecting CXX compile features # | -- Detecting CXX compile features - done # | -- Detecting C compiler ABI info # | -- Detecting C compiler ABI info - done # | -- Check for working C compiler: /usr/bin/clang - skipped # | -- Detecting C compile features # | -- Detecting C compile features - done # | -- Looking for histedit.h # | -- Looking for histedit.h - found # | -- Found LibEdit: /usr/include (found version "2.11") # | -- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11") # | -- Found LibXml2: /usr/lib/x86_64-linux-gnu/libxml2.so (found version "2.9.13") # | -- Using MLIRConfig.cmake in: /build/buildbot/premerge-monolithic-linux/build/lib/cmake/mlir # | -- Using LLVMConfig.cmake in: /build/buildbot/premerge-monolithic-linux/build/lib/cmake/llvm # | -- Linker detection: unknown # | -- Performing Test LLVM_LIBSTDCXX_MIN # | -- Performing Test LLVM_LIBSTDCXX_MIN - Success # | -- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR # | -- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Success # | -- Performing Test CXX_SUPPORTS_CUSTOM_LINKER # | -- Performing Test CXX_SUPPORTS_CUSTOM_LINKER - Success # | -- Performing Test C_SUPPORTS_FPIC # | -- Performing Test C_SUPPORTS_FPIC - Success # | -- Performing Test CXX_SUPPORTS_FPIC ``` https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
https://github.com/ilovepi closed https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Petr Hosek (petrhosek)
Changes
Enable 2-stage builds with PGO.
---
Full diff: https://github.com/llvm/llvm-project/pull/120323.diff
2 Files Affected:
- (added) clang/cmake/caches/Fuchsia-stage2-instrumented.cmake (+44)
- (modified) clang/cmake/caches/Fuchsia.cmake (+32-23)
``diff
diff --git a/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
new file mode 100644
index 000..b3c3b63066363c4
--- /dev/null
+++ b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
@@ -0,0 +1,44 @@
+# This file sets up a CMakeCache for the second stage of a Fuchsia toolchain
build.
+
+include(${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake)
+
+if(NOT APPLE)
+ set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
+endif()
+
+set(CLANG_BOOTSTRAP_TARGETS
+ check-all
+ check-clang
+ check-lld
+ check-llvm
+ clang
+ clang-test-depends
+ toolchain-distribution
+ install-toolchain-distribution
+ install-toolchain-distribution-stripped
+ install-toolchain-distribution-toolchain
+ lld-test-depends
+ llvm-config
+ llvm-test-depends
+ test-depends
+ test-suite CACHE STRING "")
+
+get_cmake_property(variableNames VARIABLES)
+foreach(variableName ${variableNames})
+ if(variableName MATCHES "^STAGE2_")
+string(REPLACE "STAGE2_" "" new_name ${variableName})
+list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}")
+ endif()
+endforeach()
+
+set(CLANG_PGO_TRAINING_DEPS
+ builtins
+ runtimes
+ CACHE STRING "")
+
+# Setup the bootstrap build.
+set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
+set(CLANG_BOOTSTRAP_CMAKE_ARGS
+ ${EXTRA_ARGS}
+ -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake
+ CACHE STRING "")
diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake
index 83336589da305d2..373b7ddd6e3449d 100644
--- a/clang/cmake/caches/Fuchsia.cmake
+++ b/clang/cmake/caches/Fuchsia.cmake
@@ -126,6 +126,16 @@ else()
set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
set(LIBCXX_HARDENING_MODE "none" CACHE STRING "")
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_PROFILE ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
+ set(COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "")
+ set(COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "")
+ set(SANITIZER_CXX_ABI "libc++" CACHE STRING "")
+ set(SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "")
+ set(SANITIZER_TEST_CXX "libc++" CACHE STRING "")
+ set(SANITIZER_TEST_CXX_INTREE ON CACHE BOOL "")
set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE
STRING "")
set(RUNTIMES_CMAKE_ARGS
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13;-DCMAKE_OSX_ARCHITECTURES=arm64|x86_64"
CACHE STRING "")
endif()
@@ -164,34 +174,29 @@ endif()
set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
+set(BOOTSTRAP_LLVM_BUILD_INSTRUMENTED ON CACHE BOOL "")
set(_FUCHSIA_BOOTSTRAP_TARGETS
- check-all
- check-clang
- check-lld
- check-llvm
- check-polly
- llvm-config
- clang-test-depends
- lld-test-depends
- llvm-test-depends
- test-suite
- test-depends
- toolchain-distribution
- install-toolchain-distribution
- install-toolchain-distribution-stripped
- install-toolchain-distribution-toolchain
- clang)
+ generate-profdata
+ stage2
+ stage2-toolchain-distribution
+ stage2-install-toolchain-distribution
+ stage2-install-toolchain-distribution-stripped
+ stage2-install-toolchain-distribution-toolchain
+ stage2-check-all
+ stage2-check-lld
+ stage2-check-llvm
+ stage2-check-clang
+ stage2-test-suite)
if(FUCHSIA_ENABLE_LLDB)
list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb)
list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS
-check-lldb
-lldb-test-depends
-debugger-distribution
-install-debugger-distribution
-install-debugger-distribution-stripped
-install-debugger-distribution-toolchain)
+stage2-check-lldb
+stage2-debugger-distribution
+stage2-install-debugger-distribution
+stage2-install-debugger-distribution-stripped
+stage2-install-debugger-distribution-toolchain)
endif()
set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "")
@@ -200,6 +205,7 @@ set(CLANG_BOOTSTRAP_TARGETS ${_FUCHSIA_BOOTSTRAP_TARGETS}
CACHE STRING "")
get_cmake_property(variableNames VARIABLES)
foreach(variableName ${variableNames})
if(variableName MATCHES "^STAGE2_")
+list(APPEND EXTRA_ARGS "-D${variableName}=${${variableName}}")
string(REPLACE "STAGE2_" "" new_name ${variableName})
string(REPLACE ";" "|" value "${${variableName}}")
list(APPEND EXTRA_ARGS "-D${new_name}=${value}")
@@ -209,6 +215,9 @@ endforeach()
# TODO: This is a temporary workaround until we figure out the right solution.
set(BOOTSTRAP_LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;
[clang] [Fuchsia] Support PGO (PR #120323)
https://github.com/petrhosek ready_for_review https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
https://github.com/petrhosek updated
https://github.com/llvm/llvm-project/pull/120323
>From 025652fd24c1dd13a3d628bd1a56c26e715badaa Mon Sep 17 00:00:00 2001
From: Petr Hosek
Date: Fri, 6 Mar 2020 17:23:35 -0800
Subject: [PATCH] [Fuchsia] Support PGO
Enable 2-stage builds with PGO.
---
.../caches/Fuchsia-stage2-instrumented.cmake | 44 +++
clang/cmake/caches/Fuchsia.cmake | 55 +++
2 files changed, 76 insertions(+), 23 deletions(-)
create mode 100644 clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
diff --git a/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
new file mode 100644
index 000..b3c3b63066363c4
--- /dev/null
+++ b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
@@ -0,0 +1,44 @@
+# This file sets up a CMakeCache for the second stage of a Fuchsia toolchain
build.
+
+include(${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake)
+
+if(NOT APPLE)
+ set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
+endif()
+
+set(CLANG_BOOTSTRAP_TARGETS
+ check-all
+ check-clang
+ check-lld
+ check-llvm
+ clang
+ clang-test-depends
+ toolchain-distribution
+ install-toolchain-distribution
+ install-toolchain-distribution-stripped
+ install-toolchain-distribution-toolchain
+ lld-test-depends
+ llvm-config
+ llvm-test-depends
+ test-depends
+ test-suite CACHE STRING "")
+
+get_cmake_property(variableNames VARIABLES)
+foreach(variableName ${variableNames})
+ if(variableName MATCHES "^STAGE2_")
+string(REPLACE "STAGE2_" "" new_name ${variableName})
+list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}")
+ endif()
+endforeach()
+
+set(CLANG_PGO_TRAINING_DEPS
+ builtins
+ runtimes
+ CACHE STRING "")
+
+# Setup the bootstrap build.
+set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
+set(CLANG_BOOTSTRAP_CMAKE_ARGS
+ ${EXTRA_ARGS}
+ -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake
+ CACHE STRING "")
diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake
index 07637cd0ed08f08..db0d3894e296606 100644
--- a/clang/cmake/caches/Fuchsia.cmake
+++ b/clang/cmake/caches/Fuchsia.cmake
@@ -127,6 +127,16 @@ else()
set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
set(LIBCXX_HARDENING_MODE "none" CACHE STRING "")
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_PROFILE ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
+ set(COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "")
+ set(COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "")
+ set(SANITIZER_CXX_ABI "libc++" CACHE STRING "")
+ set(SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "")
+ set(SANITIZER_TEST_CXX "libc++" CACHE STRING "")
+ set(SANITIZER_TEST_CXX_INTREE ON CACHE BOOL "")
set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE
STRING "")
set(RUNTIMES_CMAKE_ARGS
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13;-DCMAKE_OSX_ARCHITECTURES=arm64|x86_64"
CACHE STRING "")
endif()
@@ -165,34 +175,29 @@ endif()
set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
+set(BOOTSTRAP_LLVM_BUILD_INSTRUMENTED ON CACHE BOOL "")
set(_FUCHSIA_BOOTSTRAP_TARGETS
- check-all
- check-clang
- check-lld
- check-llvm
- check-polly
- llvm-config
- clang-test-depends
- lld-test-depends
- llvm-test-depends
- test-suite
- test-depends
- toolchain-distribution
- install-toolchain-distribution
- install-toolchain-distribution-stripped
- install-toolchain-distribution-toolchain
- clang)
+ generate-profdata
+ stage2
+ stage2-toolchain-distribution
+ stage2-install-toolchain-distribution
+ stage2-install-toolchain-distribution-stripped
+ stage2-install-toolchain-distribution-toolchain
+ stage2-check-all
+ stage2-check-lld
+ stage2-check-llvm
+ stage2-check-clang
+ stage2-test-suite)
if(FUCHSIA_ENABLE_LLDB)
list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb)
list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS
-check-lldb
-lldb-test-depends
-debugger-distribution
-install-debugger-distribution
-install-debugger-distribution-stripped
-install-debugger-distribution-toolchain)
+stage2-check-lldb
+stage2-debugger-distribution
+stage2-install-debugger-distribution
+stage2-install-debugger-distribution-stripped
+stage2-install-debugger-distribution-toolchain)
endif()
set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "")
@@ -201,6 +206,7 @@ set(CLANG_BOOTSTRAP_TARGETS ${_FUCHSIA_BOOTSTRAP_TARGETS}
CACHE STRING "")
get_cmake_property(variableNames VARIABLES)
foreach(variableName ${variableNames})
if(variableName MATCHES "^STAGE2_")
+list(APPEND EXTRA_ARGS "-D${variableName}=${${variableName}}")
string(REPLACE "STAGE2_" "" new_name ${variableName})
string(REPLACE ";" "|" value "${${variableName}}")
list(APPEND EXTRA_ARGS "-D
[clang] [Fuchsia] Support PGO (PR #120323)
https://github.com/ilovepi approved this pull request. LGTM. W/ a rebase, this seems to work fine locally. I'll start following up w/ a larger corpus. https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
ilovepi wrote: > Any progress on this PR? I'm using Fuchsia Clang as CI compiler and PGO will > be able to save a lot of time. Ah sorry I missed the Fuchsia bit in this comment. We should be landing something along these lines soon. https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
ilovepi wrote: We already have full support for PGO in other CMake cache files. This PR is adding that support to the files we use when building the Fuchsia toolchain. you can find details on the existing support here https://llvm.org/docs/HowToBuildWithPGO.html https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
Andarwinux wrote: Any progress on this PR? I'm using Fuchsia Clang as CI compiler and PGO will be able to save a lot of time. https://github.com/llvm/llvm-project/pull/120323 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [Fuchsia] Support PGO (PR #120323)
https://github.com/petrhosek created
https://github.com/llvm/llvm-project/pull/120323
Enable 2-stage builds with PGO.
>From 025652fd24c1dd13a3d628bd1a56c26e715badaa Mon Sep 17 00:00:00 2001
From: Petr Hosek
Date: Fri, 6 Mar 2020 17:23:35 -0800
Subject: [PATCH] [Fuchsia] Support PGO
Enable 2-stage builds with PGO.
---
.../caches/Fuchsia-stage2-instrumented.cmake | 44 +++
clang/cmake/caches/Fuchsia.cmake | 55 +++
2 files changed, 76 insertions(+), 23 deletions(-)
create mode 100644 clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
diff --git a/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
new file mode 100644
index 00..b3c3b63066363c
--- /dev/null
+++ b/clang/cmake/caches/Fuchsia-stage2-instrumented.cmake
@@ -0,0 +1,44 @@
+# This file sets up a CMakeCache for the second stage of a Fuchsia toolchain
build.
+
+include(${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake)
+
+if(NOT APPLE)
+ set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
+endif()
+
+set(CLANG_BOOTSTRAP_TARGETS
+ check-all
+ check-clang
+ check-lld
+ check-llvm
+ clang
+ clang-test-depends
+ toolchain-distribution
+ install-toolchain-distribution
+ install-toolchain-distribution-stripped
+ install-toolchain-distribution-toolchain
+ lld-test-depends
+ llvm-config
+ llvm-test-depends
+ test-depends
+ test-suite CACHE STRING "")
+
+get_cmake_property(variableNames VARIABLES)
+foreach(variableName ${variableNames})
+ if(variableName MATCHES "^STAGE2_")
+string(REPLACE "STAGE2_" "" new_name ${variableName})
+list(APPEND EXTRA_ARGS "-D${new_name}=${${variableName}}")
+ endif()
+endforeach()
+
+set(CLANG_PGO_TRAINING_DEPS
+ builtins
+ runtimes
+ CACHE STRING "")
+
+# Setup the bootstrap build.
+set(CLANG_ENABLE_BOOTSTRAP ON CACHE BOOL "")
+set(CLANG_BOOTSTRAP_CMAKE_ARGS
+ ${EXTRA_ARGS}
+ -C ${CMAKE_CURRENT_LIST_DIR}/Fuchsia-stage2.cmake
+ CACHE STRING "")
diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake
index 07637cd0ed08f0..db0d3894e29660 100644
--- a/clang/cmake/caches/Fuchsia.cmake
+++ b/clang/cmake/caches/Fuchsia.cmake
@@ -127,6 +127,16 @@ else()
set(LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
set(LIBCXX_HARDENING_MODE "none" CACHE STRING "")
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_PROFILE ON CACHE BOOL "")
+ set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
+ set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
+ set(COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "")
+ set(COMPILER_RT_DEFAULT_TARGET_ONLY ON CACHE BOOL "")
+ set(SANITIZER_CXX_ABI "libc++" CACHE STRING "")
+ set(SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "")
+ set(SANITIZER_TEST_CXX "libc++" CACHE STRING "")
+ set(SANITIZER_TEST_CXX_INTREE ON CACHE BOOL "")
set(LLVM_ENABLE_RUNTIMES "compiler-rt;libcxx;libcxxabi;libunwind" CACHE
STRING "")
set(RUNTIMES_CMAKE_ARGS
"-DCMAKE_OSX_DEPLOYMENT_TARGET=10.13;-DCMAKE_OSX_ARCHITECTURES=arm64|x86_64"
CACHE STRING "")
endif()
@@ -165,34 +175,29 @@ endif()
set(BOOTSTRAP_LLVM_ENABLE_LLD ON CACHE BOOL "")
set(BOOTSTRAP_LLVM_ENABLE_LTO ON CACHE BOOL "")
+set(BOOTSTRAP_LLVM_BUILD_INSTRUMENTED ON CACHE BOOL "")
set(_FUCHSIA_BOOTSTRAP_TARGETS
- check-all
- check-clang
- check-lld
- check-llvm
- check-polly
- llvm-config
- clang-test-depends
- lld-test-depends
- llvm-test-depends
- test-suite
- test-depends
- toolchain-distribution
- install-toolchain-distribution
- install-toolchain-distribution-stripped
- install-toolchain-distribution-toolchain
- clang)
+ generate-profdata
+ stage2
+ stage2-toolchain-distribution
+ stage2-install-toolchain-distribution
+ stage2-install-toolchain-distribution-stripped
+ stage2-install-toolchain-distribution-toolchain
+ stage2-check-all
+ stage2-check-lld
+ stage2-check-llvm
+ stage2-check-clang
+ stage2-test-suite)
if(FUCHSIA_ENABLE_LLDB)
list(APPEND _FUCHSIA_ENABLE_PROJECTS lldb)
list(APPEND _FUCHSIA_BOOTSTRAP_TARGETS
-check-lldb
-lldb-test-depends
-debugger-distribution
-install-debugger-distribution
-install-debugger-distribution-stripped
-install-debugger-distribution-toolchain)
+stage2-check-lldb
+stage2-debugger-distribution
+stage2-install-debugger-distribution
+stage2-install-debugger-distribution-stripped
+stage2-install-debugger-distribution-toolchain)
endif()
set(LLVM_ENABLE_PROJECTS ${_FUCHSIA_ENABLE_PROJECTS} CACHE STRING "")
@@ -201,6 +206,7 @@ set(CLANG_BOOTSTRAP_TARGETS ${_FUCHSIA_BOOTSTRAP_TARGETS}
CACHE STRING "")
get_cmake_property(variableNames VARIABLES)
foreach(variableName ${variableNames})
if(variableName MATCHES "^STAGE2_")
+list(APPEND EXTRA_ARGS "-D${variableName}=${${variableName}}")
string(REPLACE "STAGE2_" "" new_name ${variableName})
string(REPLACE ";" "|" value "${${variableName}}")
