summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
diff options
context:
space:
mode:
authorAakanksha Patil <aakanksha555@gmail.com>2018-12-12 20:49:17 +0000
committerAakanksha Patil <aakanksha555@gmail.com>2018-12-12 20:49:17 +0000
commit729309cc8956da3b105da0f5c42197c0f5792ef0 (patch)
treedd2fe140db6ee85cb65dc16d0f706fb71b0c18a1 /llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
parent9b5fce1ce9af3b19101381bd0f9719f6ff35f709 (diff)
downloadbcm5719-llvm-729309cc8956da3b105da0f5c42197c0f5792ef0.tar.gz
bcm5719-llvm-729309cc8956da3b105da0f5c42197c0f5792ef0.zip
[AMDGPU] Support for "uniform-work-group-size" attribute
Updated the annotate-kernel-features pass to support the propagation of uniform-work-group attribute from the kernel to the called functions. Once this pass is run, all kernels, even the ones which initially did not have the attribute, will be able to indicate weather or not they have uniform work group size depending on the value of the attribute. Differential Revision: https://reviews.llvm.org/D50200 llvm-svn: 348971
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll')
-rw-r--r--llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll b/llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
new file mode 100644
index 00000000000..83761148043
--- /dev/null
+++ b/llvm/test/CodeGen/AMDGPU/uniform-work-group-nested-function-calls.ll
@@ -0,0 +1,24 @@
+; RUN: opt -S -mtriple=amdgcn-amd- -amdgpu-annotate-kernel-features %s | FileCheck %s
+
+; Test to verify if the attribute gets propagated across nested function calls
+
+; CHECK: define void @func1() #[[FUNC:[0-9]+]] {
+define void @func1() #0 {
+ ret void
+}
+
+; CHECK: define void @func2() #[[FUNC]] {
+define void @func2() #1 {
+ call void @func1()
+ ret void
+}
+
+; CHECK: define amdgpu_kernel void @kernel3() #[[FUNC:[0-9]+]] {
+define amdgpu_kernel void @kernel3() #2 {
+ call void @func2()
+ ret void
+}
+
+attributes #2 = { "uniform-work-group-size"="true" }
+
+; CHECK: attributes #[[FUNC]] = { "uniform-work-group-size"="true" }
OpenPOWER on IntegriCloud