blob: f8821f319893c72a0210b88ebe81b87c28010698 [file] [log] [blame]
Tom Stellard49f8bfd2015-01-06 18:00:21 +00001; RUN: llc -march=amdgcn -mcpu=SI -verify-machineinstrs < %s | FileCheck %s
Marek Olsak75170772015-01-27 17:27:15 +00002; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck %s
Tom Stellard5cbb53c2014-11-03 19:49:05 +00003; RUN: llc -march=r600 -mcpu=redwood -verify-machineinstrs < %s | FileCheck %s
4
5; CHECK-NOT: {{^}}func:
6define internal fastcc i32 @func(i32 %a) {
7entry:
8 %tmp0 = add i32 %a, 1
9 ret i32 %tmp0
10}
11
12; CHECK: {{^}}kernel:
Nikolay Haustoveba80892016-08-31 11:18:33 +000013; CHECK-NOT: call
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000014define amdgpu_kernel void @kernel(i32 addrspace(1)* %out) {
Tom Stellard5cbb53c2014-11-03 19:49:05 +000015entry:
16 %tmp0 = call i32 @func(i32 1)
17 store i32 %tmp0, i32 addrspace(1)* %out
18 ret void
19}
20
21; CHECK: {{^}}kernel2:
Nikolay Haustoveba80892016-08-31 11:18:33 +000022; CHECK-NOT: call
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000023define amdgpu_kernel void @kernel2(i32 addrspace(1)* %out) {
Tom Stellard5cbb53c2014-11-03 19:49:05 +000024entry:
25 call void @kernel(i32 addrspace(1)* %out)
26 ret void
27}
Nikolay Haustoveba80892016-08-31 11:18:33 +000028
29; CHECK-NOT: func_alias
30@func_alias = alias i32 (i32), i32 (i32)* @func
31
32; CHECK: {{^}}kernel3:
33; CHECK-NOT: call
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000034define amdgpu_kernel void @kernel3(i32 addrspace(1)* %out) {
Nikolay Haustoveba80892016-08-31 11:18:33 +000035entry:
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
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000046define amdgpu_kernel void @kernel4(i32 addrspace(1)* %out) {
Nikolay Haustoveba80892016-08-31 11:18:33 +000047entry:
48 call void @kernel_alias(i32 addrspace(1)* %out)
49 ret void
50}