diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-07-14 00:11:13 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-07-14 00:11:13 +0000 |
commit | 23e4df6a598e6e0d19b064080ef38961c9af6e95 (patch) | |
tree | 3dc605696a508d18f65ac011b06c1e082ffac4b5 /llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp | |
parent | f64b8487f98125ec9c878656ef12081b67f04bb0 (diff) | |
download | bcm5719-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.cpp | 6 |
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")) |