diff options
author | Guillaume Chatelet <gchatelet@google.com> | 2022-06-01 14:57:11 +0300 |
---|---|---|
committer | Guillaume Chatelet <gchatelet@google.com> | 2022-06-01 16:34:36 +0300 |
commit | b2a9ea4420127d10b18ae648b16757665f8bbd7c (patch) | |
tree | d684e6066802d5db6d97adae4328298c8b30abea /libc/cmake | |
parent | f951a6b2f37baf6ae832318fcca9ba4121c29529 (diff) |
[libc] Apply no-builtin everywhere, remove unnecessary flags
Note, this is a re-submission of D125894 with `features = ["-header_modules"]`
added to the main BUILD.bazel file.
Some functions like `stpncpy` are implemented in terms of `memset` but are not
currently using `-fno-builtin-memset`. This is somewhat hidden by the fact that
we use `-ffreestanding` globally and that `-ffreestanding` implies
`-fno-builtin` for Clang.
This patch also removes `-mllvm -combiner-global-alias-analysis` that is Clang
specific and that does not bring substantial gains on modern processors.
Also we keep `-mllvm --tail-merge-threshold=0` for aarch64 in CMakeLists.txt
but we omit it in the Bazel config. This is because Bazel consumes the source
files directly and so it can use PGO to take optimal decisions locally.
Differential Revision: https://reviews.llvm.org/D126773
Diffstat (limited to 'libc/cmake')
-rw-r--r-- | libc/cmake/modules/LLVMLibCObjectRules.cmake | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake index ae49e136615e..c73a2d37c1aa 100644 --- a/libc/cmake/modules/LLVMLibCObjectRules.cmake +++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake @@ -3,7 +3,7 @@ set(OBJECT_LIBRARY_TARGET_TYPE "OBJECT_LIBRARY") function(_get_common_compile_options output_var) set(compile_options ${LIBC_COMPILE_OPTIONS_DEFAULT} ${ARGN}) if(NOT ${LIBC_TARGET_OS} STREQUAL "windows") - set(compile_options ${compile_options} -fpie -ffreestanding) + set(compile_options ${compile_options} -fpie -ffreestanding -fno-builtin) endif() if(LLVM_COMPILER_IS_GCC_COMPATIBLE) list(APPEND compile_options "-fno-exceptions") |