[AMDGPU] Add amdgpu_gfx calling convention
authorSebastian Neubauer <sebastian.neubauer@amd.com>
Wed, 16 Sep 2020 12:38:54 +0000 (14:38 +0200)
committerSebastian Neubauer <sebastian.neubauer@amd.com>
Mon, 9 Nov 2020 15:51:44 +0000 (16:51 +0100)
commita022b1ccd8d849dd59a8e7b76c0406cc80dee0f0
treeb0b5bd390dd2a18b12cc25ac221ef30cbdc9a018
parentd093401a2617d3c46aaed9eeaecf877e3ae1a9f1
[AMDGPU] Add amdgpu_gfx calling convention

Add a calling convention called amdgpu_gfx for real function calls
within graphics shaders. For the moment, this uses the same calling
convention as other calls in amdgpu, with registers excluded for return
address, stack pointer and stack buffer descriptor.

Differential Revision: https://reviews.llvm.org/D88540
30 files changed:
lld/test/ELF/lto/amdgcn-oses.ll
llvm/docs/AMDGPUUsage.rst
llvm/include/llvm/IR/CallingConv.h
llvm/lib/AsmParser/LLLexer.cpp
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/AsmParser/LLToken.h
llvm/lib/IR/AsmWriter.cpp
llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
llvm/test/Bitcode/compatibility.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-indirect-call.ll
llvm/test/CodeGen/AMDGPU/amdpal-callable.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/indirect-call.ll
llvm/test/CodeGen/AMDGPU/unsupported-calls.ll