summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorNikolay Haustov <Nikolay.Haustov@amd.com>2016-07-01 10:00:58 +0000
committerNikolay Haustov <Nikolay.Haustov@amd.com>2016-07-01 10:00:58 +0000
commitbeb24f5b201703a6637168024dda3e75366b109b (patch)
treec39c66abe4924e5998e789720c9d367957c5c6d4 /llvm/lib
parent5196b88f072ac260884a625cf86502b7a9b92c9f (diff)
downloadbcm5719-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.cpp10
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h5
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;
OpenPOWER on IntegriCloud