brintos

brintos / llvm-project-archived public Read only

0
0
Text · 917 B · 8292fdc Raw
44 lines · plain
1; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -codegenprepare %s | FileCheck %s2 3define internal fastcc void @callee(ptr nocapture %p, i32 %a) #0 {4  store volatile i32 %a, ptr %p, align 45  ret void6}7 8; CHECK-LABEL: @func_caller(9; CHECK: tail call fastcc void @callee(10; CHECK-NEXT: ret void11; CHECK: ret void12define void @func_caller(ptr nocapture %p, i32 %a, i32 %b) #0 {13entry:14  %cmp = icmp eq i32 %b, 015  br i1 %cmp, label %bb, label %ret16 17bb:18  tail call fastcc void @callee(ptr %p, i32 %a)19  br label %ret20 21ret:22  ret void23}24 25; CHECK-LABEL: @kernel_caller(26; CHECK: tail call fastcc void @callee(27; CHECK-NEXT: br label %ret28 29; CHECK: ret void30define amdgpu_kernel void @kernel_caller(ptr nocapture %p, i32 %a, i32 %b) #0 {31entry:32  %cmp = icmp eq i32 %b, 033  br i1 %cmp, label %bb, label %ret34 35bb:36  tail call fastcc void @callee(ptr %p, i32 %a)37  br label %ret38 39ret:40  ret void41}42 43attributes #0 = { nounwind }44