summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-07-14 00:11:13 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-07-14 00:11:13 +0000
commit23e4df6a598e6e0d19b064080ef38961c9af6e95 (patch)
tree3dc605696a508d18f65ac011b06c1e082ffac4b5 /llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
parentf64b8487f98125ec9c878656ef12081b67f04bb0 (diff)
downloadbcm5719-llvm-23e4df6a598e6e0d19b064080ef38961c9af6e95.tar.gz
bcm5719-llvm-23e4df6a598e6e0d19b064080ef38961c9af6e95.zip
AMDGPU: Detect kernarg segment pointer
This is necessary to pass the kernarg segment pointer to callee functions. Also don't unconditionally enable for kernels. llvm-svn: 307978
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp b/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
index c837180334c..d1580ff4e19 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
@@ -150,6 +150,9 @@ static StringRef intrinsicToAttrName(Intrinsic::ID ID, bool &IsQueuePtr) {
return "amdgpu-dispatch-ptr";
case Intrinsic::amdgcn_dispatch_id:
return "amdgpu-dispatch-id";
+ case Intrinsic::amdgcn_kernarg_segment_ptr:
+ case Intrinsic::amdgcn_implicitarg_ptr:
+ return "amdgpu-kernarg-segment-ptr";
case Intrinsic::amdgcn_queue_ptr:
case Intrinsic::trap:
case Intrinsic::debugtrap:
@@ -181,7 +184,8 @@ static void copyFeaturesToFunction(Function &Parent, const Function &Callee,
{ "amdgpu-work-group-id-y" },
{ "amdgpu-work-group-id-z" },
{ "amdgpu-dispatch-ptr" },
- { "amdgpu-dispatch-id" }
+ { "amdgpu-dispatch-id" },
+ { "amdgpu-kernarg-segment-ptr" }
};
if (handleAttr(Parent, Callee, "amdgpu-queue-ptr"))
OpenPOWER on IntegriCloud