AMDGPU/GlobalISel: Handle most function return types
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 26 Jul 2019 02:36:05 +0000 (02:36 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Fri, 26 Jul 2019 02:36:05 +0000 (02:36 +0000)
commita9ea8a9aae1f47eb9c68c1669aabd3908630518c
tree373b11986ba45f57e29cabfe688a5d678e350913
parent51d795d94172f5ee083801de8368cd1f6050d2e9
AMDGPU/GlobalISel: Handle most function return types

handleAssignments gives up pretty easily on structs, and i8 values for
some reason. The other case that doesn't work is when an implicit sret
needs to be inserted if the return size exceeds the number of return
registers.

llvm-svn: 367082
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_vs.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/ret.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/ret.ll