brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 16b8650 Raw
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