[all-commits] [llvm/llvm-project] b9f6c2: [libc] Move printf writer to new design

michaelrj-google via All-commits all-commits at lists.llvm.org
Thu Jul 20 11:08:34 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b9f6c20876845abbe2b816d0d800b99412b5eab9
      https://github.com/llvm/llvm-project/commit/b9f6c20876845abbe2b816d0d800b99412b5eab9
  Author: Michael Jones <michaelrj at google.com>
  Date:   2023-07-20 (Thu, 20 Jul 2023)

  Changed paths:
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/fprintf.cpp
    M libc/src/stdio/printf.cpp
    M libc/src/stdio/printf_core/CMakeLists.txt
    R libc/src/stdio/printf_core/file_writer.h
    R libc/src/stdio/printf_core/string_writer.cpp
    R libc/src/stdio/printf_core/string_writer.h
    M libc/src/stdio/printf_core/vfprintf_internal.h
    M libc/src/stdio/printf_core/writer.cpp
    M libc/src/stdio/printf_core/writer.h
    M libc/src/stdio/snprintf.cpp
    M libc/src/stdio/sprintf.cpp
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/printf_core/CMakeLists.txt
    M libc/test/src/stdio/printf_core/converter_test.cpp
    R libc/test/src/stdio/printf_core/string_writer_test.cpp
    A libc/test/src/stdio/printf_core/writer_test.cpp
    M libc/test/src/stdio/snprintf_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel

  Log Message:
  -----------
  [libc] Move printf writer to new design

The new printf writer design focuses on optimizing the fast path. It
inlines any write to a buffer or string, and by handling buffering
itself can more effectively work with both internal and external file
implementations. The overflow hook should allow for expansion to
asprintf with minimal extra code.

Reviewed By: sivachandra

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




More information about the All-commits mailing list