1; RUN: opt -passes=openmp-opt-cgscc -pass-remarks-analysis=openmp-opt -openmp-print-gpu-kernels -disable-output < %s 2>&1 | FileCheck %s --implicit-check-not=non_kernel
2; RUN: opt        -openmp-opt-cgscc -pass-remarks-analysis=openmp-opt -openmp-print-gpu-kernels -disable-output < %s 2>&1 | FileCheck %s --implicit-check-not=non_kernel
3
4; CHECK-DAG: remark: <unknown>:0:0: OpenMP GPU kernel kernel1
5; CHECK-DAG: remark: <unknown>:0:0: OpenMP GPU kernel kernel2
6
7define void @kernel1() {
8  ret void
9}
10
11define void @kernel2() {
12  ret void
13}
14
15define void @non_kernel() {
16  ret void
17}
18
19; Needed to trigger the openmp-opt pass
20declare dso_local void @__kmpc_kernel_prepare_parallel(i8*)
21
22!llvm.module.flags = !{!4}
23!nvvm.annotations = !{!2, !0, !1, !3, !1, !2}
24
25!0 = !{void ()* @kernel1, !"kernel", i32 1}
26!1 = !{void ()* @non_kernel, !"non_kernel", i32 1}
27!2 = !{null, !"align", i32 1}
28!3 = !{void ()* @kernel2, !"kernel", i32 1}
29!4 = !{i32 7, !"openmp", i32 50}
30