[all-commits] [llvm/llvm-project] 94d6dd: [libc] Apply no-builtin everywhere, remove unneces...
Guillaume Chatelet via All-commits
all-commits at lists.llvm.org
Thu May 19 02:09:05 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 94d6dd90576637fa0eb2c40ca92320ad4c1a6942
https://github.com/llvm/llvm-project/commit/94d6dd90576637fa0eb2c40ca92320ad4c1a6942
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2022-05-19 (Thu, 19 May 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
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/D125894
More information about the All-commits
mailing list