1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --function-signature --scrub-attributes --check-attributes --check-globals --include-generated-funcs 2; RUN: opt -passes=openmp-opt -S < %s | FileCheck %s --check-prefixes=CHECK 3 4%"struct.ompx::state::TeamStateTy" = type { %"struct.ompx::state::ICVStateTy", i32, i32, ptr } 5%"struct.ompx::state::ICVStateTy" = type { i32, i32, i32, i32, i32, i32 } 6 7@_ZN4ompx5state9TeamStateE = internal addrspace(3) global %"struct.ompx::state::TeamStateTy" undef 8 9define weak_odr amdgpu_kernel void @__omp_offloading_16_1d1156__Z38test_target_teams_distribute__parallelv_l16() { 10 %1 = tail call i32 @__kmpc_target_init(ptr null) 11 ret void 12} 13 14define internal i32 @__kmpc_target_init(ptr %0) { 15 store <2 x i32> zeroinitializer, ptr addrspace(3) @_ZN4ompx5state9TeamStateE, align 16 16 %2 = call i1 @__kmpc_kernel_parallel() 17 ret i32 0 18} 19 20define internal i1 @__kmpc_kernel_parallel() { 21 %1 = load ptr, ptr addrspace(3) @_ZN4ompx5state9TeamStateE, align 8 22 ret i1 false 23} 24 25!llvm.module.flags = !{!0} 26 27!0 = !{i32 7, !"openmp", i32 50} 28;. 29; CHECK: @_ZN4ompx5state9TeamStateE = internal addrspace(3) global %"struct.ompx::state::TeamStateTy" undef 30;. 31; CHECK-LABEL: define {{[^@]+}}@__omp_offloading_16_1d1156__Z38test_target_teams_distribute__parallelv_l16() { 32; CHECK-NEXT: [[TMP1:%.*]] = tail call i32 @__kmpc_target_init(ptr null) 33; CHECK-NEXT: ret void 34; 35; 36; CHECK-LABEL: define {{[^@]+}}@__kmpc_target_init 37; CHECK-SAME: (ptr [[TMP0:%.*]]) { 38; CHECK-NEXT: store <2 x i32> zeroinitializer, ptr addrspace(3) @_ZN4ompx5state9TeamStateE, align 16 39; CHECK-NEXT: [[TMP2:%.*]] = call i1 @__kmpc_kernel_parallel() 40; CHECK-NEXT: ret i32 0 41; 42; 43; CHECK-LABEL: define {{[^@]+}}@__kmpc_kernel_parallel() { 44; CHECK-NEXT: [[TMP1:%.*]] = load ptr, ptr addrspace(3) @_ZN4ompx5state9TeamStateE, align 8 45; CHECK-NEXT: ret i1 false 46; 47;. 48; CHECK: [[META0:![0-9]+]] = !{i32 7, !"openmp", i32 50} 49;. 50