[all-commits] [llvm/llvm-project] d77c62: [clang][AMDGPU]: Don't use byval for struct argume...
Changpeng Fang via All-commits
all-commits at lists.llvm.org
Fri Aug 11 16:38:42 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d77c62053c944652846c00a35c921e14b43b1877
https://github.com/llvm/llvm-project/commit/d77c62053c944652846c00a35c921e14b43b1877
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2023-08-11 (Fri, 11 Aug 2023)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGenCUDA/kernel-args.cu
M clang/test/CodeGenCXX/amdgcn-func-arg.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
A clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/byval.cl
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[clang][AMDGPU]: Don't use byval for struct arguments in function ABI
Summary:
Byval requires allocating additional stack space, and always requires an implicit copy to be inserted in codegen,
where it can be difficult to optimize. In this work, we use byref/IndirectAliased promotion method instead of
byval with the implicit copy semantics.
Reviewers:
arsenm
Differential Revision:
https://reviews.llvm.org/D155986
More information about the All-commits
mailing list