diff options
author | Changpeng Fang <Changpeng.Fang@amd.com> | 2022-03-09 10:14:05 -0800 |
---|---|---|
committer | Changpeng Fang <Changpeng.Fang@amd.com> | 2022-03-09 10:14:05 -0800 |
commit | 0f20a35b9e4bf4fdc4fb5ff2b5f9beee48081e9c (patch) | |
tree | 626a76639a8fe86e35646ff9064a67063d8ad693 /llvm/unittests/Support/CommandLineTest.cpp | |
parent | 33fb23f728146cd9a1b8a0bf74c666fb2eeffbb5 (diff) | |
download | llvm-0f20a35b9e4bf4fdc4fb5ff2b5f9beee48081e9c.zip llvm-0f20a35b9e4bf4fdc4fb5ff2b5f9beee48081e9c.tar.gz llvm-0f20a35b9e4bf4fdc4fb5ff2b5f9beee48081e9c.tar.bz2 |
AMDGPU: Set up User SGPRs for queue_ptr only when necessary
Summary:
In general, we need queue_ptr for aperture bases and trap handling,
and user SGPRs have to be set up to hold queue_ptr. In current implementation,
user SGPRs are set up unnecessarily for some cases. If the target has aperture
registers, queue_ptr is not needed to reference aperture bases. For trap
handling, if target suppots getDoorbellID, queue_ptr is also not necessary.
Futher, code object version 5 introduces new kernel ABI which passes queue_ptr
as an implicit kernel argument, so user SGPRs are no longer necessary for
queue_ptr. Based on the trap handling document:
https://llvm.org/docs/AMDGPUUsage.html#amdgpu-trap-handler-for-amdhsa-os-v4-onwards-table,
llvm.debugtrap does not need queue_ptr, we remove queue_ptr suport for llvm.debugtrap
in the backend.
Reviewers: sameerds, arsenm
Fixes: SWDEV-307189
Differential Revision: https://reviews.llvm.org/D119762
Diffstat (limited to 'llvm/unittests/Support/CommandLineTest.cpp')
0 files changed, 0 insertions, 0 deletions