Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / tail-call-cgp.ll
blob8292fdc7861354db50cfa179219f32b50cc7ae98
1 ; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -codegenprepare %s | FileCheck %s
3 define internal fastcc void @callee(ptr nocapture %p, i32 %a) #0 {
4   store volatile i32 %a, ptr %p, align 4
5   ret void
8 ; CHECK-LABEL: @func_caller(
9 ; CHECK: tail call fastcc void @callee(
10 ; CHECK-NEXT: ret void
11 ; CHECK: ret void
12 define void @func_caller(ptr nocapture %p, i32 %a, i32 %b) #0 {
13 entry:
14   %cmp = icmp eq i32 %b, 0
15   br i1 %cmp, label %bb, label %ret
17 bb:
18   tail call fastcc void @callee(ptr %p, i32 %a)
19   br label %ret
21 ret:
22   ret void
25 ; CHECK-LABEL: @kernel_caller(
26 ; CHECK: tail call fastcc void @callee(
27 ; CHECK-NEXT: br label %ret
29 ; CHECK: ret void
30 define amdgpu_kernel void @kernel_caller(ptr nocapture %p, i32 %a, i32 %b) #0 {
31 entry:
32   %cmp = icmp eq i32 %b, 0
33   br i1 %cmp, label %bb, label %ret
35 bb:
36   tail call fastcc void @callee(ptr %p, i32 %a)
37   br label %ret
39 ret:
40   ret void
43 attributes #0 = { nounwind }