37 lines · plain
1; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -amdgpu-stress-function-calls -passes=amdgpu-always-inline %s | FileCheck %s2 3; CHECK: define internal fastcc i32 @alwaysinline_func(i32 %a) #0 {4define internal fastcc i32 @alwaysinline_func(i32 %a) alwaysinline {5entry:6 %tmp0 = add i32 %a, 17 ret i32 %tmp08}9 10; CHECK: define internal fastcc i32 @noinline_func(i32 %a) #1 {11define internal fastcc i32 @noinline_func(i32 %a) noinline {12entry:13 %tmp0 = add i32 %a, 214 ret i32 %tmp015}16 17; CHECK: define internal fastcc i32 @unmarked_func(i32 %a) #1 {18define internal fastcc i32 @unmarked_func(i32 %a) {19entry:20 %tmp0 = add i32 %a, 321 ret i32 %tmp022}23 24define amdgpu_kernel void @kernel(ptr addrspace(1) %out) {25entry:26 %tmp0 = call i32 @alwaysinline_func(i32 1)27 store volatile i32 %tmp0, ptr addrspace(1) %out28 %tmp1 = call i32 @noinline_func(i32 1)29 store volatile i32 %tmp1, ptr addrspace(1) %out30 %tmp2 = call i32 @unmarked_func(i32 1)31 store volatile i32 %tmp2, ptr addrspace(1) %out32 ret void33}34 35; CHECK: attributes #0 = { alwaysinline }36; CHECK: attributes #1 = { noinline }37