1*18f8106fSJoel E. Denny; See ./README.md for how to maintain the LLVM IR in this test. 2*18f8106fSJoel E. Denny 3*18f8106fSJoel E. Denny; REQUIRES: amdgpu-registered-target 4*18f8106fSJoel E. Denny 5*18f8106fSJoel E. Denny; RUN: opt -pass-remarks=kernel-info -passes=kernel-info \ 6*18f8106fSJoel E. Denny; RUN: -disable-output %s 2>&1 | \ 7*18f8106fSJoel E. Denny; RUN: FileCheck -match-full-lines %s 8*18f8106fSJoel E. Denny 9*18f8106fSJoel E. Denny; CHECK-NOT: remark: 10*18f8106fSJoel E. Denny; CHECK: remark: test.c:0:0: in artificial function '[[OFF_FUNC:__omp_offloading_[a-f0-9_]*_h_l12]]_debug__', artificial alloca ('%[[#]]') for 'dyn_ptr' with static size of 8 bytes 11*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:14:9: in artificial function '[[OFF_FUNC]]_debug__', alloca ('%[[#]]') for 'i' with static size of 4 bytes 12*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:15:9: in artificial function '[[OFF_FUNC]]_debug__', alloca ('%[[#]]') for 'a' with static size of 8 bytes 13*18f8106fSJoel E. Denny; CHECK-NEXT: remark: <unknown>:0:0: in artificial function '[[OFF_FUNC]]_debug__', 'store' instruction accesses memory in flat address space 14*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:3: in artificial function '[[OFF_FUNC]]_debug__', direct call, callee is '@__kmpc_target_init' 15*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:16:5: in artificial function '[[OFF_FUNC]]_debug__', direct call, callee is '@f' 16*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:17:5: in artificial function '[[OFF_FUNC]]_debug__', direct call to defined function, callee is 'g' 17*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:18:3: in artificial function '[[OFF_FUNC]]_debug__', direct call, callee is '@__kmpc_target_deinit' 18*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', ExternalNotKernel = 0 19*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-max-num-workgroups[0] = 4294967295 20*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-max-num-workgroups[1] = 4294967295 21*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-max-num-workgroups[2] = 4294967295 22*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-flat-work-group-size[0] = 1 23*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-flat-work-group-size[1] = 1024 24*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-waves-per-eu[0] = 4 25*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', amdgpu-waves-per-eu[1] = 10 26*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', Allocas = 3 27*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', AllocasStaticSizeSum = 20 28*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', AllocasDyn = 0 29*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', DirectCalls = 4 30*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', IndirectCalls = 0 31*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', DirectCallsToDefinedFunctions = 1 32*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', InlineAssemblyCalls = 0 33*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', Invokes = 0 34*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:13:0: in artificial function '[[OFF_FUNC]]_debug__', FlatAddrspaceAccesses = 1 35*18f8106fSJoel E. Denny 36*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:0:0: in artificial function '[[OFF_FUNC]]', artificial alloca ('%[[#]]') for 'dyn_ptr' with static size of 8 bytes 37*18f8106fSJoel E. Denny; CHECK-NEXT: remark: <unknown>:0:0: in artificial function '[[OFF_FUNC]]', 'store' instruction accesses memory in flat address space 38*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:1: in artificial function '[[OFF_FUNC]]', 'load' instruction ('%[[#]]') accesses memory in flat address space 39*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:1: in artificial function '[[OFF_FUNC]]', direct call to defined function, callee is artificial '[[OFF_FUNC]]_debug__' 40*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', ExternalNotKernel = 0 41*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', omp_target_thread_limit = 256 42*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-max-num-workgroups[0] = 4294967295 43*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-max-num-workgroups[1] = 4294967295 44*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-max-num-workgroups[2] = 4294967295 45*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-flat-work-group-size[0] = 1 46*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-flat-work-group-size[1] = 256 47*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-waves-per-eu[0] = 1 48*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', amdgpu-waves-per-eu[1] = 10 49*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', Allocas = 1 50*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', AllocasStaticSizeSum = 8 51*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', AllocasDyn = 0 52*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', DirectCalls = 1 53*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', IndirectCalls = 0 54*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', DirectCallsToDefinedFunctions = 1 55*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', InlineAssemblyCalls = 0 56*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', Invokes = 0 57*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:12:0: in artificial function '[[OFF_FUNC]]', FlatAddrspaceAccesses = 2 58*18f8106fSJoel E. Denny 59*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:4:7: in function 'g', alloca ('%[[#]]') for 'i' with static size of 4 bytes 60*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:5:7: in function 'g', alloca ('%[[#]]') for 'a' with static size of 8 bytes 61*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:6:3: in function 'g', direct call, callee is '@f' 62*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:7:3: in function 'g', direct call to defined function, callee is 'g' 63*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', ExternalNotKernel = 1 64*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-max-num-workgroups[0] = 4294967295 65*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-max-num-workgroups[1] = 4294967295 66*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-max-num-workgroups[2] = 4294967295 67*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-flat-work-group-size[0] = 1 68*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-flat-work-group-size[1] = 1024 69*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-waves-per-eu[0] = 4 70*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', amdgpu-waves-per-eu[1] = 10 71*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', Allocas = 2 72*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', AllocasStaticSizeSum = 12 73*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', AllocasDyn = 0 74*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', DirectCalls = 2 75*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', IndirectCalls = 0 76*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', DirectCallsToDefinedFunctions = 1 77*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', InlineAssemblyCalls = 0 78*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', Invokes = 0 79*18f8106fSJoel E. Denny; CHECK-NEXT: remark: test.c:3:0: in function 'g', FlatAddrspaceAccesses = 0 80*18f8106fSJoel E. Denny; CHECK-NOT: {{.}} 81*18f8106fSJoel E. Denny 82*18f8106fSJoel E. Denny; ModuleID = 'test-openmp-amdgcn-amd-amdhsa-gfx906.bc' 83*18f8106fSJoel E. Dennysource_filename = "test.c" 84*18f8106fSJoel E. Dennytarget datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-p9:192:256:256:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9" 85*18f8106fSJoel E. Dennytarget triple = "amdgcn-amd-amdhsa" 86*18f8106fSJoel E. Denny 87*18f8106fSJoel E. Denny%struct.ident_t = type { i32, i32, i32, i32, ptr } 88*18f8106fSJoel E. Denny%struct.DynamicEnvironmentTy = type { i16 } 89*18f8106fSJoel E. Denny%struct.KernelEnvironmentTy = type { %struct.ConfigurationEnvironmentTy, ptr, ptr } 90*18f8106fSJoel E. Denny%struct.ConfigurationEnvironmentTy = type { i8, i8, i8, i32, i32, i32, i32, i32, i32 } 91*18f8106fSJoel E. Denny 92*18f8106fSJoel E. Denny@__omp_rtl_debug_kind = weak_odr hidden addrspace(1) constant i32 0 93*18f8106fSJoel E. Denny@__omp_rtl_assume_teams_oversubscription = weak_odr hidden addrspace(1) constant i32 0 94*18f8106fSJoel E. Denny@__omp_rtl_assume_threads_oversubscription = weak_odr hidden addrspace(1) constant i32 0 95*18f8106fSJoel E. Denny@__omp_rtl_assume_no_thread_state = weak_odr hidden addrspace(1) constant i32 0 96*18f8106fSJoel E. Denny@__omp_rtl_assume_no_nested_parallelism = weak_odr hidden addrspace(1) constant i32 0 97*18f8106fSJoel E. Denny@0 = private unnamed_addr constant [57 x i8] c";test.c;__omp_offloading_fd02_727e9_h_l12_debug__;13;3;;\00", align 1 98*18f8106fSJoel E. Denny@1 = private unnamed_addr addrspace(1) constant %struct.ident_t { i32 0, i32 2, i32 0, i32 56, ptr @0 }, align 8 99*18f8106fSJoel E. Denny@__omp_offloading_fd02_727e9_h_l12_dynamic_environment = weak_odr protected addrspace(1) global %struct.DynamicEnvironmentTy zeroinitializer 100*18f8106fSJoel E. Denny@__omp_offloading_fd02_727e9_h_l12_kernel_environment = weak_odr protected addrspace(1) constant %struct.KernelEnvironmentTy { %struct.ConfigurationEnvironmentTy { i8 1, i8 1, i8 1, i32 1, i32 256, i32 -1, i32 -1, i32 0, i32 0 }, ptr addrspacecast (ptr addrspace(1) @1 to ptr), ptr addrspacecast (ptr addrspace(1) @__omp_offloading_fd02_727e9_h_l12_dynamic_environment to ptr) } 101*18f8106fSJoel E. Denny@__oclc_ABI_version = weak_odr hidden local_unnamed_addr addrspace(4) constant i32 500 102*18f8106fSJoel E. Denny 103*18f8106fSJoel E. Denny; Function Attrs: convergent noinline norecurse nounwind optnone 104*18f8106fSJoel E. Dennydefine internal void @__omp_offloading_fd02_727e9_h_l12_debug__(ptr noalias noundef %0) #0 !dbg !15 { 105*18f8106fSJoel E. Denny %2 = alloca ptr, align 8, addrspace(5) 106*18f8106fSJoel E. Denny %3 = alloca i32, align 4, addrspace(5) 107*18f8106fSJoel E. Denny %4 = alloca [2 x i32], align 4, addrspace(5) 108*18f8106fSJoel E. Denny %5 = addrspacecast ptr addrspace(5) %2 to ptr 109*18f8106fSJoel E. Denny %6 = addrspacecast ptr addrspace(5) %3 to ptr 110*18f8106fSJoel E. Denny %7 = addrspacecast ptr addrspace(5) %4 to ptr 111*18f8106fSJoel E. Denny store ptr %0, ptr %5, align 8 112*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %2, !23, !DIExpression(), !24) 113*18f8106fSJoel E. Denny %8 = call i32 @__kmpc_target_init(ptr addrspacecast (ptr addrspace(1) @__omp_offloading_fd02_727e9_h_l12_kernel_environment to ptr), ptr %0), !dbg !25 114*18f8106fSJoel E. Denny %9 = icmp eq i32 %8, -1, !dbg !25 115*18f8106fSJoel E. Denny br i1 %9, label %10, label %11, !dbg !25 116*18f8106fSJoel E. Denny 117*18f8106fSJoel E. Denny10: ; preds = %1 118*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %3, !26, !DIExpression(), !29) 119*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %4, !30, !DIExpression(), !34) 120*18f8106fSJoel E. Denny call void @f() #4, !dbg !35 121*18f8106fSJoel E. Denny call void @g() #4, !dbg !36 122*18f8106fSJoel E. Denny call void @__kmpc_target_deinit(), !dbg !37 123*18f8106fSJoel E. Denny ret void, !dbg !38 124*18f8106fSJoel E. Denny 125*18f8106fSJoel E. Denny11: ; preds = %1 126*18f8106fSJoel E. Denny ret void, !dbg !25 127*18f8106fSJoel E. Denny} 128*18f8106fSJoel E. Denny 129*18f8106fSJoel E. Denny; Function Attrs: convergent mustprogress noinline norecurse nounwind optnone 130*18f8106fSJoel E. Dennydefine weak_odr protected amdgpu_kernel void @__omp_offloading_fd02_727e9_h_l12(ptr noalias noundef %0) #1 !dbg !39 { 131*18f8106fSJoel E. Denny %2 = alloca ptr, align 8, addrspace(5) 132*18f8106fSJoel E. Denny %3 = addrspacecast ptr addrspace(5) %2 to ptr 133*18f8106fSJoel E. Denny store ptr %0, ptr %3, align 8 134*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %2, !40, !DIExpression(), !41) 135*18f8106fSJoel E. Denny %4 = load ptr, ptr %3, align 8, !dbg !42 136*18f8106fSJoel E. Denny call void @__omp_offloading_fd02_727e9_h_l12_debug__(ptr %4) #5, !dbg !42 137*18f8106fSJoel E. Denny ret void, !dbg !42 138*18f8106fSJoel E. Denny} 139*18f8106fSJoel E. Denny 140*18f8106fSJoel E. Dennydeclare i32 @__kmpc_target_init(ptr, ptr) 141*18f8106fSJoel E. Denny 142*18f8106fSJoel E. Denny; Function Attrs: convergent 143*18f8106fSJoel E. Dennydeclare void @f(...) #2 144*18f8106fSJoel E. Denny 145*18f8106fSJoel E. Dennydeclare void @__kmpc_target_deinit() 146*18f8106fSJoel E. Denny 147*18f8106fSJoel E. Denny; Function Attrs: convergent noinline nounwind optnone 148*18f8106fSJoel E. Dennydefine hidden void @g() #3 !dbg !43 { 149*18f8106fSJoel E. Denny %1 = alloca i32, align 4, addrspace(5) 150*18f8106fSJoel E. Denny %2 = alloca [2 x i32], align 4, addrspace(5) 151*18f8106fSJoel E. Denny %3 = addrspacecast ptr addrspace(5) %1 to ptr 152*18f8106fSJoel E. Denny %4 = addrspacecast ptr addrspace(5) %2 to ptr 153*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %1, !46, !DIExpression(), !47) 154*18f8106fSJoel E. Denny #dbg_declare(ptr addrspace(5) %2, !48, !DIExpression(), !49) 155*18f8106fSJoel E. Denny call void @f() #4, !dbg !50 156*18f8106fSJoel E. Denny call void @g() #4, !dbg !51 157*18f8106fSJoel E. Denny ret void, !dbg !52 158*18f8106fSJoel E. Denny} 159*18f8106fSJoel E. Denny 160*18f8106fSJoel E. Dennyattributes #0 = { convergent noinline norecurse nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="gfx906" "target-features"="+16-bit-insts,+ci-insts,+dl-insts,+dot1-insts,+dot10-insts,+dot2-insts,+dot7-insts,+dpp,+gfx8-insts,+gfx9-insts,+s-memrealtime,+s-memtime-inst,+wavefrontsize64" } 161*18f8106fSJoel E. Dennyattributes #1 = { convergent mustprogress noinline norecurse nounwind optnone "amdgpu-flat-work-group-size"="1,256" "frame-pointer"="all" "kernel" "no-trapping-math"="true" "omp_target_thread_limit"="256" "stack-protector-buffer-size"="8" "target-cpu"="gfx906" "target-features"="+16-bit-insts,+ci-insts,+dl-insts,+dot1-insts,+dot10-insts,+dot2-insts,+dot7-insts,+dpp,+gfx8-insts,+gfx9-insts,+s-memrealtime,+s-memtime-inst,+wavefrontsize64" "uniform-work-group-size"="true" } 162*18f8106fSJoel E. Dennyattributes #2 = { convergent "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="gfx906" "target-features"="+16-bit-insts,+ci-insts,+dl-insts,+dot1-insts,+dot10-insts,+dot2-insts,+dot7-insts,+dpp,+gfx8-insts,+gfx9-insts,+s-memrealtime,+s-memtime-inst,+wavefrontsize64" } 163*18f8106fSJoel E. Dennyattributes #3 = { convergent noinline nounwind optnone "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="gfx906" "target-features"="+16-bit-insts,+ci-insts,+dl-insts,+dot1-insts,+dot10-insts,+dot2-insts,+dot7-insts,+dpp,+gfx8-insts,+gfx9-insts,+s-memrealtime,+s-memtime-inst,+wavefrontsize64" } 164*18f8106fSJoel E. Dennyattributes #4 = { convergent } 165*18f8106fSJoel E. Dennyattributes #5 = { nounwind } 166*18f8106fSJoel E. Denny 167*18f8106fSJoel E. Denny!llvm.dbg.cu = !{!0} 168*18f8106fSJoel E. Denny!omp_offload.info = !{!2} 169*18f8106fSJoel E. Denny!llvm.module.flags = !{!3, !4, !5, !6, !7, !8, !9, !10, !11} 170*18f8106fSJoel E. Denny!llvm.ident = !{!12, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13, !13} 171*18f8106fSJoel E. Denny!opencl.ocl.version = !{!14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14, !14} 172*18f8106fSJoel E. Denny 173*18f8106fSJoel E. Denny!0 = distinct !DICompileUnit(language: DW_LANG_C11, file: !1, producer: "clang version 20.0.0git (/tmp/llvm/clang b9447c03a9ef2eed55b685a33511df86f7f94e89)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, splitDebugInlining: false, nameTableKind: None) 174*18f8106fSJoel E. Denny!1 = !DIFile(filename: "test.c", directory: "/tmp", checksumkind: CSK_MD5, checksum: "27a878d5e894ab6d41bfe96f997f8821") 175*18f8106fSJoel E. Denny!2 = !{i32 0, i32 64770, i32 468969, !"h", i32 12, i32 0, i32 0} 176*18f8106fSJoel E. Denny!3 = !{i32 1, !"amdhsa_code_object_version", i32 500} 177*18f8106fSJoel E. Denny!4 = !{i32 7, !"Dwarf Version", i32 5} 178*18f8106fSJoel E. Denny!5 = !{i32 2, !"Debug Info Version", i32 3} 179*18f8106fSJoel E. Denny!6 = !{i32 1, !"wchar_size", i32 4} 180*18f8106fSJoel E. Denny!7 = !{i32 7, !"openmp", i32 51} 181*18f8106fSJoel E. Denny!8 = !{i32 7, !"openmp-device", i32 51} 182*18f8106fSJoel E. Denny!9 = !{i32 8, !"PIC Level", i32 2} 183*18f8106fSJoel E. Denny!10 = !{i32 7, !"frame-pointer", i32 2} 184*18f8106fSJoel E. Denny!11 = !{i32 4, !"amdgpu_hostcall", i32 1} 185*18f8106fSJoel E. Denny!12 = !{!"clang version 20.0.0git (/tmp/llvm/clang b9447c03a9ef2eed55b685a33511df86f7f94e89)"} 186*18f8106fSJoel E. Denny!13 = !{!"AMD clang version 17.0.0 (https://github.com/RadeonOpenCompute/llvm-project roc-6.0.2 24012 af27734ed982b52a9f1be0f035ac91726fc697e4)"} 187*18f8106fSJoel E. Denny!14 = !{i32 2, i32 0} 188*18f8106fSJoel E. Denny!15 = distinct !DISubprogram(name: "__omp_offloading_fd02_727e9_h_l12_debug__", scope: !16, file: !16, line: 13, type: !17, scopeLine: 13, flags: DIFlagArtificial | DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !0, retainedNodes: !22) 189*18f8106fSJoel E. Denny!16 = !DIFile(filename: "test.c", directory: "/tmp") 190*18f8106fSJoel E. Denny!17 = !DISubroutineType(types: !18) 191*18f8106fSJoel E. Denny!18 = !{null, !19} 192*18f8106fSJoel E. Denny!19 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !20) 193*18f8106fSJoel E. Denny!20 = !DIDerivedType(tag: DW_TAG_restrict_type, baseType: !21) 194*18f8106fSJoel E. Denny!21 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: null, size: 64) 195*18f8106fSJoel E. Denny!22 = !{} 196*18f8106fSJoel E. Denny!23 = !DILocalVariable(name: "dyn_ptr", arg: 1, scope: !15, type: !19, flags: DIFlagArtificial) 197*18f8106fSJoel E. Denny!24 = !DILocation(line: 0, scope: !15) 198*18f8106fSJoel E. Denny!25 = !DILocation(line: 13, column: 3, scope: !15) 199*18f8106fSJoel E. Denny!26 = !DILocalVariable(name: "i", scope: !27, file: !16, line: 14, type: !28) 200*18f8106fSJoel E. Denny!27 = distinct !DILexicalBlock(scope: !15, file: !16, line: 13, column: 3) 201*18f8106fSJoel E. Denny!28 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed) 202*18f8106fSJoel E. Denny!29 = !DILocation(line: 14, column: 9, scope: !27) 203*18f8106fSJoel E. Denny!30 = !DILocalVariable(name: "a", scope: !27, file: !16, line: 15, type: !31) 204*18f8106fSJoel E. Denny!31 = !DICompositeType(tag: DW_TAG_array_type, baseType: !28, size: 64, elements: !32) 205*18f8106fSJoel E. Denny!32 = !{!33} 206*18f8106fSJoel E. Denny!33 = !DISubrange(count: 2) 207*18f8106fSJoel E. Denny!34 = !DILocation(line: 15, column: 9, scope: !27) 208*18f8106fSJoel E. Denny!35 = !DILocation(line: 16, column: 5, scope: !27) 209*18f8106fSJoel E. Denny!36 = !DILocation(line: 17, column: 5, scope: !27) 210*18f8106fSJoel E. Denny!37 = !DILocation(line: 18, column: 3, scope: !27) 211*18f8106fSJoel E. Denny!38 = !DILocation(line: 18, column: 3, scope: !15) 212*18f8106fSJoel E. Denny!39 = distinct !DISubprogram(name: "__omp_offloading_fd02_727e9_h_l12", scope: !16, file: !16, line: 12, type: !17, scopeLine: 12, flags: DIFlagArtificial | DIFlagPrototyped, spFlags: DISPFlagLocalToUnit | DISPFlagDefinition, unit: !0, retainedNodes: !22) 213*18f8106fSJoel E. Denny!40 = !DILocalVariable(name: "dyn_ptr", arg: 1, scope: !39, type: !19, flags: DIFlagArtificial) 214*18f8106fSJoel E. Denny!41 = !DILocation(line: 0, scope: !39) 215*18f8106fSJoel E. Denny!42 = !DILocation(line: 12, column: 1, scope: !39) 216*18f8106fSJoel E. Denny!43 = distinct !DISubprogram(name: "g", scope: !16, file: !16, line: 3, type: !44, scopeLine: 3, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !22) 217*18f8106fSJoel E. Denny!44 = !DISubroutineType(types: !45) 218*18f8106fSJoel E. Denny!45 = !{null} 219*18f8106fSJoel E. Denny!46 = !DILocalVariable(name: "i", scope: !43, file: !16, line: 4, type: !28) 220*18f8106fSJoel E. Denny!47 = !DILocation(line: 4, column: 7, scope: !43) 221*18f8106fSJoel E. Denny!48 = !DILocalVariable(name: "a", scope: !43, file: !16, line: 5, type: !31) 222*18f8106fSJoel E. Denny!49 = !DILocation(line: 5, column: 7, scope: !43) 223*18f8106fSJoel E. Denny!50 = !DILocation(line: 6, column: 3, scope: !43) 224*18f8106fSJoel E. Denny!51 = !DILocation(line: 7, column: 3, scope: !43) 225*18f8106fSJoel E. Denny!52 = !DILocation(line: 8, column: 1, scope: !43) 226