Home | History | Annotate | Download | only in AMDGPU
      1 ; RUN: llc -march=amdgcn -mcpu=tahiti -verify-machineinstrs < %s | FileCheck  %s
      2 ; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck  %s
      3 ; RUN: llc -march=r600 -mcpu=redwood -verify-machineinstrs < %s | FileCheck %s
      4 
      5 ; CHECK-NOT: {{^}}func:
      6 define internal fastcc i32 @func(i32 %a) {
      7 entry:
      8   %tmp0 = add i32 %a, 1
      9   ret i32 %tmp0
     10 }
     11 
     12 ; CHECK: {{^}}kernel:
     13 ; CHECK-NOT: call
     14 define amdgpu_kernel void @kernel(i32 addrspace(1)* %out) {
     15 entry:
     16   %tmp0 = call i32 @func(i32 1)
     17   store i32 %tmp0, i32 addrspace(1)* %out
     18   ret void
     19 }
     20 
     21 ; CHECK: {{^}}kernel2:
     22 ; CHECK-NOT: call
     23 define amdgpu_kernel void @kernel2(i32 addrspace(1)* %out) {
     24 entry:
     25   call void @kernel(i32 addrspace(1)* %out)
     26   ret void
     27 }
     28 
     29 ; CHECK-NOT: func_alias
     30 @func_alias = alias i32 (i32), i32 (i32)* @func
     31 
     32 ; CHECK: {{^}}kernel3:
     33 ; CHECK-NOT: call
     34 define amdgpu_kernel void @kernel3(i32 addrspace(1)* %out) {
     35 entry:
     36   %tmp0 = call i32 @func_alias(i32 1)
     37   store i32 %tmp0, i32 addrspace(1)* %out
     38   ret void
     39 }
     40 
     41 ; CHECK-NOT: kernel_alias
     42 @kernel_alias = alias void (i32 addrspace(1)*), void (i32 addrspace(1)*)* @kernel
     43 
     44 ; CHECK: {{^}}kernel4:
     45 ; CHECK-NOT: call
     46 define amdgpu_kernel void @kernel4(i32 addrspace(1)* %out) {
     47 entry:
     48   call void @kernel_alias(i32 addrspace(1)* %out)
     49   ret void
     50 }
     51