[all-commits] [llvm/llvm-project] 028414: [libc] Switch to new implementation of mem* functions

Guillaume Chatelet via All-commits all-commits at lists.llvm.org
Tue Oct 25 03:50:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 02841488138160f9064f334a833d4bf3e80385c6
      https://github.com/llvm/llvm-project/commit/02841488138160f9064f334a833d4bf3e80385c6
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M libc/src/stdio/printf_core/string_writer.cpp
    M libc/src/string/bcmp.cpp
    M libc/src/string/memcmp.cpp
    M libc/src/string/memcpy.cpp
    M libc/src/string/memmove.cpp
    M libc/src/string/memory_utils/bcmp_implementations.h
    M libc/src/string/memory_utils/bzero_implementations.h
    M libc/src/string/memory_utils/memcmp_implementations.h
    M libc/src/string/memory_utils/memcpy_implementations.h
    M libc/src/string/memory_utils/memset_implementations.h
    M libc/src/string/memory_utils/op_x86.h
    M libc/src/string/mempcpy.cpp
    M libc/src/string/memset.cpp

  Log Message:
  -----------
  [libc] Switch to new implementation of mem* functions

The new framework makes it explicit which processor feature is being
used and allows for easier per platform customization:
 - ARM cpu now uses trivial implementations to reduce code size.
 - Memcmp, Bcmp and Memmove have been optimized for x86
 - Bcmp has been optimized for aarch64.

This is a reland of https://reviews.llvm.org/D135134 (b3f1d58)

Differential Revision: https://reviews.llvm.org/D136595




More information about the All-commits mailing list