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

Guillaume Chatelet via Phabricator via libc-commits libc-commits at lists.llvm.org
Wed May 18 08:24:13 PDT 2022


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

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/D125894

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: D125894.430389.patch
Type: text/x-patch
Size: 5541 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libc-commits/attachments/20220518/8f8b6348/attachment.bin>


More information about the libc-commits mailing list