[all-commits] [llvm/llvm-project] fb44b9: [OpenCL][CUDA][HIP][SYCL] Add norecurse

Yaxun (Sam) Liu via All-commits all-commits at lists.llvm.org
Sun Feb 16 17:52:36 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fb44b9db95a333efdfa9a33ddc1778f97428f5f5
      https://github.com/llvm/llvm-project/commit/fb44b9db95a333efdfa9a33ddc1778f97428f5f5
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2020-02-16 (Sun, 16 Feb 2020)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.cpp
    A clang/test/CodeGenCUDA/norecurse.cu
    M clang/test/CodeGenCUDA/propagate-metadata.cu
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    A clang/test/CodeGenOpenCL/norecurse.cl
    A clang/test/SemaCUDA/call-kernel-from-kernel.cu

  Log Message:
  -----------
  [OpenCL][CUDA][HIP][SYCL] Add norecurse

norecurse function attr indicates the function is not called recursively
directly or indirectly.

Add norecurse to OpenCL functions, SYCL functions in device compilation
and CUDA/HIP kernels.

Although there is LLVM pass adding norecurse to functions, it only works
for whole-program compilation. Also FE adding norecurse can make that
pass run faster since functions with norecurse do not need to be checked
again.

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




More information about the All-commits mailing list