[libc-commits] [PATCH] D126773: [libc] Apply no-builtin everywhere, remove unnecessary flags

Guillaume Chatelet via Phabricator via libc-commits libc-commits at lists.llvm.org
Wed Jun 1 05:03:27 PDT 2022


gchatelet created this revision.
Herald added subscribers: libc-commits, wenlei, ecnelises, tschuett, kristof.beyls, mgorny.
Herald added projects: libc-project, All.
gchatelet requested review of this revision.

Note, this is a re-submission of D125894 <https://reviews.llvm.org/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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D126773

Files:
  libc/cmake/modules/LLVMLibCObjectRules.cmake
  libc/src/string/CMakeLists.txt
  utils/bazel/llvm-project-overlay/libc/BUILD.bazel
  utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D126773.433358.patch
Type: text/x-patch
Size: 5690 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220601/ed74d235/attachment.bin>


More information about the libc-commits mailing list