[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