diff options
author | Nikolay Haustov <Nikolay.Haustov@amd.com> | 2016-07-01 10:00:58 +0000 |
---|---|---|
committer | Nikolay Haustov <Nikolay.Haustov@amd.com> | 2016-07-01 10:00:58 +0000 |
commit | beb24f5b201703a6637168024dda3e75366b109b (patch) | |
tree | c39c66abe4924e5998e789720c9d367957c5c6d4 /llvm/lib | |
parent | 5196b88f072ac260884a625cf86502b7a9b92c9f (diff) | |
download | bcm5719-llvm-beb24f5b201703a6637168024dda3e75366b109b.tar.gz bcm5719-llvm-beb24f5b201703a6637168024dda3e75366b109b.zip |
Resubmit r268719 - AMDGPU/SI: Add amdgpu_kernel calling convention. Part 2.
This was reverted in r268740 because of problems with corresponding Clang change.
Clang change was updated and resubmitted in r274220.
Check calling convention in AMDGPUMachineFunction::isKernel
This will be used for AMDGPU_HSA_KERNEL symbol type in output ELF.
Also, in the future unused non-kernels may be optimized.
Reviewers: tstellarAMD, arsenm
Subscribers: arsenm, joker.eph, llvm-commits
Differential Revision: http://reviews.llvm.org/D19917
llvm-svn: 274341
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp | 10 | ||||
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp index d19eb655e46..44516dab04f 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp @@ -12,4 +12,12 @@ AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) : LDSSize(0), ABIArgOffset(0), ScratchSize(0), - IsKernel(true) {} + IsKernel(MF.getFunction()->getCallingConv() == llvm::CallingConv::AMDGPU_KERNEL || + MF.getFunction()->getCallingConv() == llvm::CallingConv::SPIR_KERNEL) +{ +} + +bool AMDGPUMachineFunction::isKernel() const +{ + return IsKernel; +} diff --git a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h index a534024dc2e..6b31f63e1a9 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h @@ -44,10 +44,7 @@ public: /// Start of implicit kernel args unsigned ABIArgOffset; - bool isKernel() const { - // FIXME: Assume everything is a kernel until function calls are supported. - return true; - } + bool isKernel() const; unsigned ScratchSize; bool IsKernel; |