59 lines · plain
1; RUN: opt -mtriple amdgcn-- -passes='print<uniformity>' -disable-output %s 2>&1 | FileCheck %s2 3; CHECK-LABEL: for function 'test_amdgpu_ps':4; CHECK-DAG: DIVERGENT: ptr addrspace(4) %arg05; CHECK-DAG: DIVERGENT: <2 x i32> %arg36; CHECK-DAG: DIVERGENT: <3 x i32> %arg47; CHECK-DAG: DIVERGENT: float %arg58; CHECK-DAG: DIVERGENT: i32 %arg69; CHECK-NOT: DIVERGENT10 11define amdgpu_ps void @test_amdgpu_ps(ptr addrspace(4) byref([4 x <16 x i8>]) %arg0, float inreg %arg1, i32 inreg %arg2, <2 x i32> %arg3, <3 x i32> %arg4, float %arg5, i32 %arg6) #0 {12 ret void13}14 15; CHECK-LABEL: for function 'test_amdgpu_kernel':16; CHECK-NOT: %arg017; CHECK-NOT: %arg118; CHECK-NOT: %arg219; CHECK-NOT: %arg320; CHECK-NOT: %arg421; CHECK-NOT: %arg522; CHECK-NOT: %arg623define amdgpu_kernel void @test_amdgpu_kernel(ptr addrspace(4) byref([4 x <16 x i8>]) %arg0, float inreg %arg1, i32 inreg %arg2, <2 x i32> %arg3, <3 x i32> %arg4, float %arg5, i32 %arg6) #0 {24 ret void25}26 27; CHECK-LABEL: for function 'test_c':28; CHECK: DIVERGENT:29; CHECK: DIVERGENT:30; CHECK: DIVERGENT:31; CHECK: DIVERGENT:32; CHECK: DIVERGENT:33define void @test_c(ptr addrspace(5) byval([4 x <16 x i8>]) %arg0, float inreg %arg1, i32 inreg %arg2, <2 x i32> %arg3, <3 x i32> %arg4, float %arg5, i32 %arg6) #0 {34 ret void35}36 37; CHECK-LABEL: for function 'test_amdgpu_cs_chain':38; CHECK-DAG: DIVERGENT: ptr addrspace(4) %arg039; CHECK-DAG: DIVERGENT: <2 x i32> %arg340; CHECK-DAG: DIVERGENT: <3 x i32> %arg441; CHECK-DAG: DIVERGENT: float %arg542; CHECK-DAG: DIVERGENT: i32 %arg643; CHECK-NOT: DIVERGENT44define amdgpu_cs_chain void @test_amdgpu_cs_chain(ptr addrspace(4) byref([4 x <16 x i8>]) %arg0, float inreg %arg1, i32 inreg %arg2, <2 x i32> %arg3, <3 x i32> %arg4, float %arg5, i32 %arg6) #0 {45 ret void46}47 48; CHECK-LABEL: for function 'test_amdgpu_cs_chain_preserve':49; CHECK-DAG: DIVERGENT: ptr addrspace(4) %arg050; CHECK-DAG: DIVERGENT: <2 x i32> %arg351; CHECK-DAG: DIVERGENT: <3 x i32> %arg452; CHECK-DAG: DIVERGENT: float %arg553; CHECK-DAG: DIVERGENT: i32 %arg654; CHECK-NOT: DIVERGENT55define amdgpu_cs_chain_preserve void @test_amdgpu_cs_chain_preserve(ptr addrspace(4) byref([4 x <16 x i8>]) %arg0, float inreg %arg1, i32 inreg %arg2, <2 x i32> %arg3, <3 x i32> %arg4, float %arg5, i32 %arg6) #0 {56 ret void57}58attributes #0 = { nounwind }59