[all-commits] [llvm/llvm-project] 069e8b: [OpenMP][libc] Remove special handling for OpenMP ...

Joseph Huber via All-commits all-commits at lists.llvm.org
Fri Jul 26 14:03:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 069e8bcd82c4420239f95c7e6a09e1f756317cfc
      https://github.com/llvm/llvm-project/commit/069e8bcd82c4420239f95c7e6a09e1f756317cfc
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-07-26 (Fri, 26 Jul 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGGPUBuiltin.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M libc/config/gpu/entrypoints.txt
    M libc/spec/gpu_ext.td
    M libc/src/gpu/CMakeLists.txt
    R libc/src/gpu/rpc_fprintf.cpp
    R libc/src/gpu/rpc_fprintf.h
    M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
    M offload/DeviceRTL/include/LibC.h
    M offload/DeviceRTL/src/LibC.cpp

  Log Message:
  -----------
  [OpenMP][libc] Remove special handling for OpenMP printf (#98940)

Summary:
Currently there are several layers to handle `printf`. Since we now have
varargs and an implementation of `printf` this can be heavily
simplified.

1. The frontend renames `printf` into `omp_vprintf` and gives it an
   argument buffer.

Removing 1. triggered some code in the AMDGPU backend menat for HIP /
OpenCL, so I hadded an exception to it.

2. Forward this to CUDA vprintf or ignore it.

We no longer need special handling for it since we have varargs. So now
we just forward this to CUDA vprintf if we have libc, otherwise just
leave `printf` as an external function and expect that `libc` will be
linked in.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list