[all-commits] [llvm/llvm-project] ae0ba7: AMDGPU: Optimize out implicit kernarg argument all...
Matt Arsenault via All-commits
all-commits at lists.llvm.org
Sat Dec 4 07:38:39 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ae0ba7dedd276c4cc983b61dabb5a8e7ae4a4c00
https://github.com/llvm/llvm-project/commit/ae0ba7dedd276c4cc983b61dabb5a8e7ae4a4c00
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2021-12-04 (Sat, 04 Dec 2021)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-enqueue-kernel.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hidden-args.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-absent.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present-v3.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-hostcall-present.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
Log Message:
-----------
AMDGPU: Optimize out implicit kernarg argument allocation if unused
We already annotate whether llvm.amdgcn.implicitarg.ptr is known to be
unused. Start using it to avoid allocating the implicit arguments if
unneeded.
Commit: 2959e082e1427647e107af0b82770682eaa58fe1
https://github.com/llvm/llvm-project/commit/2959e082e1427647e107af0b82770682eaa58fe1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2021-12-04 (Sat, 04 Dec 2021)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-abi-attribute-hints.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll
M llvm/test/CodeGen/AMDGPU/cc-update.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/indirect-call.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicitarg.ptr.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kernarg.segment.ptr.ll
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
AMDGPU: Assume all amdhsa kernarg passed implicit arguments by default
Previously we would require adding an attribute to kernels to enable
the inputs passed in the kernarg segment, accessed by
llvm.amdgcn.implicitarg.ptr. This violates the principle of being
correct by default. Some OpenMP testcases were broken recently since
it wasn't correctly setting this attribute, and no known frontends are
setting this to anything other than the maximum.
Most of the test changes are from load widening of argument loads
since there now more implied dereferenceable bytes.
Compare: https://github.com/llvm/llvm-project/compare/ee691970a9a8...2959e082e142
More information about the All-commits
mailing list