[all-commits] [llvm/llvm-project] b2a9ea: [libc] Apply no-builtin everywhere, remove unneces...
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Wed Jun 1 06:35:13 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b2a9ea4420127d10b18ae648b16757665f8bbd7c
https://github.com/llvm/llvm-project/commit/b2a9ea4420127d10b18ae648b16757665f8bbd7c
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2022-06-01 (Wed, 01 Jun 2022)
Changed paths:
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/src/string/CMakeLists.txt
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[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
More information about the All-commits
mailing list