From 94fea61cf42c9f5aeed41b29613bd0137c582468 Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Thu, 30 Jan 2025 02:19:36 +0200 Subject: [PATCH 1/6] Support KA groupreduce API --- src/ROCKernels.jl | 4 ++++ src/device/gcn/wavefront.jl | 16 +++++++--------- t.jl | 24 ++++++++++++++++++++++++ test/runtests.jl | 24 +++++++++++++----------- 4 files changed, 48 insertions(+), 20 deletions(-) create mode 100644 t.jl diff --git a/src/ROCKernels.jl b/src/ROCKernels.jl index 67eb0b2ea..eccb3bd28 100644 --- a/src/ROCKernels.jl +++ b/src/ROCKernels.jl @@ -166,4 +166,8 @@ end # TODO end +@device_override @inline function KA.__shfl_down(val, offset) + AMDGPU.Device.shfl_down(val, offset) +end + end diff --git a/src/device/gcn/wavefront.jl b/src/device/gcn/wavefront.jl index f4f652a81..47ad389e3 100644 --- a/src/device/gcn/wavefront.jl +++ b/src/device/gcn/wavefront.jl @@ -57,11 +57,10 @@ end """ wfred(op::Function, val::T) where T -> T -Performs a wavefront-wide reduction on `val` in each lane, and returns the -result. A limited subset of functions are available to be passed as `op`. When -`op` is one of `(+, max, min, &, |, ⊻)`, `T` may be -`<:Union{Cint, Clong, Cuint, Culong}`. When `op` is one of `(+, max, min)`, -`T` may also be `<:Union{Float32, Float64}`. +Performs a wavefront-wide reduction on `val` in each lane, and returns the result. +A limited subset of functions are available to be passed as `op`. +When `op` is one of `(+, max, min, &, |, ⊻)`, `T` may be `<:Union{Cint, Clong, Cuint, Culong}`. +When `op` is one of `(+, max, min)`, `T` may also be `<:Union{Float32, Float64}`. """ wfred @@ -69,10 +68,9 @@ wfred wfscan(op::Function, val::T) where T -> T Performs a wavefront-wide scan on `val` in each lane, and returns the -result. A limited subset of functions are available to be passed as `op`. When -`op` is one of `(+, max, min, &, |, ⊻)`, `T` may be -`<:Union{Cint, Clong, Cuint, Culong}`. When `op` is one of `(+, max, min)`, -`T` may also be `<:Union{Float32, Float64}`. +result. A limited subset of functions are available to be passed as `op`. +When `op` is one of `(+, max, min, &, |, ⊻)`, `T` may be `<:Union{Cint, Clong, Cuint, Culong}`. +When `op` is one of `(+, max, min)`, `T` may also be `<:Union{Float32, Float64}`. """ wfscan diff --git a/t.jl b/t.jl new file mode 100644 index 000000000..f4a9fd57d --- /dev/null +++ b/t.jl @@ -0,0 +1,24 @@ +using AMDGPU +using KernelAbstractions +import KernelAbstractions as KA + +@kernel function ker!(y, x, neutral, op) + i = @index(Global) + val = i > length(x) ? neutral : x[i] + + res = KA.@groupreduce(:warp, op, val, neutral) + if i == 1 + y[1] = res + end +end + +function main() + n = 256 + x = ROCArray(ones(Int64, n)) + y = ROCArray(zeros(Int64, 1)) + + ker!(ROCBackend(), n)(y, x, 0, +; ndrange=length(x)) + @show y + return +end +main() diff --git a/test/runtests.jl b/test/runtests.jl index 4b740f7c2..2a6c025ad 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -113,20 +113,22 @@ data = String["$np" "$(AMDGPU.device())" join(TARGET_TESTS, ", ");] PrettyTables.pretty_table(data; header=["Workers", "Device", "Tests"], crop=:none) runtests(AMDGPU; nworkers=np, nworker_threads=1, testitem_timeout=60 * 30) do ti + return ti.name == "kernelabstractions" + for tt in TARGET_TESTS startswith(ti.name, tt) && return true end return false end -if "core" in TARGET_TESTS && Sys.islinux() - @info "Testing `Hostcalls` on the main thread." - @testset "Hostcalls" begin - include("device/hostcall.jl") - - # TODO 1.11 fails - if VERSION < v"1.11-" - include("device/output.jl") - end - end -end +# if "core" in TARGET_TESTS && Sys.islinux() +# @info "Testing `Hostcalls` on the main thread." +# @testset "Hostcalls" begin +# include("device/hostcall.jl") + +# # TODO 1.11 fails +# if VERSION < v"1.11-" +# include("device/output.jl") +# end +# end +# end From ae026d9394d26c9a892ad2c352c1b71639c0c8a2 Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Thu, 30 Jan 2025 21:06:49 +0200 Subject: [PATCH 2/6] Cleanup --- src/ROCKernels.jl | 4 ++++ t.jl | 24 ------------------------ test/runtests.jl | 24 +++++++++++------------- 3 files changed, 15 insertions(+), 37 deletions(-) delete mode 100644 t.jl diff --git a/src/ROCKernels.jl b/src/ROCKernels.jl index eccb3bd28..6e42f24cf 100644 --- a/src/ROCKernels.jl +++ b/src/ROCKernels.jl @@ -166,6 +166,10 @@ end # TODO end +# Reduction. + +KA.supports_warp_reduction(::ROCBackend) = true + @device_override @inline function KA.__shfl_down(val, offset) AMDGPU.Device.shfl_down(val, offset) end diff --git a/t.jl b/t.jl deleted file mode 100644 index f4a9fd57d..000000000 --- a/t.jl +++ /dev/null @@ -1,24 +0,0 @@ -using AMDGPU -using KernelAbstractions -import KernelAbstractions as KA - -@kernel function ker!(y, x, neutral, op) - i = @index(Global) - val = i > length(x) ? neutral : x[i] - - res = KA.@groupreduce(:warp, op, val, neutral) - if i == 1 - y[1] = res - end -end - -function main() - n = 256 - x = ROCArray(ones(Int64, n)) - y = ROCArray(zeros(Int64, 1)) - - ker!(ROCBackend(), n)(y, x, 0, +; ndrange=length(x)) - @show y - return -end -main() diff --git a/test/runtests.jl b/test/runtests.jl index 2a6c025ad..4b740f7c2 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -113,22 +113,20 @@ data = String["$np" "$(AMDGPU.device())" join(TARGET_TESTS, ", ");] PrettyTables.pretty_table(data; header=["Workers", "Device", "Tests"], crop=:none) runtests(AMDGPU; nworkers=np, nworker_threads=1, testitem_timeout=60 * 30) do ti - return ti.name == "kernelabstractions" - for tt in TARGET_TESTS startswith(ti.name, tt) && return true end return false end -# if "core" in TARGET_TESTS && Sys.islinux() -# @info "Testing `Hostcalls` on the main thread." -# @testset "Hostcalls" begin -# include("device/hostcall.jl") - -# # TODO 1.11 fails -# if VERSION < v"1.11-" -# include("device/output.jl") -# end -# end -# end +if "core" in TARGET_TESTS && Sys.islinux() + @info "Testing `Hostcalls` on the main thread." + @testset "Hostcalls" begin + include("device/hostcall.jl") + + # TODO 1.11 fails + if VERSION < v"1.11-" + include("device/output.jl") + end + end +end From fd614f0f98d6e09a7db6ba351b0b787e747bb122 Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Tue, 4 Feb 2025 00:58:40 +0200 Subject: [PATCH 3/6] API changes --- src/ROCKernels.jl | 2 +- t.jl | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 t.jl diff --git a/src/ROCKernels.jl b/src/ROCKernels.jl index 6e42f24cf..611f964a0 100644 --- a/src/ROCKernels.jl +++ b/src/ROCKernels.jl @@ -168,7 +168,7 @@ end # Reduction. -KA.supports_warp_reduction(::ROCBackend) = true +@device_override @inline KA.__supports_warp_reduction() = true @device_override @inline function KA.__shfl_down(val, offset) AMDGPU.Device.shfl_down(val, offset) diff --git a/t.jl b/t.jl new file mode 100644 index 000000000..6bced4952 --- /dev/null +++ b/t.jl @@ -0,0 +1,18 @@ +using AMDGPU +using KernelAbstractions + +@kernel cpu=false function groupreduce_1!(y, x, op, neutral) + i = @index(Global) + val = i > length(x) ? neutral : x[i] + res = @groupreduce(op, val, neutral) + i == 1 && (y[1] = res) +end + +function main() + x = ROCArray(ones(Float32, 256)) + y = ROCArray(zeros(Float32, 1)) + groupreduce_1!(ROCBackend(), 256)(y, x, +, 0f0; ndrange=256) + @show y + return +end +main() From 9822426388a0d05d9a6f78145f0d4e0bd4c58ca8 Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Thu, 20 Feb 2025 12:40:05 +0200 Subject: [PATCH 4/6] tmp --- devcode/gpu_groupreduce_1!_1.asm | 3034 +++++++++++++++++++++ devcode/gpu_groupreduce_1!_1.lowered.jl | 52 + devcode/gpu_groupreduce_1!_1.opt.ll | 1142 ++++++++ devcode/gpu_groupreduce_1!_1.typed.jl | 1458 ++++++++++ devcode/gpu_groupreduce_1!_1.unopt.ll | 3264 +++++++++++++++++++++++ src/ROCKernels.jl | 4 +- t.jl | 47 +- 7 files changed, 8994 insertions(+), 7 deletions(-) create mode 100644 devcode/gpu_groupreduce_1!_1.asm create mode 100644 devcode/gpu_groupreduce_1!_1.lowered.jl create mode 100644 devcode/gpu_groupreduce_1!_1.opt.ll create mode 100644 devcode/gpu_groupreduce_1!_1.typed.jl create mode 100644 devcode/gpu_groupreduce_1!_1.unopt.ll diff --git a/devcode/gpu_groupreduce_1!_1.asm b/devcode/gpu_groupreduce_1!_1.asm new file mode 100644 index 000000000..3b0db6f4d --- /dev/null +++ b/devcode/gpu_groupreduce_1!_1.asm @@ -0,0 +1,3034 @@ + .text + .amdgcn_target "amdgcn-amd-amdhsa--gfx1100" + .globl _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ ; -- Begin function _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ + .p2align 8 + .type _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_,@function +_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_: ; @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ +.Lfunc_begin0: + .file 1 "." "none" + .loc 1 0 0 ; none:0:0 + .cfi_sections .debug_frame + .cfi_startproc +; %bb.0: ; %conversion + s_load_b64 s[4:5], s[0:1], 0x58 +.Ltmp0: + .file 2 "." "int.jl" + .loc 2 87 0 prologue_end ; int.jl:87:0 + v_add_nc_u32_e32 v1, 1, v0 + s_mov_b32 s2, s15 +.Ltmp1: + .file 3 "." "boot.jl" + .loc 3 816 0 ; boot.jl:816:0 + s_mov_b32 s3, 0 + s_delay_alu instid0(SALU_CYCLE_1) +.Ltmp2: + .loc 2 88 0 ; int.jl:88:0 + s_lshl_b64 s[6:7], s[2:3], 8 + s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1) +.Ltmp3: + .loc 2 87 0 ; int.jl:87:0 + v_add_co_u32 v1, s2, s6, v1 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) + v_add_co_ci_u32_e64 v2, null, s7, 0, s2 +.Ltmp4: + .file 4 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl" + .loc 4 96 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96:0 + s_mov_b32 s2, exec_lo +.Ltmp5: + .loc 2 514 0 ; int.jl:514:0 + s_waitcnt lgkmcnt(0) + v_cmpx_ge_i64_e64 s[4:5], v[1:2] +.Ltmp6: + .loc 4 96 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96:0 + s_cbranch_execz .LBB0_34 +; %bb.1: ; %L110 + .loc 4 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:0:0 + s_clause 0x2 + s_load_b64 s[10:11], s[0:1], 0x90 + s_load_b32 s8, s[0:1], 0x98 + s_load_b64 s[4:5], s[0:1], 0x0 + s_mov_b32 s9, -1 +.Ltmp7: + .file 5 "." "/home/pxlth/.julia/dev/AMDGPU/t.jl" + .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 + s_mov_b32 s2, exec_lo + s_waitcnt lgkmcnt(0) + v_mov_b32_e32 v3, s8 +.Ltmp8: + .loc 2 83 0 ; int.jl:83:0 + v_cmpx_ge_i64_e64 s[10:11], v[1:2] +.Ltmp9: + .loc 5 16 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 + s_cbranch_execz .LBB0_6 +; %bb.2: ; %L237 + .loc 5 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:0:0 + s_load_b64 s[10:11], s[0:1], 0x80 +.Ltmp10: + .loc 2 86 0 is_stmt 1 ; int.jl:86:0 + v_add_co_u32 v3, vcc_lo, v1, -1 + v_add_co_ci_u32_e32 v4, vcc_lo, -1, v2, vcc_lo + s_mov_b32 s9, 0 +.Ltmp11: + .loc 2 513 0 ; int.jl:513:0 + s_waitcnt lgkmcnt(0) + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) + v_cmp_le_u64_e32 vcc_lo, s[10:11], v[3:4] +.Ltmp12: + .file 6 "." "abstractarray.jl" + .loc 6 699 0 ; abstractarray.jl:699:0 + s_and_saveexec_b32 s10, vcc_lo + s_xor_b32 s10, exec_lo, s10 + s_cbranch_execnz .LBB0_24 +.LBB0_3: ; %Flow13 + s_or_saveexec_b32 s10, s10 + ; implicit-def: $vgpr3 + s_delay_alu instid0(SALU_CYCLE_1) + s_xor_b32 exec_lo, exec_lo, s10 + s_cbranch_execz .LBB0_5 +.Ltmp13: +; %bb.4: ; %L250 + .loc 6 0 0 is_stmt 0 ; abstractarray.jl:0:0 + s_load_b64 s[12:13], s[0:1], 0x88 + v_add_co_u32 v3, s6, s6, v0 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) + v_add_co_ci_u32_e64 v4, null, s7, 0, s6 + s_mov_b32 s9, exec_lo + v_lshlrev_b64 v[3:4], 2, v[3:4] +.Ltmp14: + .file 7 "." "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl" + .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + s_waitcnt lgkmcnt(0) + s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2) + v_add_co_u32 v3, vcc_lo, v3, s12 + v_add_co_ci_u32_e32 v4, vcc_lo, s13, v4, vcc_lo + global_load_b32 v3, v[3:4], off +.Ltmp15: +.LBB0_5: ; %Flow14 + .loc 7 0 0 is_stmt 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:0:0 + s_or_b32 exec_lo, exec_lo, s10 + s_delay_alu instid0(SALU_CYCLE_1) + s_and_b32 s3, s3, exec_lo + s_or_not1_b32 s9, s9, exec_lo +.LBB0_6: ; %Flow12 + s_or_b32 exec_lo, exec_lo, s2 + .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 + s_and_saveexec_b32 s2, s9 + s_cbranch_execz .LBB0_32 +; %bb.7: ; %L256 +.Ltmp16: + .file 8 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl" + .loc 8 106 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106:0 + v_mbcnt_lo_u32_b32 v4, exec_lo, 0 + s_mov_b32 s6, s3 +.Ltmp17: + .loc 3 756 0 ; boot.jl:756:0 + s_mov_b32 s7, exec_lo + s_delay_alu instid0(VALU_DEP_1) +.Ltmp18: + .loc 3 741 0 ; boot.jl:741:0 + v_cmpx_gt_i32_e32 0, v4 +.Ltmp19: + .loc 3 756 0 ; boot.jl:756:0 + s_xor_b32 s7, exec_lo, s7 + s_cbranch_execnz .LBB0_25 +; %bb.8: ; %Flow16 + s_and_not1_saveexec_b32 s7, s7 + s_cbranch_execz .LBB0_31 +.Ltmp20: +.LBB0_9: ; %L306 + .loc 2 87 0 ; int.jl:87:0 + v_add_nc_u32_e32 v5, 16, v4 +.Ltmp21: + .file 9 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl" + .loc 9 93 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93:0 + s_mov_b32 s9, exec_lo + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) + v_cmp_gt_u32_e32 vcc_lo, 32, v5 + v_cndmask_b32_e64 v5, 0, 1, vcc_lo +.Ltmp22: + .file 10 "." "essentials.jl" + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v5, 4, v5 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_4) | instid1(VALU_DEP_1) +.Ltmp23: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v5, v5, v4, 2 +.Ltmp24: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + s_waitcnt vmcnt(0) + ds_bpermute_b32 v5, v5, v3 +.Ltmp25: + .file 11 "." "float.jl" + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + v_dual_add_f32 v3, v3, v5 :: v_dual_add_nc_u32 v6, 8, v4 + v_cmp_gt_u32_e32 vcc_lo, 32, v6 + v_cndmask_b32_e64 v6, 0, 1, vcc_lo + s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) +.Ltmp26: + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v6, 3, v6 +.Ltmp27: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v6, v6, v4, 2 +.Ltmp28: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v5, v6, v3 +.Ltmp29: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + v_dual_add_f32 v3, v3, v5 :: v_dual_add_nc_u32 v6, 4, v4 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) + v_cmp_gt_u32_e32 vcc_lo, 32, v6 + v_cndmask_b32_e64 v6, 0, 1, vcc_lo +.Ltmp30: + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v6, 2, v6 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) +.Ltmp31: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v6, v6, v4, 2 +.Ltmp32: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v5, v6, v3 +.Ltmp33: + .loc 2 87 0 ; int.jl:87:0 + v_add_nc_u32_e32 v6, 2, v4 + v_cmp_gt_u32_e32 vcc_lo, 32, v6 + v_cndmask_b32_e64 v6, 0, 1, vcc_lo +.Ltmp34: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) + v_dual_add_f32 v3, v3, v5 :: v_dual_lshlrev_b32 v6, 1, v6 +.Ltmp35: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v6, v6, v4, 2 +.Ltmp36: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v5, v6, v3 +.Ltmp37: + .loc 2 87 0 ; int.jl:87:0 + v_add_nc_u32_e32 v6, 1, v4 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) +.Ltmp38: + .loc 2 515 0 ; int.jl:515:0 + v_cmp_gt_u32_e32 vcc_lo, 32, v6 +.Ltmp39: + .loc 10 796 0 ; essentials.jl:796:0 + v_add_co_ci_u32_e32 v4, vcc_lo, 0, v4, vcc_lo +.Ltmp40: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + v_dual_add_f32 v3, v3, v5 :: v_dual_lshlrev_b32 v4, 2, v4 +.Ltmp41: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v5, v4, v3 +.Ltmp42: + .loc 2 298 0 ; int.jl:298:0 + v_and_b32_e32 v4, 31, v0 + s_delay_alu instid0(VALU_DEP_1) +.Ltmp43: + .file 12 "." "promotion.jl" + .loc 12 639 0 ; promotion.jl:639:0 + v_cmpx_eq_u32_e32 0, v4 +.Ltmp44: + .loc 9 93 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93:0 + s_cbranch_execz .LBB0_11 +; %bb.10: ; %L389 +.Ltmp45: + .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + v_lshrrev_b32_e32 v6, 2, v0 +.Ltmp46: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + v_add_f32_e32 v5, v3, v5 + s_delay_alu instid0(VALU_DEP_1) +.Ltmp47: + .file 13 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl" + .loc 13 93 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93:0 + v_dual_mov_b32 v6, v5 :: v_dual_and_b32 v3, 0xf8, v6 + ds_store_b64 v3, v[5:6] +.Ltmp48: +.LBB0_11: ; %L395 + .loc 13 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:0:0 + s_or_b32 exec_lo, exec_lo, s9 + s_delay_alu instid0(SALU_CYCLE_1) + .loc 9 98 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 + s_mov_b32 s9, exec_lo +.Ltmp49: + .file 14 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl" + .loc 14 6 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6:0 + s_waitcnt lgkmcnt(0) + s_waitcnt_vscnt null, 0x0 + s_barrier +.Ltmp50: + ; implicit-def: $vgpr3 + .loc 2 513 0 ; int.jl:513:0 + v_cmpx_gt_u32_e32 8, v0 +.Ltmp51: + .loc 9 98 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 + s_xor_b32 s9, exec_lo, s9 + s_cbranch_execz .LBB0_13 +; %bb.12: ; %guard_pass37 +.Ltmp52: + .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + v_lshlrev_b32_e32 v3, 3, v4 + ds_load_b64 v[3:4], v3 +.Ltmp53: +.LBB0_13: ; %Flow + .loc 9 98 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 + s_and_not1_saveexec_b32 s9, s9 + s_cbranch_execz .LBB0_15 +; %bb.14: ; %guard_pass41 + .loc 9 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:0:0 + s_waitcnt lgkmcnt(0) + v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v3, s8 +.LBB0_15: ; %L422 + s_or_b32 exec_lo, exec_lo, s9 + s_mov_b32 s9, -1 + s_mov_b32 s10, s6 + .loc 9 99 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99:0 + s_mov_b32 s8, exec_lo +.Ltmp54: + .loc 12 639 0 ; promotion.jl:639:0 + v_cmpx_gt_u32_e32 32, v0 + s_cbranch_execz .LBB0_20 +.Ltmp55: +; %bb.16: ; %guard_exit46 + .loc 8 106 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106:0 + v_mbcnt_lo_u32_b32 v0, exec_lo, 0 + s_mov_b32 s9, 0 + s_mov_b32 s10, s6 +.Ltmp56: + .loc 3 756 0 ; boot.jl:756:0 + s_mov_b32 s11, exec_lo + s_delay_alu instid0(VALU_DEP_1) +.Ltmp57: + .loc 3 741 0 ; boot.jl:741:0 + v_cmpx_gt_i32_e32 0, v0 +.Ltmp58: + .loc 3 756 0 ; boot.jl:756:0 + s_xor_b32 s11, exec_lo, s11 + s_cbranch_execnz .LBB0_35 +; %bb.17: ; %Flow19 + s_and_not1_saveexec_b32 s11, s11 + s_cbranch_execz .LBB0_19 +.Ltmp59: +.LBB0_18: ; %L452 + .loc 2 347 0 ; int.jl:347:0 + v_and_b32_e32 v5, 31, v0 + s_mov_b32 s9, exec_lo + s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) +.Ltmp60: + .loc 2 87 0 ; int.jl:87:0 + v_add_nc_u32_e32 v6, 16, v5 +.Ltmp61: + .loc 2 515 0 ; int.jl:515:0 + v_cmp_gt_u32_e32 vcc_lo, 32, v6 + v_cndmask_b32_e64 v6, 0, 1, vcc_lo + s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) +.Ltmp62: + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v6, 4, v6 +.Ltmp63: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v6, v6, v0, 2 +.Ltmp64: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + s_waitcnt lgkmcnt(0) + ds_bpermute_b32 v7, v6, v3 + ds_bpermute_b32 v6, v6, v4 +.Ltmp65: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(1) + v_dual_add_f32 v3, v7, v3 :: v_dual_add_nc_u32 v8, 8, v5 + s_waitcnt lgkmcnt(0) + v_add_f32_e32 v4, v6, v4 + s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1) +.Ltmp66: + .loc 2 515 0 ; int.jl:515:0 + v_cmp_gt_u32_e32 vcc_lo, 32, v8 + v_cndmask_b32_e64 v8, 0, 1, vcc_lo +.Ltmp67: + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v8, 3, v8 + s_delay_alu instid0(VALU_DEP_1) +.Ltmp68: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v8, v8, v0, 2 +.Ltmp69: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v7, v8, v4 + ds_bpermute_b32 v6, v8, v3 +.Ltmp70: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(1) + v_add_f32_e32 v4, v4, v7 + s_waitcnt lgkmcnt(0) + v_dual_add_f32 v3, v3, v6 :: v_dual_add_nc_u32 v8, 4, v5 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) +.Ltmp71: + .loc 2 515 0 ; int.jl:515:0 + v_cmp_gt_u32_e32 vcc_lo, 32, v8 + v_cndmask_b32_e64 v8, 0, 1, vcc_lo +.Ltmp72: + .loc 10 796 0 ; essentials.jl:796:0 + v_lshlrev_b32_e32 v8, 2, v8 + s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_4) | instid1(VALU_DEP_2) +.Ltmp73: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v8, v8, v0, 2 +.Ltmp74: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v6, v8, v3 + ds_bpermute_b32 v7, v8, v4 +.Ltmp75: + .loc 2 87 0 ; int.jl:87:0 + v_add_nc_u32_e32 v8, 2, v5 + v_add_nc_u32_e32 v5, 1, v5 +.Ltmp76: + .loc 2 515 0 ; int.jl:515:0 + v_cmp_gt_u32_e32 vcc_lo, 32, v8 + v_cndmask_b32_e64 v8, 0, 1, vcc_lo + s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_2) + v_cmp_gt_u32_e32 vcc_lo, 32, v5 +.Ltmp77: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(1) + v_dual_add_f32 v3, v3, v6 :: v_dual_lshlrev_b32 v8, 1, v8 + s_waitcnt lgkmcnt(0) + v_add_f32_e32 v4, v4, v7 + s_delay_alu instid0(VALU_DEP_2) +.Ltmp78: + .loc 2 529 0 ; int.jl:529:0 + v_add_lshl_u32 v8, v8, v0, 2 +.Ltmp79: + .loc 10 796 0 ; essentials.jl:796:0 + v_add_co_ci_u32_e32 v0, vcc_lo, 0, v0, vcc_lo +.Ltmp80: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v6, v8, v3 + ds_bpermute_b32 v7, v8, v4 +.Ltmp81: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(1) + v_dual_add_f32 v3, v3, v6 :: v_dual_lshlrev_b32 v0, 2, v0 + s_waitcnt lgkmcnt(0) + v_add_f32_e32 v4, v4, v7 +.Ltmp82: + .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 + ds_bpermute_b32 v5, v0, v3 + ds_bpermute_b32 v0, v0, v4 +.Ltmp83: + .loc 11 491 0 ; float.jl:491:0 + s_waitcnt lgkmcnt(0) + v_dual_add_f32 v3, v3, v5 :: v_dual_add_f32 v4, v4, v0 +.Ltmp84: +.LBB0_19: ; %Flow20 + .loc 11 0 0 is_stmt 0 ; float.jl:0:0 + s_or_b32 exec_lo, exec_lo, s11 + s_delay_alu instid0(SALU_CYCLE_1) + s_and_not1_b32 s11, s6, exec_lo + s_and_b32 s10, s10, exec_lo + s_or_not1_b32 s9, s9, exec_lo + s_or_b32 s10, s11, s10 +.LBB0_20: ; %Flow18 + s_or_b32 exec_lo, exec_lo, s8 + .loc 9 99 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99:0 + s_and_saveexec_b32 s8, s9 + s_cbranch_execz .LBB0_30 +.Ltmp85: +; %bb.21: ; %L522 + .loc 9 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:0:0 + s_mov_b32 s11, s10 + .loc 5 21 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:21:0 + s_mov_b32 s9, exec_lo +.Ltmp86: + .loc 12 639 0 ; promotion.jl:639:0 + v_cmpx_eq_u64_e32 1, v[1:2] + s_cbranch_execz .LBB0_29 +.Ltmp87: +; %bb.22: ; %L526 + .loc 12 0 0 is_stmt 0 ; promotion.jl:0:0 + s_load_b64 s[12:13], s[0:1], 0x68 +.Ltmp88: + .loc 2 513 0 is_stmt 1 ; int.jl:513:0 + s_waitcnt lgkmcnt(0) + s_cmp_lg_u64 s[12:13], 0 + s_cbranch_scc0 .LBB0_26 +.Ltmp89: +; %bb.23: ; %L544 + .loc 2 0 0 is_stmt 0 ; int.jl:0:0 + s_load_b64 s[12:13], s[0:1], 0x70 + v_dual_mov_b32 v0, 0 :: v_dual_add_f32 v1, v4, v3 + s_mov_b32 s0, 0 +.Ltmp90: + .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + s_waitcnt lgkmcnt(0) + global_store_b32 v0, v1, s[12:13] + s_branch .LBB0_27 +.Ltmp91: +.LBB0_24: ; %L247 + .loc 7 39 0 is_stmt 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + v_dual_mov_b32 v3, s4 :: v_dual_mov_b32 v6, 1 + v_dual_mov_b32 v5, 0 :: v_dual_mov_b32 v4, s5 +.Ltmp92: + .file 15 "." "pointer.jl" + .loc 15 180 0 is_stmt 1 ; pointer.jl:180:0 + s_clause 0x3 + flat_store_b8 v[3:4], v5 offset:3 + flat_store_b8 v[3:4], v5 offset:2 + flat_store_b8 v[3:4], v5 offset:1 + flat_store_b8 v[3:4], v6 +.Ltmp93: + .file 16 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl" + .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 + s_endpgm + s_mov_b32 s3, exec_lo + s_branch .LBB0_3 +.Ltmp94: +.LBB0_25: ; %L292 + .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + s_waitcnt vmcnt(0) + v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, 1 + v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s5 +.Ltmp95: + .loc 15 180 0 ; pointer.jl:180:0 + s_clause 0x3 + flat_store_b8 v[0:1], v2 offset:3 + flat_store_b8 v[0:1], v2 offset:2 + flat_store_b8 v[0:1], v2 offset:1 + flat_store_b8 v[0:1], v3 +.Ltmp96: + .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 + s_endpgm + s_or_b32 s6, s3, exec_lo +.Ltmp97: + ; implicit-def: $vgpr0 + ; implicit-def: $vgpr1_vgpr2 + ; implicit-def: $vgpr4 + ; implicit-def: $vgpr3 + .loc 3 756 0 ; boot.jl:756:0 + s_and_not1_saveexec_b32 s7, s7 + s_cbranch_execz .LBB0_31 + s_branch .LBB0_9 +.Ltmp98: +.LBB0_26: + .loc 3 0 0 is_stmt 0 ; boot.jl:0:0 + s_mov_b32 s0, -1 +.LBB0_27: ; %Flow23 + s_delay_alu instid0(SALU_CYCLE_1) +.Ltmp99: + .loc 6 699 0 is_stmt 1 ; abstractarray.jl:699:0 + s_and_not1_b32 vcc_lo, exec_lo, s0 + s_mov_b32 s0, s10 + s_cbranch_vccz .LBB0_36 +.Ltmp100: +.LBB0_28: ; %Flow24 + .loc 6 0 0 is_stmt 0 ; abstractarray.jl:0:0 + s_and_not1_b32 s1, s10, exec_lo + s_and_b32 s0, s0, exec_lo + s_delay_alu instid0(SALU_CYCLE_1) + s_or_b32 s11, s1, s0 +.LBB0_29: ; %Flow22 + s_or_b32 exec_lo, exec_lo, s9 + s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) + s_and_not1_b32 s0, s10, exec_lo + s_and_b32 s1, s11, exec_lo + s_or_b32 s10, s0, s1 +.LBB0_30: ; %Flow21 + s_or_b32 exec_lo, exec_lo, s8 + s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) + s_and_not1_b32 s0, s6, exec_lo + s_and_b32 s1, s10, exec_lo + s_or_b32 s6, s0, s1 +.LBB0_31: ; %Flow17 + s_or_b32 exec_lo, exec_lo, s7 + s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) + s_and_not1_b32 s0, s3, exec_lo + s_and_b32 s1, s6, exec_lo + s_or_b32 s3, s0, s1 +.LBB0_32: ; %Flow15 + s_or_b32 exec_lo, exec_lo, s2 + s_delay_alu instid0(SALU_CYCLE_1) + .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 + s_and_b32 exec_lo, exec_lo, s3 +; %bb.33: ; %UnifiedUnreachableBlock + ; divergent unreachable +.LBB0_34: ; %UnifiedReturnBlock + .loc 5 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:0:0 + s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) + s_endpgm +.LBB0_35: ; %L438 + s_waitcnt lgkmcnt(0) + v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v3, s4 +.Ltmp101: + .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + v_dual_mov_b32 v4, s5 :: v_dual_mov_b32 v5, 1 +.Ltmp102: + .loc 15 180 0 ; pointer.jl:180:0 + s_clause 0x3 + flat_store_b8 v[3:4], v0 offset:3 + flat_store_b8 v[3:4], v0 offset:2 + flat_store_b8 v[3:4], v0 offset:1 + flat_store_b8 v[3:4], v5 +.Ltmp103: + .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 + s_endpgm + s_or_b32 s10, s6, exec_lo +.Ltmp104: + ; implicit-def: $vgpr0 + ; implicit-def: $vgpr3 + .loc 3 756 0 ; boot.jl:756:0 + s_and_not1_saveexec_b32 s11, s11 + s_cbranch_execz .LBB0_19 + s_branch .LBB0_18 +.Ltmp105: +.LBB0_36: ; %L541 + .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 + v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, 1 + v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s5 +.Ltmp106: + .loc 15 180 0 ; pointer.jl:180:0 + s_clause 0x3 + flat_store_b8 v[0:1], v2 offset:3 + flat_store_b8 v[0:1], v2 offset:2 + flat_store_b8 v[0:1], v2 offset:1 + flat_store_b8 v[0:1], v3 +.Ltmp107: + .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 + s_endpgm + s_or_b32 s0, s10, exec_lo + s_branch .LBB0_28 +.Ltmp108: + .section .rodata,#alloc + .p2align 6, 0x0 + .amdhsa_kernel _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ + .amdhsa_group_segment_fixed_size 256 + .amdhsa_private_segment_fixed_size 0 + .amdhsa_kernarg_size 156 + .amdhsa_user_sgpr_count 15 + .amdhsa_user_sgpr_dispatch_ptr 0 + .amdhsa_user_sgpr_queue_ptr 0 + .amdhsa_user_sgpr_kernarg_segment_ptr 1 + .amdhsa_user_sgpr_dispatch_id 0 + .amdhsa_user_sgpr_private_segment_size 0 + .amdhsa_wavefront_size32 1 + .amdhsa_enable_private_segment 0 + .amdhsa_system_sgpr_workgroup_id_x 1 + .amdhsa_system_sgpr_workgroup_id_y 0 + .amdhsa_system_sgpr_workgroup_id_z 0 + .amdhsa_system_sgpr_workgroup_info 0 + .amdhsa_system_vgpr_workitem_id 0 + .amdhsa_next_free_vgpr 9 + .amdhsa_next_free_sgpr 16 + .amdhsa_float_round_mode_32 0 + .amdhsa_float_round_mode_16_64 0 + .amdhsa_float_denorm_mode_32 3 + .amdhsa_float_denorm_mode_16_64 3 + .amdhsa_dx10_clamp 1 + .amdhsa_ieee_mode 1 + .amdhsa_fp16_overflow 0 + .amdhsa_workgroup_processor_mode 1 + .amdhsa_memory_ordered 1 + .amdhsa_forward_progress 0 + .amdhsa_shared_vgpr_count 0 + .amdhsa_exception_fp_ieee_invalid_op 0 + .amdhsa_exception_fp_denorm_src 0 + .amdhsa_exception_fp_ieee_div_zero 0 + .amdhsa_exception_fp_ieee_overflow 0 + .amdhsa_exception_fp_ieee_underflow 0 + .amdhsa_exception_fp_ieee_inexact 0 + .amdhsa_exception_int_div_zero 0 + .end_amdhsa_kernel + .text +.Lfunc_end0: + .size _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_, .Lfunc_end0-_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ + .cfi_endproc + .file 17 "." "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl" + .file 18 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl" + .file 19 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl" + .file 20 "." "indices.jl" + .file 21 "." "number.jl" + .file 22 "." "ntuple.jl" + .file 23 "." "multidimensional.jl" + .file 24 "." "tuple.jl" + .file 25 "." "range.jl" + .file 26 "." "operators.jl" + .file 27 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl" + .file 28 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl" + .file 29 "." "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl" + .file 30 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl" + ; -- End function + .section .AMDGPU.csdata +; Kernel info: +; codeLenInByte = 1640 +; NumSgprs: 18 +; NumVgprs: 9 +; ScratchSize: 0 +; MemoryBound: 0 +; FloatMode: 240 +; IeeeMode: 1 +; LDSByteSize: 256 bytes/workgroup (compile time only) +; SGPRBlocks: 2 +; VGPRBlocks: 1 +; NumSGPRsForWavesPerEU: 18 +; NumVGPRsForWavesPerEU: 9 +; Occupancy: 16 +; WaveLimiterHint : 0 +; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0 +; COMPUTE_PGM_RSRC2:USER_SGPR: 15 +; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0 +; COMPUTE_PGM_RSRC2:TGID_X_EN: 1 +; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0 +; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0 +; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0 + .text + .p2alignl 7, 3214868480 + .fill 96, 4, 3214868480 + .section .debug_abbrev + .byte 1 ; Abbreviation Code + .byte 17 ; DW_TAG_compile_unit + .byte 1 ; DW_CHILDREN_yes + .byte 37 ; DW_AT_producer + .byte 14 ; DW_FORM_strp + .byte 19 ; DW_AT_language + .byte 5 ; DW_FORM_data2 + .byte 3 ; DW_AT_name + .byte 14 ; DW_FORM_strp + .byte 16 ; DW_AT_stmt_list + .byte 23 ; DW_FORM_sec_offset + .byte 27 ; DW_AT_comp_dir + .byte 14 ; DW_FORM_strp + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 2 ; Abbreviation Code + .byte 46 ; DW_TAG_subprogram + .byte 0 ; DW_CHILDREN_no + .byte 3 ; DW_AT_name + .byte 14 ; DW_FORM_strp + .byte 32 ; DW_AT_inline + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 3 ; Abbreviation Code + .byte 46 ; DW_TAG_subprogram + .byte 1 ; DW_CHILDREN_yes + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 3 ; DW_AT_name + .byte 14 ; DW_FORM_strp + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 4 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 5 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 85 ; DW_AT_ranges + .byte 23 ; DW_FORM_sec_offset + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 6 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 0 ; DW_CHILDREN_no + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 5 ; DW_FORM_data2 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 7 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 5 ; DW_FORM_data2 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 8 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 0 ; DW_CHILDREN_no + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 9 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 16 ; DW_FORM_ref_addr + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 5 ; DW_FORM_data2 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 10 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 16 ; DW_FORM_ref_addr + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 11 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 0 ; DW_CHILDREN_no + .byte 49 ; DW_AT_abstract_origin + .byte 16 ; DW_FORM_ref_addr + .byte 17 ; DW_AT_low_pc + .byte 1 ; DW_FORM_addr + .byte 18 ; DW_AT_high_pc + .byte 6 ; DW_FORM_data4 + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 12 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 1 ; DW_CHILDREN_yes + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 85 ; DW_AT_ranges + .byte 23 ; DW_FORM_sec_offset + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 5 ; DW_FORM_data2 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 13 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 0 ; DW_CHILDREN_no + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 85 ; DW_AT_ranges + .byte 23 ; DW_FORM_sec_offset + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 11 ; DW_FORM_data1 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 14 ; Abbreviation Code + .byte 29 ; DW_TAG_inlined_subroutine + .byte 0 ; DW_CHILDREN_no + .byte 49 ; DW_AT_abstract_origin + .byte 19 ; DW_FORM_ref4 + .byte 85 ; DW_AT_ranges + .byte 23 ; DW_FORM_sec_offset + .byte 88 ; DW_AT_call_file + .byte 11 ; DW_FORM_data1 + .byte 89 ; DW_AT_call_line + .byte 5 ; DW_FORM_data2 + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 15 ; Abbreviation Code + .byte 17 ; DW_TAG_compile_unit + .byte 1 ; DW_CHILDREN_yes + .byte 37 ; DW_AT_producer + .byte 14 ; DW_FORM_strp + .byte 19 ; DW_AT_language + .byte 5 ; DW_FORM_data2 + .byte 3 ; DW_AT_name + .byte 14 ; DW_FORM_strp + .byte 16 ; DW_AT_stmt_list + .byte 23 ; DW_FORM_sec_offset + .byte 27 ; DW_AT_comp_dir + .byte 14 ; DW_FORM_strp + .byte 0 ; EOM(1) + .byte 0 ; EOM(2) + .byte 0 ; EOM(3) + .section .debug_info +.Lcu_begin0: + .long .Ldebug_info_end0-.Ldebug_info_start0 ; Length of Unit +.Ldebug_info_start0: + .short 4 ; DWARF version number + .long .debug_abbrev ; Offset Into Abbrev. Section + .byte 8 ; Address Size (in bytes) + .byte 1 ; Abbrev [1] 0xb:0xc06 DW_TAG_compile_unit + .long .Linfo_string0 ; DW_AT_producer + .short 31 ; DW_AT_language + .long .Linfo_string0 ; DW_AT_name + .long .Lline_table_start0 ; DW_AT_stmt_list + .long .Linfo_string1 ; DW_AT_comp_dir + .quad .Lfunc_begin0 ; DW_AT_low_pc + .long .Lfunc_end0-.Lfunc_begin0 ; DW_AT_high_pc + .byte 2 ; Abbrev [2] 0x2a:0x6 DW_TAG_subprogram + .long .Linfo_string2 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x30:0x6 DW_TAG_subprogram + .long .Linfo_string3 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x36:0x6 DW_TAG_subprogram + .long .Linfo_string4 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x3c:0x6 DW_TAG_subprogram + .long .Linfo_string5 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x42:0x6 DW_TAG_subprogram + .long .Linfo_string6 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x48:0x6 DW_TAG_subprogram + .long .Linfo_string7 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x4e:0x6 DW_TAG_subprogram + .long .Linfo_string8 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x54:0x6 DW_TAG_subprogram + .long .Linfo_string9 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x5a:0x6 DW_TAG_subprogram + .long .Linfo_string10 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x60:0x6 DW_TAG_subprogram + .long .Linfo_string11 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x66:0x6 DW_TAG_subprogram + .long .Linfo_string12 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x6c:0x6 DW_TAG_subprogram + .long .Linfo_string13 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x72:0x6 DW_TAG_subprogram + .long .Linfo_string14 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x78:0x6 DW_TAG_subprogram + .long .Linfo_string15 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x7e:0x6 DW_TAG_subprogram + .long .Linfo_string16 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x84:0x6 DW_TAG_subprogram + .long .Linfo_string17 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x8a:0x6 DW_TAG_subprogram + .long .Linfo_string18 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x90:0x6 DW_TAG_subprogram + .long .Linfo_string19 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x96:0x6 DW_TAG_subprogram + .long .Linfo_string20 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x9c:0x6 DW_TAG_subprogram + .long .Linfo_string19 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xa2:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xa8:0x6 DW_TAG_subprogram + .long .Linfo_string22 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xae:0x6 DW_TAG_subprogram + .long .Linfo_string23 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xb4:0x6 DW_TAG_subprogram + .long .Linfo_string24 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xba:0x6 DW_TAG_subprogram + .long .Linfo_string25 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xc0:0x6 DW_TAG_subprogram + .long .Linfo_string26 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xc6:0x6 DW_TAG_subprogram + .long .Linfo_string27 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xcc:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xd2:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xd8:0x6 DW_TAG_subprogram + .long .Linfo_string28 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xde:0x6 DW_TAG_subprogram + .long .Linfo_string29 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xe4:0x6 DW_TAG_subprogram + .long .Linfo_string30 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xea:0x6 DW_TAG_subprogram + .long .Linfo_string31 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xf0:0x6 DW_TAG_subprogram + .long .Linfo_string32 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xf6:0x6 DW_TAG_subprogram + .long .Linfo_string33 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0xfc:0x6 DW_TAG_subprogram + .long .Linfo_string31 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x102:0x6 DW_TAG_subprogram + .long .Linfo_string31 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x108:0x6 DW_TAG_subprogram + .long .Linfo_string34 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x10e:0x6 DW_TAG_subprogram + .long .Linfo_string35 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x114:0x6 DW_TAG_subprogram + .long .Linfo_string36 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x11a:0x6 DW_TAG_subprogram + .long .Linfo_string37 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x120:0x6 DW_TAG_subprogram + .long .Linfo_string38 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x126:0x6 DW_TAG_subprogram + .long .Linfo_string39 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x12c:0x6 DW_TAG_subprogram + .long .Linfo_string40 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x132:0x6 DW_TAG_subprogram + .long .Linfo_string41 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x138:0x6 DW_TAG_subprogram + .long .Linfo_string42 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x13e:0x6 DW_TAG_subprogram + .long .Linfo_string2 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x144:0x6 DW_TAG_subprogram + .long .Linfo_string2 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x14a:0x6 DW_TAG_subprogram + .long .Linfo_string43 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x150:0x6 DW_TAG_subprogram + .long .Linfo_string44 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x156:0x6 DW_TAG_subprogram + .long .Linfo_string45 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x15c:0x6 DW_TAG_subprogram + .long .Linfo_string46 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x162:0x6 DW_TAG_subprogram + .long .Linfo_string47 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x168:0x6 DW_TAG_subprogram + .long .Linfo_string48 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x16e:0x6 DW_TAG_subprogram + .long .Linfo_string49 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x174:0x6 DW_TAG_subprogram + .long .Linfo_string50 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x17a:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x180:0x6 DW_TAG_subprogram + .long .Linfo_string22 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x186:0x6 DW_TAG_subprogram + .long .Linfo_string51 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 3 ; Abbrev [3] 0x18c:0xa84 DW_TAG_subprogram + .quad .Lfunc_begin0 ; DW_AT_low_pc + .long .Lfunc_end0-.Lfunc_begin0 ; DW_AT_high_pc + .long .Linfo_string58 ; DW_AT_name + .byte 4 ; Abbrev [4] 0x19d:0xa72 DW_TAG_inlined_subroutine + .long 72 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp108-.Ltmp0 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x1b0:0x1dd DW_TAG_inlined_subroutine + .long 66 ; DW_AT_abstract_origin + .long .Ldebug_ranges0 ; DW_AT_ranges + .byte 4 ; DW_AT_call_file + .byte 96 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x1bb:0x64 DW_TAG_inlined_subroutine + .long 60 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc + .byte 17 ; DW_AT_call_file + .byte 141 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x1ce:0x50 DW_TAG_inlined_subroutine + .long 54 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc + .byte 18 ; DW_AT_call_file + .byte 164 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x1e1:0x3c DW_TAG_inlined_subroutine + .long 48 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc + .byte 18 ; DW_AT_call_file + .byte 89 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x1f4:0x28 DW_TAG_inlined_subroutine + .long 42 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc + .byte 18 ; DW_AT_call_file + .byte 87 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x207:0x14 DW_TAG_inlined_subroutine + .long 42 ; DW_AT_abstract_origin + .quad .Ltmp0 ; DW_AT_low_pc + .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc + .byte 2 ; DW_AT_call_file + .short 1013 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x21f:0x11b DW_TAG_inlined_subroutine + .long 114 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp4-.Ltmp1 ; DW_AT_high_pc + .byte 17 ; DW_AT_call_file + .byte 141 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x232:0xa5 DW_TAG_inlined_subroutine + .long 108 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 19 ; DW_AT_call_file + .byte 121 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x245:0x91 DW_TAG_inlined_subroutine + .long 102 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 1312 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x259:0x7c DW_TAG_inlined_subroutine + .long 102 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 20 ; DW_AT_call_file + .short 365 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x26d:0x67 DW_TAG_inlined_subroutine + .long 96 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 20 ; DW_AT_call_file + .short 368 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x281:0x52 DW_TAG_inlined_subroutine + .long 96 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 20 ; DW_AT_call_file + .short 292 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x295:0x3d DW_TAG_inlined_subroutine + .long 90 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 20 ; DW_AT_call_file + .short 307 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x2a9:0x28 DW_TAG_inlined_subroutine + .long 84 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 21 ; DW_AT_call_file + .byte 7 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x2bc:0x14 DW_TAG_inlined_subroutine + .long 78 ; DW_AT_abstract_origin + .quad .Ltmp1 ; DW_AT_low_pc + .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc + .byte 3 ; DW_AT_call_file + .short 892 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x2d7:0x62 DW_TAG_inlined_subroutine + .long 114 ; DW_AT_abstract_origin + .quad .Ltmp2 ; DW_AT_low_pc + .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc + .byte 19 ; DW_AT_call_file + .byte 121 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x2ea:0x4e DW_TAG_inlined_subroutine + .long 132 ; DW_AT_abstract_origin + .quad .Ltmp2 ; DW_AT_low_pc + .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc + .byte 19 ; DW_AT_call_file + .byte 75 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x2fd:0x3a DW_TAG_inlined_subroutine + .long 126 ; DW_AT_abstract_origin + .quad .Ltmp2 ; DW_AT_low_pc + .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc + .byte 22 ; DW_AT_call_file + .byte 48 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x310:0x13 DW_TAG_inlined_subroutine + .long 120 ; DW_AT_abstract_origin + .quad .Ltmp2 ; DW_AT_low_pc + .long .Ltmp3-.Ltmp2 ; DW_AT_high_pc + .byte 19 ; DW_AT_call_file + .byte 79 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x323:0x13 DW_TAG_inlined_subroutine + .long 42 ; DW_AT_abstract_origin + .quad .Ltmp3 ; DW_AT_low_pc + .long .Ltmp4-.Ltmp3 ; DW_AT_high_pc + .byte 19 ; DW_AT_call_file + .byte 79 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x33a:0x52 DW_TAG_inlined_subroutine + .long 156 ; DW_AT_abstract_origin + .quad .Ltmp5 ; DW_AT_low_pc + .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc + .byte 17 ; DW_AT_call_file + .byte 142 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x34d:0x3e DW_TAG_inlined_subroutine + .long 150 ; DW_AT_abstract_origin + .quad .Ltmp5 ; DW_AT_low_pc + .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc + .byte 23 ; DW_AT_call_file + .short 477 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x361:0x29 DW_TAG_inlined_subroutine + .long 144 ; DW_AT_abstract_origin + .quad .Ltmp5 ; DW_AT_low_pc + .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc + .byte 24 ; DW_AT_call_file + .short 382 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x375:0x14 DW_TAG_inlined_subroutine + .long 138 ; DW_AT_abstract_origin + .quad .Ltmp5 ; DW_AT_low_pc + .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc + .byte 25 ; DW_AT_call_file + .short 1426 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x38d:0x881 DW_TAG_inlined_subroutine + .long 162 ; DW_AT_abstract_origin + .quad .Ltmp7 ; DW_AT_low_pc + .long .Ltmp108-.Ltmp7 ; DW_AT_high_pc + .byte 4 ; DW_AT_call_file + .byte 97 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x3a0:0x28 DW_TAG_inlined_subroutine + .long 174 ; DW_AT_abstract_origin + .quad .Ltmp8 ; DW_AT_low_pc + .long .Ltmp9-.Ltmp8 ; DW_AT_high_pc + .byte 5 ; DW_AT_call_file + .byte 16 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x3b3:0x14 DW_TAG_inlined_subroutine + .long 168 ; DW_AT_abstract_origin + .quad .Ltmp8 ; DW_AT_low_pc + .long .Ltmp9-.Ltmp8 ; DW_AT_high_pc + .byte 26 ; DW_AT_call_file + .short 379 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0x3c8:0x16b DW_TAG_inlined_subroutine + .long 198 ; DW_AT_abstract_origin + .long .Ldebug_ranges1 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 16 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x3d3:0x110 DW_TAG_inlined_subroutine + .long 192 ; DW_AT_abstract_origin + .long .Ldebug_ranges2 ; DW_AT_ranges + .byte 13 ; DW_AT_call_file + .byte 84 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x3de:0x52 DW_TAG_inlined_subroutine + .long 192 ; DW_AT_abstract_origin + .quad .Ltmp10 ; DW_AT_low_pc + .long .Ltmp12-.Ltmp10 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 699 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x3f2:0x3d DW_TAG_inlined_subroutine + .long 186 ; DW_AT_abstract_origin + .quad .Ltmp10 ; DW_AT_low_pc + .long .Ltmp12-.Ltmp10 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 689 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x406:0x14 DW_TAG_inlined_subroutine + .long 180 ; DW_AT_abstract_origin + .quad .Ltmp10 ; DW_AT_low_pc + .long .Ltmp11-.Ltmp10 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 754 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x41a:0x14 DW_TAG_inlined_subroutine + .long 168 ; DW_AT_abstract_origin + .quad .Ltmp11 ; DW_AT_low_pc + .long .Ltmp12-.Ltmp11 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 754 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 9 ; Abbrev [9] 0x430:0xb2 DW_TAG_inlined_subroutine + .long .debug_info+3192 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp94-.Ltmp91 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 699 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x444:0x9d DW_TAG_inlined_subroutine + .long .debug_info+3143 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp94-.Ltmp91 ; DW_AT_high_pc + .byte 27 ; DW_AT_call_file + .byte 8 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x457:0x4f DW_TAG_inlined_subroutine + .long .debug_info+3137 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x46a:0x3b DW_TAG_inlined_subroutine + .long .debug_info+3131 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 11 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x47d:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3125 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x490:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3119 ; DW_AT_abstract_origin + .quad .Ltmp91 ; DW_AT_low_pc + .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 10 ; Abbrev [10] 0x4a6:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp92 ; DW_AT_low_pc + .long .Ltmp93-.Ltmp92 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x4b9:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp92 ; DW_AT_low_pc + .long .Ltmp93-.Ltmp92 ; DW_AT_high_pc + .byte 15 ; DW_AT_call_file + .byte 180 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 11 ; Abbrev [11] 0x4cd:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3155 ; DW_AT_abstract_origin + .quad .Ltmp93 ; DW_AT_low_pc + .long .Ltmp94-.Ltmp93 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 115 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x4e3:0x4f DW_TAG_inlined_subroutine + .long 222 ; DW_AT_abstract_origin + .quad .Ltmp14 ; DW_AT_low_pc + .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc + .byte 13 ; DW_AT_call_file + .byte 86 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x4f6:0x3b DW_TAG_inlined_subroutine + .long 216 ; DW_AT_abstract_origin + .quad .Ltmp14 ; DW_AT_low_pc + .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc + .byte 29 ; DW_AT_call_file + .byte 85 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x509:0x27 DW_TAG_inlined_subroutine + .long 210 ; DW_AT_abstract_origin + .quad .Ltmp14 ; DW_AT_low_pc + .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x51c:0x13 DW_TAG_inlined_subroutine + .long 204 ; DW_AT_abstract_origin + .quad .Ltmp14 ; DW_AT_low_pc + .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0x533:0x570 DW_TAG_inlined_subroutine + .long 270 ; DW_AT_abstract_origin + .long .Ldebug_ranges3 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 19 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x53e:0x1d9 DW_TAG_inlined_subroutine + .long 264 ; DW_AT_abstract_origin + .long .Ldebug_ranges4 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 92 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x549:0x1b6 DW_TAG_inlined_subroutine + .long 258 ; DW_AT_abstract_origin + .long .Ldebug_ranges5 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 78 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x554:0x1aa DW_TAG_inlined_subroutine + .long 252 ; DW_AT_abstract_origin + .long .Ldebug_ranges6 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 12 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x55f:0x19e DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges7 ; DW_AT_ranges + .byte 17 ; DW_AT_call_file + .byte 174 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x56a:0x192 DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges8 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 360 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x576:0x185 DW_TAG_inlined_subroutine + .long 246 ; DW_AT_abstract_origin + .long .Ldebug_ranges9 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 360 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x582:0x178 DW_TAG_inlined_subroutine + .long 240 ; DW_AT_abstract_origin + .long .Ldebug_ranges10 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 228 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x58d:0x16c DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges11 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 361 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x599:0x13 DW_TAG_inlined_subroutine + .long 228 ; DW_AT_abstract_origin + .quad .Ltmp16 ; DW_AT_low_pc + .long .Ltmp17-.Ltmp16 ; DW_AT_high_pc + .byte 8 ; DW_AT_call_file + .byte 249 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x5ac:0xf8 DW_TAG_inlined_subroutine + .long 90 ; DW_AT_abstract_origin + .long .Ldebug_ranges12 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 249 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x5b7:0xec DW_TAG_inlined_subroutine + .long 288 ; DW_AT_abstract_origin + .long .Ldebug_ranges13 ; DW_AT_ranges + .byte 21 ; DW_AT_call_file + .byte 7 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x5c2:0xe0 DW_TAG_inlined_subroutine + .long 282 ; DW_AT_abstract_origin + .long .Ldebug_ranges14 ; DW_AT_ranges + .byte 3 ; DW_AT_call_file + .short 891 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x5ce:0xd3 DW_TAG_inlined_subroutine + .long 276 ; DW_AT_abstract_origin + .long .Ldebug_ranges15 ; DW_AT_ranges + .byte 3 ; DW_AT_call_file + .short 805 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x5da:0x14 DW_TAG_inlined_subroutine + .long 294 ; DW_AT_abstract_origin + .quad .Ltmp18 ; DW_AT_low_pc + .long .Ltmp19-.Ltmp18 ; DW_AT_high_pc + .byte 3 ; DW_AT_call_file + .short 756 ; DW_AT_call_line + .byte 9 ; Abbrev [9] 0x5ee:0xb2 DW_TAG_inlined_subroutine + .long .debug_info+3229 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp97-.Ltmp94 ; DW_AT_high_pc + .byte 3 ; DW_AT_call_file + .short 756 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x602:0x9d DW_TAG_inlined_subroutine + .long .debug_info+3143 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp97-.Ltmp94 ; DW_AT_high_pc + .byte 27 ; DW_AT_call_file + .byte 8 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x615:0x4f DW_TAG_inlined_subroutine + .long .debug_info+3137 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x628:0x3b DW_TAG_inlined_subroutine + .long .debug_info+3131 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 11 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x63b:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3125 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x64e:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3119 ; DW_AT_abstract_origin + .quad .Ltmp94 ; DW_AT_low_pc + .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 10 ; Abbrev [10] 0x664:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp95 ; DW_AT_low_pc + .long .Ltmp96-.Ltmp95 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x677:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp95 ; DW_AT_low_pc + .long .Ltmp96-.Ltmp95 ; DW_AT_high_pc + .byte 15 ; DW_AT_call_file + .byte 180 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 11 ; Abbrev [11] 0x68b:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3155 ; DW_AT_abstract_origin + .quad .Ltmp96 ; DW_AT_low_pc + .long .Ltmp97-.Ltmp96 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 115 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 13 ; Abbrev [13] 0x6a4:0xb DW_TAG_inlined_subroutine + .long 42 ; DW_AT_abstract_origin + .long .Ldebug_ranges16 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0x6af:0xb DW_TAG_inlined_subroutine + .long 300 ; DW_AT_abstract_origin + .long .Ldebug_ranges17 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0x6ba:0xb DW_TAG_inlined_subroutine + .long 306 ; DW_AT_abstract_origin + .long .Ldebug_ranges18 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 252 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0x6c5:0xb DW_TAG_inlined_subroutine + .long 312 ; DW_AT_abstract_origin + .long .Ldebug_ranges19 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 252 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x6d0:0x28 DW_TAG_inlined_subroutine + .long 330 ; DW_AT_abstract_origin + .quad .Ltmp38 ; DW_AT_low_pc + .long .Ltmp39-.Ltmp38 ; DW_AT_high_pc + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x6e3:0x14 DW_TAG_inlined_subroutine + .long 138 ; DW_AT_abstract_origin + .quad .Ltmp38 ; DW_AT_low_pc + .long .Ltmp39-.Ltmp38 ; DW_AT_high_pc + .byte 26 ; DW_AT_call_file + .short 426 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0x6ff:0x17 DW_TAG_inlined_subroutine + .long 324 ; DW_AT_abstract_origin + .long .Ldebug_ranges20 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 78 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0x70a:0xb DW_TAG_inlined_subroutine + .long 318 ; DW_AT_abstract_origin + .long .Ldebug_ranges21 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 10 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 8 ; Abbrev [8] 0x717:0x13 DW_TAG_inlined_subroutine + .long 336 ; DW_AT_abstract_origin + .quad .Ltmp42 ; DW_AT_low_pc + .long .Ltmp43-.Ltmp42 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 88 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x72a:0x28 DW_TAG_inlined_subroutine + .long 342 ; DW_AT_abstract_origin + .quad .Ltmp43 ; DW_AT_low_pc + .long .Ltmp44-.Ltmp43 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 93 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x73d:0x14 DW_TAG_inlined_subroutine + .long 342 ; DW_AT_abstract_origin + .quad .Ltmp43 ; DW_AT_low_pc + .long .Ltmp44-.Ltmp43 ; DW_AT_high_pc + .byte 12 ; DW_AT_call_file + .short 483 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0x752:0x5b DW_TAG_inlined_subroutine + .long 360 ; DW_AT_abstract_origin + .long .Ldebug_ranges22 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 93 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x75d:0x4f DW_TAG_inlined_subroutine + .long 354 ; DW_AT_abstract_origin + .quad .Ltmp45 ; DW_AT_low_pc + .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc + .byte 13 ; DW_AT_call_file + .byte 92 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x770:0x3b DW_TAG_inlined_subroutine + .long 348 ; DW_AT_abstract_origin + .quad .Ltmp45 ; DW_AT_low_pc + .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc + .byte 29 ; DW_AT_call_file + .byte 88 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x783:0x27 DW_TAG_inlined_subroutine + .long 210 ; DW_AT_abstract_origin + .quad .Ltmp45 ; DW_AT_low_pc + .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x796:0x13 DW_TAG_inlined_subroutine + .long 204 ; DW_AT_abstract_origin + .quad .Ltmp45 ; DW_AT_low_pc + .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x7ad:0x3c DW_TAG_inlined_subroutine + .long 378 ; DW_AT_abstract_origin + .quad .Ltmp49 ; DW_AT_low_pc + .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 94 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x7c0:0x28 DW_TAG_inlined_subroutine + .long 372 ; DW_AT_abstract_origin + .quad .Ltmp49 ; DW_AT_low_pc + .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc + .byte 30 ; DW_AT_call_file + .short 290 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x7d4:0x13 DW_TAG_inlined_subroutine + .long 366 ; DW_AT_abstract_origin + .quad .Ltmp49 ; DW_AT_low_pc + .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc + .byte 17 ; DW_AT_call_file + .byte 162 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x7e9:0x3d DW_TAG_inlined_subroutine + .long 168 ; DW_AT_abstract_origin + .quad .Ltmp50 ; DW_AT_low_pc + .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 97 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0x7fc:0x29 DW_TAG_inlined_subroutine + .long 384 ; DW_AT_abstract_origin + .quad .Ltmp50 ; DW_AT_low_pc + .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc + .byte 2 ; DW_AT_call_file + .short 520 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x810:0x14 DW_TAG_inlined_subroutine + .long 168 ; DW_AT_abstract_origin + .quad .Ltmp50 ; DW_AT_low_pc + .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc + .byte 12 ; DW_AT_call_file + .short 484 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x826:0x63 DW_TAG_inlined_subroutine + .long 198 ; DW_AT_abstract_origin + .quad .Ltmp52 ; DW_AT_low_pc + .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 98 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x839:0x4f DW_TAG_inlined_subroutine + .long 222 ; DW_AT_abstract_origin + .quad .Ltmp52 ; DW_AT_low_pc + .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc + .byte 13 ; DW_AT_call_file + .byte 86 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x84c:0x3b DW_TAG_inlined_subroutine + .long 216 ; DW_AT_abstract_origin + .quad .Ltmp52 ; DW_AT_low_pc + .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc + .byte 29 ; DW_AT_call_file + .byte 85 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0x85f:0x27 DW_TAG_inlined_subroutine + .long 210 ; DW_AT_abstract_origin + .quad .Ltmp52 ; DW_AT_low_pc + .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x872:0x13 DW_TAG_inlined_subroutine + .long 204 ; DW_AT_abstract_origin + .quad .Ltmp52 ; DW_AT_low_pc + .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0x889:0x28 DW_TAG_inlined_subroutine + .long 342 ; DW_AT_abstract_origin + .quad .Ltmp54 ; DW_AT_low_pc + .long .Ltmp55-.Ltmp54 ; DW_AT_high_pc + .byte 9 ; DW_AT_call_file + .byte 99 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x89c:0x14 DW_TAG_inlined_subroutine + .long 342 ; DW_AT_abstract_origin + .quad .Ltmp54 ; DW_AT_low_pc + .long .Ltmp55-.Ltmp54 ; DW_AT_high_pc + .byte 12 ; DW_AT_call_file + .short 483 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0x8b1:0x1f1 DW_TAG_inlined_subroutine + .long 264 ; DW_AT_abstract_origin + .long .Ldebug_ranges23 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 99 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x8bc:0x1ce DW_TAG_inlined_subroutine + .long 258 ; DW_AT_abstract_origin + .long .Ldebug_ranges24 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 78 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x8c7:0x1c2 DW_TAG_inlined_subroutine + .long 252 ; DW_AT_abstract_origin + .long .Ldebug_ranges25 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 12 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x8d2:0x1b6 DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges26 ; DW_AT_ranges + .byte 17 ; DW_AT_call_file + .byte 174 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x8dd:0x1aa DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges27 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 360 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x8e9:0x19d DW_TAG_inlined_subroutine + .long 246 ; DW_AT_abstract_origin + .long .Ldebug_ranges28 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 360 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x8f5:0x190 DW_TAG_inlined_subroutine + .long 240 ; DW_AT_abstract_origin + .long .Ldebug_ranges29 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 228 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x900:0x184 DW_TAG_inlined_subroutine + .long 234 ; DW_AT_abstract_origin + .long .Ldebug_ranges30 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .short 361 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0x90c:0x13 DW_TAG_inlined_subroutine + .long 228 ; DW_AT_abstract_origin + .quad .Ltmp55 ; DW_AT_low_pc + .long .Ltmp56-.Ltmp55 ; DW_AT_high_pc + .byte 8 ; DW_AT_call_file + .byte 249 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x91f:0xf8 DW_TAG_inlined_subroutine + .long 90 ; DW_AT_abstract_origin + .long .Ldebug_ranges31 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 249 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0x92a:0xec DW_TAG_inlined_subroutine + .long 288 ; DW_AT_abstract_origin + .long .Ldebug_ranges32 ; DW_AT_ranges + .byte 21 ; DW_AT_call_file + .byte 7 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x935:0xe0 DW_TAG_inlined_subroutine + .long 282 ; DW_AT_abstract_origin + .long .Ldebug_ranges33 ; DW_AT_ranges + .byte 3 ; DW_AT_call_file + .short 891 ; DW_AT_call_line + .byte 12 ; Abbrev [12] 0x941:0xd3 DW_TAG_inlined_subroutine + .long 276 ; DW_AT_abstract_origin + .long .Ldebug_ranges34 ; DW_AT_ranges + .byte 3 ; DW_AT_call_file + .short 805 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0x94d:0x14 DW_TAG_inlined_subroutine + .long 294 ; DW_AT_abstract_origin + .quad .Ltmp57 ; DW_AT_low_pc + .long .Ltmp58-.Ltmp57 ; DW_AT_high_pc + .byte 3 ; DW_AT_call_file + .short 756 ; DW_AT_call_line + .byte 9 ; Abbrev [9] 0x961:0xb2 DW_TAG_inlined_subroutine + .long .debug_info+3229 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp104-.Ltmp101 ; DW_AT_high_pc + .byte 3 ; DW_AT_call_file + .short 756 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x975:0x9d DW_TAG_inlined_subroutine + .long .debug_info+3143 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp104-.Ltmp101 ; DW_AT_high_pc + .byte 27 ; DW_AT_call_file + .byte 8 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x988:0x4f DW_TAG_inlined_subroutine + .long .debug_info+3137 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x99b:0x3b DW_TAG_inlined_subroutine + .long .debug_info+3131 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 11 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0x9ae:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3125 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x9c1:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3119 ; DW_AT_abstract_origin + .quad .Ltmp101 ; DW_AT_low_pc + .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 10 ; Abbrev [10] 0x9d7:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp102 ; DW_AT_low_pc + .long .Ltmp103-.Ltmp102 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0x9ea:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp102 ; DW_AT_low_pc + .long .Ltmp103-.Ltmp102 ; DW_AT_high_pc + .byte 15 ; DW_AT_call_file + .byte 180 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 11 ; Abbrev [11] 0x9fe:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3155 ; DW_AT_abstract_origin + .quad .Ltmp103 ; DW_AT_low_pc + .long .Ltmp104-.Ltmp103 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 115 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0xa17:0x28 DW_TAG_inlined_subroutine + .long 390 ; DW_AT_abstract_origin + .quad .Ltmp59 ; DW_AT_low_pc + .long .Ltmp60-.Ltmp59 ; DW_AT_high_pc + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0xa2a:0x14 DW_TAG_inlined_subroutine + .long 390 ; DW_AT_abstract_origin + .quad .Ltmp59 ; DW_AT_low_pc + .long .Ltmp60-.Ltmp59 ; DW_AT_high_pc + .byte 2 ; DW_AT_call_file + .short 1013 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 13 ; Abbrev [13] 0xa3f:0xb DW_TAG_inlined_subroutine + .long 42 ; DW_AT_abstract_origin + .long .Ldebug_ranges35 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0xa4a:0x18 DW_TAG_inlined_subroutine + .long 330 ; DW_AT_abstract_origin + .long .Ldebug_ranges36 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 14 ; Abbrev [14] 0xa55:0xc DW_TAG_inlined_subroutine + .long 138 ; DW_AT_abstract_origin + .long .Ldebug_ranges37 ; DW_AT_ranges + .byte 26 ; DW_AT_call_file + .short 426 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 13 ; Abbrev [13] 0xa62:0xb DW_TAG_inlined_subroutine + .long 300 ; DW_AT_abstract_origin + .long .Ldebug_ranges38 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 251 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0xa6d:0xb DW_TAG_inlined_subroutine + .long 306 ; DW_AT_abstract_origin + .long .Ldebug_ranges39 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 252 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0xa78:0xb DW_TAG_inlined_subroutine + .long 312 ; DW_AT_abstract_origin + .long .Ldebug_ranges40 ; DW_AT_ranges + .byte 8 ; DW_AT_call_file + .byte 252 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 5 ; Abbrev [5] 0xa8a:0x17 DW_TAG_inlined_subroutine + .long 324 ; DW_AT_abstract_origin + .long .Ldebug_ranges41 ; DW_AT_ranges + .byte 9 ; DW_AT_call_file + .byte 78 ; DW_AT_call_line + .byte 13 ; Abbrev [13] 0xa95:0xb DW_TAG_inlined_subroutine + .long 318 ; DW_AT_abstract_origin + .long .Ldebug_ranges42 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 10 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 8 ; Abbrev [8] 0xaa3:0x13 DW_TAG_inlined_subroutine + .long 342 ; DW_AT_abstract_origin + .quad .Ltmp86 ; DW_AT_low_pc + .long .Ltmp87-.Ltmp86 ; DW_AT_high_pc + .byte 5 ; DW_AT_call_file + .byte 21 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0xab6:0x157 DW_TAG_inlined_subroutine + .long 360 ; DW_AT_abstract_origin + .long .Ldebug_ranges43 ; DW_AT_ranges + .byte 5 ; DW_AT_call_file + .byte 21 ; DW_AT_call_line + .byte 5 ; Abbrev [5] 0xac1:0xfc DW_TAG_inlined_subroutine + .long 192 ; DW_AT_abstract_origin + .long .Ldebug_ranges44 ; DW_AT_ranges + .byte 13 ; DW_AT_call_file + .byte 90 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0xacc:0x3e DW_TAG_inlined_subroutine + .long 192 ; DW_AT_abstract_origin + .quad .Ltmp88 ; DW_AT_low_pc + .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 699 ; DW_AT_call_line + .byte 7 ; Abbrev [7] 0xae0:0x29 DW_TAG_inlined_subroutine + .long 186 ; DW_AT_abstract_origin + .quad .Ltmp88 ; DW_AT_low_pc + .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 689 ; DW_AT_call_line + .byte 6 ; Abbrev [6] 0xaf4:0x14 DW_TAG_inlined_subroutine + .long 168 ; DW_AT_abstract_origin + .quad .Ltmp88 ; DW_AT_low_pc + .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 754 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 9 ; Abbrev [9] 0xb0a:0xb2 DW_TAG_inlined_subroutine + .long .debug_info+3192 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp108-.Ltmp105 ; DW_AT_high_pc + .byte 6 ; DW_AT_call_file + .short 699 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0xb1e:0x9d DW_TAG_inlined_subroutine + .long .debug_info+3143 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp108-.Ltmp105 ; DW_AT_high_pc + .byte 27 ; DW_AT_call_file + .byte 8 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0xb31:0x4f DW_TAG_inlined_subroutine + .long .debug_info+3137 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0xb44:0x3b DW_TAG_inlined_subroutine + .long .debug_info+3131 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 11 ; DW_AT_call_line + .byte 10 ; Abbrev [10] 0xb57:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3125 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0xb6a:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3119 ; DW_AT_abstract_origin + .quad .Ltmp105 ; DW_AT_low_pc + .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 10 ; Abbrev [10] 0xb80:0x27 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp106 ; DW_AT_low_pc + .long .Ltmp107-.Ltmp106 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 113 ; DW_AT_call_line + .byte 11 ; Abbrev [11] 0xb93:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3149 ; DW_AT_abstract_origin + .quad .Ltmp106 ; DW_AT_low_pc + .long .Ltmp107-.Ltmp106 ; DW_AT_high_pc + .byte 15 ; DW_AT_call_file + .byte 180 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 11 ; Abbrev [11] 0xba7:0x13 DW_TAG_inlined_subroutine + .long .debug_info+3155 ; DW_AT_abstract_origin + .quad .Ltmp107 ; DW_AT_low_pc + .long .Ltmp108-.Ltmp107 ; DW_AT_high_pc + .byte 28 ; DW_AT_call_file + .byte 115 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 4 ; Abbrev [4] 0xbbd:0x4f DW_TAG_inlined_subroutine + .long 354 ; DW_AT_abstract_origin + .quad .Ltmp90 ; DW_AT_low_pc + .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc + .byte 13 ; DW_AT_call_file + .byte 92 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0xbd0:0x3b DW_TAG_inlined_subroutine + .long 348 ; DW_AT_abstract_origin + .quad .Ltmp90 ; DW_AT_low_pc + .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc + .byte 29 ; DW_AT_call_file + .byte 88 ; DW_AT_call_line + .byte 4 ; Abbrev [4] 0xbe3:0x27 DW_TAG_inlined_subroutine + .long 210 ; DW_AT_abstract_origin + .quad .Ltmp90 ; DW_AT_low_pc + .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 8 ; Abbrev [8] 0xbf6:0x13 DW_TAG_inlined_subroutine + .long 204 ; DW_AT_abstract_origin + .quad .Ltmp90 ; DW_AT_low_pc + .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc + .byte 1 ; DW_AT_call_file + .byte 0 ; DW_AT_call_line + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark + .byte 0 ; End Of Children Mark +.Ldebug_info_end0: +.Lcu_begin1: + .long .Ldebug_info_end1-.Ldebug_info_start1 ; Length of Unit +.Ldebug_info_start1: + .short 4 ; DWARF version number + .long .debug_abbrev ; Offset Into Abbrev. Section + .byte 8 ; Address Size (in bytes) + .byte 15 ; Abbrev [15] 0xb:0x3e DW_TAG_compile_unit + .long .Linfo_string0 ; DW_AT_producer + .short 31 ; DW_AT_language + .long .Linfo_string0 ; DW_AT_name + .long .Lline_table_start0 ; DW_AT_stmt_list + .long .Linfo_string1 ; DW_AT_comp_dir + .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x24:0x6 DW_TAG_subprogram + .long .Linfo_string21 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x2a:0x6 DW_TAG_subprogram + .long .Linfo_string52 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x30:0x6 DW_TAG_subprogram + .long .Linfo_string53 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x36:0x6 DW_TAG_subprogram + .long .Linfo_string54 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x3c:0x6 DW_TAG_subprogram + .long .Linfo_string47 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 2 ; Abbrev [2] 0x42:0x6 DW_TAG_subprogram + .long .Linfo_string56 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 0 ; End Of Children Mark +.Ldebug_info_end1: +.Lcu_begin2: + .long .Ldebug_info_end2-.Ldebug_info_start2 ; Length of Unit +.Ldebug_info_start2: + .short 4 ; DWARF version number + .long .debug_abbrev ; Offset Into Abbrev. Section + .byte 8 ; Address Size (in bytes) + .byte 15 ; Abbrev [15] 0xb:0x1a DW_TAG_compile_unit + .long .Linfo_string0 ; DW_AT_producer + .short 31 ; DW_AT_language + .long .Linfo_string0 ; DW_AT_name + .long .Lline_table_start0 ; DW_AT_stmt_list + .long .Linfo_string1 ; DW_AT_comp_dir + .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram + .long .Linfo_string55 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 0 ; End Of Children Mark +.Ldebug_info_end2: +.Lcu_begin3: + .long .Ldebug_info_end3-.Ldebug_info_start3 ; Length of Unit +.Ldebug_info_start3: + .short 4 ; DWARF version number + .long .debug_abbrev ; Offset Into Abbrev. Section + .byte 8 ; Address Size (in bytes) + .byte 15 ; Abbrev [15] 0xb:0x1a DW_TAG_compile_unit + .long .Linfo_string0 ; DW_AT_producer + .short 31 ; DW_AT_language + .long .Linfo_string0 ; DW_AT_name + .long .Lline_table_start0 ; DW_AT_stmt_list + .long .Linfo_string1 ; DW_AT_comp_dir + .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram + .long .Linfo_string57 ; DW_AT_name + .byte 1 ; DW_AT_inline + .byte 0 ; End Of Children Mark +.Ldebug_info_end3: + .section .debug_ranges +.Ldebug_ranges0: + .quad .Ltmp0-.Lfunc_begin0 + .quad .Ltmp4-.Lfunc_begin0 + .quad .Ltmp5-.Lfunc_begin0 + .quad .Ltmp6-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges1: + .quad .Ltmp10-.Lfunc_begin0 + .quad .Ltmp15-.Lfunc_begin0 + .quad .Ltmp91-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges2: + .quad .Ltmp10-.Lfunc_begin0 + .quad .Ltmp13-.Lfunc_begin0 + .quad .Ltmp91-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges3: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp85-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges4: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp46-.Lfunc_begin0 + .quad .Ltmp47-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges5: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges6: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges7: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges8: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges9: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges10: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges11: + .quad .Ltmp16-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges12: + .quad .Ltmp17-.Lfunc_begin0 + .quad .Ltmp20-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges13: + .quad .Ltmp17-.Lfunc_begin0 + .quad .Ltmp20-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges14: + .quad .Ltmp17-.Lfunc_begin0 + .quad .Ltmp20-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges15: + .quad .Ltmp17-.Lfunc_begin0 + .quad .Ltmp20-.Lfunc_begin0 + .quad .Ltmp94-.Lfunc_begin0 + .quad .Ltmp98-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges16: + .quad .Ltmp20-.Lfunc_begin0 + .quad .Ltmp21-.Lfunc_begin0 + .quad .Ltmp33-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp37-.Lfunc_begin0 + .quad .Ltmp38-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges17: + .quad .Ltmp22-.Lfunc_begin0 + .quad .Ltmp23-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp27-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp31-.Lfunc_begin0 + .quad .Ltmp39-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges18: + .quad .Ltmp23-.Lfunc_begin0 + .quad .Ltmp24-.Lfunc_begin0 + .quad .Ltmp27-.Lfunc_begin0 + .quad .Ltmp28-.Lfunc_begin0 + .quad .Ltmp31-.Lfunc_begin0 + .quad .Ltmp32-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp36-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges19: + .quad .Ltmp24-.Lfunc_begin0 + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp28-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp32-.Lfunc_begin0 + .quad .Ltmp33-.Lfunc_begin0 + .quad .Ltmp36-.Lfunc_begin0 + .quad .Ltmp37-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp42-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges20: + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp46-.Lfunc_begin0 + .quad .Ltmp47-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges21: + .quad .Ltmp25-.Lfunc_begin0 + .quad .Ltmp26-.Lfunc_begin0 + .quad .Ltmp29-.Lfunc_begin0 + .quad .Ltmp30-.Lfunc_begin0 + .quad .Ltmp34-.Lfunc_begin0 + .quad .Ltmp35-.Lfunc_begin0 + .quad .Ltmp40-.Lfunc_begin0 + .quad .Ltmp41-.Lfunc_begin0 + .quad .Ltmp46-.Lfunc_begin0 + .quad .Ltmp47-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges22: + .quad .Ltmp45-.Lfunc_begin0 + .quad .Ltmp46-.Lfunc_begin0 + .quad .Ltmp47-.Lfunc_begin0 + .quad .Ltmp48-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges23: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp84-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges24: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges25: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges26: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges27: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges28: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges29: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges30: + .quad .Ltmp55-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges31: + .quad .Ltmp56-.Lfunc_begin0 + .quad .Ltmp59-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges32: + .quad .Ltmp56-.Lfunc_begin0 + .quad .Ltmp59-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges33: + .quad .Ltmp56-.Lfunc_begin0 + .quad .Ltmp59-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges34: + .quad .Ltmp56-.Lfunc_begin0 + .quad .Ltmp59-.Lfunc_begin0 + .quad .Ltmp101-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges35: + .quad .Ltmp60-.Lfunc_begin0 + .quad .Ltmp61-.Lfunc_begin0 + .quad .Ltmp75-.Lfunc_begin0 + .quad .Ltmp76-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges36: + .quad .Ltmp61-.Lfunc_begin0 + .quad .Ltmp62-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp67-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp72-.Lfunc_begin0 + .quad .Ltmp76-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges37: + .quad .Ltmp61-.Lfunc_begin0 + .quad .Ltmp62-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp67-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp72-.Lfunc_begin0 + .quad .Ltmp76-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges38: + .quad .Ltmp62-.Lfunc_begin0 + .quad .Ltmp63-.Lfunc_begin0 + .quad .Ltmp67-.Lfunc_begin0 + .quad .Ltmp68-.Lfunc_begin0 + .quad .Ltmp72-.Lfunc_begin0 + .quad .Ltmp73-.Lfunc_begin0 + .quad .Ltmp79-.Lfunc_begin0 + .quad .Ltmp80-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges39: + .quad .Ltmp63-.Lfunc_begin0 + .quad .Ltmp64-.Lfunc_begin0 + .quad .Ltmp68-.Lfunc_begin0 + .quad .Ltmp69-.Lfunc_begin0 + .quad .Ltmp73-.Lfunc_begin0 + .quad .Ltmp74-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp79-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges40: + .quad .Ltmp64-.Lfunc_begin0 + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp69-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp74-.Lfunc_begin0 + .quad .Ltmp75-.Lfunc_begin0 + .quad .Ltmp80-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges41: + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp84-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges42: + .quad .Ltmp65-.Lfunc_begin0 + .quad .Ltmp66-.Lfunc_begin0 + .quad .Ltmp70-.Lfunc_begin0 + .quad .Ltmp71-.Lfunc_begin0 + .quad .Ltmp77-.Lfunc_begin0 + .quad .Ltmp78-.Lfunc_begin0 + .quad .Ltmp81-.Lfunc_begin0 + .quad .Ltmp82-.Lfunc_begin0 + .quad .Ltmp83-.Lfunc_begin0 + .quad .Ltmp84-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges43: + .quad .Ltmp88-.Lfunc_begin0 + .quad .Ltmp91-.Lfunc_begin0 + .quad .Ltmp99-.Lfunc_begin0 + .quad .Ltmp100-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad .Ltmp108-.Lfunc_begin0 + .quad 0 + .quad 0 +.Ldebug_ranges44: + .quad .Ltmp88-.Lfunc_begin0 + .quad .Ltmp89-.Lfunc_begin0 + .quad .Ltmp99-.Lfunc_begin0 + .quad .Ltmp100-.Lfunc_begin0 + .quad .Ltmp105-.Lfunc_begin0 + .quad .Ltmp108-.Lfunc_begin0 + .quad 0 + .quad 0 + .section .debug_str,"MS",@progbits,1 +.Linfo_string0: + .asciz "julia" ; string offset=0 +.Linfo_string1: + .asciz "." ; string offset=6 +.Linfo_string2: + .asciz "+;" ; string offset=8 +.Linfo_string3: + .asciz "workitemIdx_x;" ; string offset=11 +.Linfo_string4: + .asciz "threadIdx_x;" ; string offset=26 +.Linfo_string5: + .asciz "threadIdx;" ; string offset=39 +.Linfo_string6: + .asciz "#__validindex;" ; string offset=50 +.Linfo_string7: + .asciz "gpu_groupreduce_1!;" ; string offset=65 +.Linfo_string8: + .asciz "toInt64;" ; string offset=85 +.Linfo_string9: + .asciz "Int64;" ; string offset=94 +.Linfo_string10: + .asciz "convert;" ; string offset=101 +.Linfo_string11: + .asciz "to_index;" ; string offset=110 +.Linfo_string12: + .asciz "to_indices;" ; string offset=120 +.Linfo_string13: + .asciz "getindex;" ; string offset=132 +.Linfo_string14: + .asciz "expand;" ; string offset=142 +.Linfo_string15: + .asciz "*;" ; string offset=150 +.Linfo_string16: + .asciz "#1;" ; string offset=153 +.Linfo_string17: + .asciz "ntuple;" ; string offset=157 +.Linfo_string18: + .asciz "<=;" ; string offset=165 +.Linfo_string19: + .asciz "in;" ; string offset=169 +.Linfo_string20: + .asciz "map;" ; string offset=173 +.Linfo_string21: + .asciz "macro expansion;" ; string offset=178 +.Linfo_string22: + .asciz "<;" ; string offset=195 +.Linfo_string23: + .asciz ">;" ; string offset=198 +.Linfo_string24: + .asciz "-;" ; string offset=201 +.Linfo_string25: + .asciz "checkindex;" ; string offset=204 +.Linfo_string26: + .asciz "checkbounds;" ; string offset=216 +.Linfo_string27: + .asciz "#getindex;" ; string offset=229 +.Linfo_string28: + .asciz "pointerref;" ; string offset=240 +.Linfo_string29: + .asciz "unsafe_load;" ; string offset=252 +.Linfo_string30: + .asciz "activelane;" ; string offset=265 +.Linfo_string31: + .asciz "shfl_down;" ; string offset=277 +.Linfo_string32: + .asciz "#19;" ; string offset=288 +.Linfo_string33: + .asciz "_shfl;" ; string offset=293 +.Linfo_string34: + .asciz "__warp_reduce;" ; string offset=300 +.Linfo_string35: + .asciz "__warp_groupreduce;" ; string offset=315 +.Linfo_string36: + .asciz "check_sign_bit;" ; string offset=335 +.Linfo_string37: + .asciz "toInt32;" ; string offset=351 +.Linfo_string38: + .asciz "Int32;" ; string offset=360 +.Linfo_string39: + .asciz "is_top_bit_set;" ; string offset=367 +.Linfo_string40: + .asciz "ifelse;" ; string offset=383 +.Linfo_string41: + .asciz "<<;" ; string offset=391 +.Linfo_string42: + .asciz "bpermute;" ; string offset=395 +.Linfo_string43: + .asciz ">=;" ; string offset=405 +.Linfo_string44: + .asciz "rem;" ; string offset=409 +.Linfo_string45: + .asciz "==;" ; string offset=414 +.Linfo_string46: + .asciz "pointerset;" ; string offset=418 +.Linfo_string47: + .asciz "unsafe_store!;" ; string offset=430 +.Linfo_string48: + .asciz "#setindex!;" ; string offset=445 +.Linfo_string49: + .asciz "sync_workgroup;" ; string offset=457 +.Linfo_string50: + .asciz "#__synchronize;" ; string offset=473 +.Linfo_string51: + .asciz "&;" ; string offset=489 +.Linfo_string52: + .asciz "kernel_state;" ; string offset=492 +.Linfo_string53: + .asciz "exception_flag;" ; string offset=506 +.Linfo_string54: + .asciz "signal_exception" ; string offset=522 +.Linfo_string55: + .asciz "#throw_boundserror" ; string offset=539 +.Linfo_string56: + .asciz "endpgm;" ; string offset=558 +.Linfo_string57: + .asciz "#throw_inexacterror" ; string offset=566 +.Linfo_string58: + .asciz "gpu_groupreduce_1!" ; string offset=586 + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" + .section ".note.GNU-stack" + .amdgpu_metadata +--- +amdhsa.kernels: + - .args: + - .name: state + .offset: 0 + .size: 88 + .value_kind: by_value + - .offset: 88 + .size: 16 + .value_kind: by_value + - .offset: 104 + .size: 24 + .value_kind: by_value + - .offset: 128 + .size: 24 + .value_kind: by_value + - .offset: 152 + .size: 4 + .value_kind: by_value + .group_segment_fixed_size: 256 + .kernarg_segment_align: 8 + .kernarg_segment_size: 156 + .language: OpenCL C + .language_version: + - 2 + - 0 + .max_flat_workgroup_size: 1024 + .name: _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ + .private_segment_fixed_size: 0 + .sgpr_count: 18 + .sgpr_spill_count: 0 + .symbol: _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_.kd + .vgpr_count: 9 + .vgpr_spill_count: 0 + .wavefront_size: 32 +amdhsa.target: amdgcn-amd-amdhsa--gfx1100 +amdhsa.version: + - 1 + - 1 +... + + .end_amdgpu_metadata + .section .debug_line +.Lline_table_start0: diff --git a/devcode/gpu_groupreduce_1!_1.lowered.jl b/devcode/gpu_groupreduce_1!_1.lowered.jl new file mode 100644 index 000000000..d4f7d6c6a --- /dev/null +++ b/devcode/gpu_groupreduce_1!_1.lowered.jl @@ -0,0 +1,52 @@ +CodeInfo( +1 ─ x@_11 = x@_4 +│ Core.NewvarNode(:(res)) +│ Core.NewvarNode(:(nx)) +│ Core.NewvarNode(:(val)) +│ Core.NewvarNode(:(i)) +│ %6 = (KernelAbstractions.__validindex)(__ctx__) +└── goto #7 if not %6 +2 ─ i = KernelAbstractions.__index_Global_Linear(__ctx__) +│ %9 = Main.:> +│ %10 = i +│ %11 = Main.length +│ %12 = x@_11 +│ %13 = (%11)(%12) +│ %14 = (%9)(%10, %13) +└── goto #4 if not %14 +3 ─ %16 = neutral +│ @_12 = %16 +└── goto #5 +4 ─ %19 = x@_11 +│ %20 = i +└── @_12 = Base.getindex(%19, %20) +5 ┄ %22 = @_12 +│ val = %22 +│ %24 = val +│ %25 = val +│ x@_11 = Main.A(%24, %25) +│ nx = Main.A(neutral, neutral) +│ %28 = KernelAbstractions.__warp_groupreduce +│ %29 = x@_11 +│ %30 = nx +│ %31 = KernelAbstractions.Val +│ %32 = KernelAbstractions.prod +│ %33 = (KernelAbstractions.groupsize)(__ctx__) +│ %34 = (%32)(%33) +│ %35 = (%31)(%34) +│ res = (%28)(__ctx__, op, %29, %30, %35) +│ %37 = Main.:(==) +│ %38 = i +│ %39 = (%37)(%38, 1) +└── goto #7 if not %39 +6 ─ %41 = Main.:+ +│ %42 = res +│ %43 = Base.getproperty(%42, :x) +│ %44 = res +│ %45 = Base.getproperty(%44, :y) +│ %46 = (%41)(%43, %45) +│ Base.setindex!(y, %46, 1) +└── goto #7 +7 ┄ %49 = Main.nothing +└── return %49 +) diff --git a/devcode/gpu_groupreduce_1!_1.opt.ll b/devcode/gpu_groupreduce_1!_1.opt.ll new file mode 100644 index 000000000..07572e012 --- /dev/null +++ b/devcode/gpu_groupreduce_1!_1.opt.ll @@ -0,0 +1,1142 @@ +; ModuleID = 'start' +source_filename = "start" +target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32: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:10:11:12:13" +target triple = "amdgcn-amd-amdhsa" + +@"alloc_special_##static_shmem#231" = external local_unnamed_addr addrspace(3) global [32 x [2 x float]], align 32 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.wavefrontsize() #0 + +; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) +declare i32 @llvm.amdgcn.ds.bpermute(i32, i32) #1 + +; Function Attrs: convergent nocallback nofree nounwind willreturn +declare void @llvm.amdgcn.s.barrier() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workgroup.id.x() #0 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workitem.id.x() #0 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) +declare void @llvm.assume(i1 noundef) #3 + +; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(read) +declare i32 @llvm.read_register.i32(metadata) #4 + +; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) +declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #5 + +; Function Attrs: cold nocallback nofree noreturn nounwind +declare void @llvm.amdgcn.endpgm() #6 + +; @ none within `gpu_groupreduce_1!` +define amdgpu_kernel void @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_({ i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } %2, float %3) local_unnamed_addr #7 !dbg !44 { +conversion: + %.fca.0.0.0.0.extract = extractvalue { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, 0, 0, 0, 0 + %.fca.1.0.0.0.0.extract = extractvalue { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, 1, 0, 0, 0, 0 + %.fca.0.0.extract41 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %1, 0, 0 + %.fca.1.extract43 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %1, 1 + %.fca.0.0.extract = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 0, 0 + %.fca.1.extract39 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 1 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %4 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !48, !range !69 +; │└└└└└ +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %5 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !70, !range !79 +; ││││└└ +; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %6 = add nuw nsw i32 %5, 1, !dbg !80 +; │└└└└ +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +; │││┌ @ ntuple.jl:48 within `ntuple` +; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +; │││││┌ @ operators.jl:379 within `>` +; ││││││┌ @ int.jl:83 within `<` + %7 = icmp sgt i64 %.fca.1.0.0.0.0.extract, 0, !dbg !84 +; │││││└└ +; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` + call void @llvm.assume(i1 %7), !dbg !99 +; ││└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +; ││┌ @ abstractarray.jl:1312 within `getindex` +; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +; │││││┌ @ number.jl:7 within `convert` +; ││││││┌ @ boot.jl:892 within `Int64` +; │││││││┌ @ boot.jl:816 within `toInt64` + %8 = zext i32 %6 to i64, !dbg !101 +; ││└└└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 +; ││┌ @ ntuple.jl:48 within `ntuple` +; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` +; ││││┌ @ int.jl:86 within `-` + %9 = zext i32 %4 to i64, !dbg !120 +; ││││└ +; ││││┌ @ int.jl:88 within `*` + %10 = shl nuw nsw i64 %9, 8, !dbg !126 +; ││││└ +; ││││┌ @ int.jl:87 within `+` + %11 = add nuw nsw i64 %10, %8, !dbg !128 +; │└└└└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` +; │┌ @ multidimensional.jl:477 within `in` +; ││┌ @ tuple.jl:382 within `map` +; │││┌ @ range.jl:1426 within `in` +; ││││┌ @ int.jl:514 within `<=` + %.not = icmp sgt i64 %11, %.fca.0.0.0.0.extract, !dbg !129 +; └└└└└ + br i1 %.not, label %L550, label %L110, !dbg !65 + +L110: ; preds = %conversion + %.fca.2.extract = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 2 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` +; │┌ @ operators.jl:379 within `>` +; ││┌ @ int.jl:83 within `<` + %.not223 = icmp slt i64 %.fca.2.extract, %11, !dbg !141 +; │└└ + br i1 %.not223, label %L256, label %L237, !dbg !143 + +L237: ; preds = %L110 +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` +; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +; │││┌ @ abstractarray.jl:754 within `checkindex` +; ││││┌ @ int.jl:86 within `-` + %12 = add nsw i64 %11, -1, !dbg !147 +; ││││└ +; ││││┌ @ int.jl:513 within `<` + %.not252 = icmp ult i64 %12, %.fca.0.0.extract, !dbg !156 +; │││└└ +; │││ @ abstractarray.jl:699 within `checkbounds` + br i1 %.not252, label %L250, label %L247, !dbg !152 + +L247: ; preds = %L237 +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` +; ││││││┌ @ none within `kernel_state` +; │││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %state.i.fca.0.extract.i = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !157 +; │││││└└└ +; │││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 + %13 = inttoptr i64 %state.i.fca.0.extract.i to i32*, !dbg !172 + store i32 1, i32* %13, align 1, !dbg !172 +; │││││└ +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` + call void @llvm.amdgcn.endpgm(), !dbg !176 +; │││││└ +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` + unreachable, !dbg !180 + +L250: ; preds = %L237 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` +; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +; │││┌ @ none within `pointerref` +; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %14 = bitcast i8 addrspace(1)* %.fca.1.extract39 to float addrspace(1)*, !dbg !181 + %15 = getelementptr inbounds float, float addrspace(1)* %14, i64 %12, !dbg !181 + %16 = load float, float addrspace(1)* %15, align 4, !dbg !181, !tbaa !190 + br label %L256, !dbg !181 + +L256: ; preds = %L250, %L110 + %value_phi = phi float [ %16, %L250 ], [ %3, %L110 ] +; │└└└└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` +; ││┌ @ int.jl:298 within `rem` + %17 = and i32 %5, 31, !dbg !193 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` +; ││┌ @ int.jl:297 within `div` + %18 = lshr i32 %5, 5, !dbg !199 + %19 = call i32 @llvm.amdgcn.wavefrontsize() + %20 = add i32 %19, -1 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %21 = call i32 @llvm.read_register.i32(metadata !202) #8, !dbg !203 + %22 = call i32 @llvm.amdgcn.mbcnt.lo(i32 %21, i32 0), !dbg !203 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %.not225 = icmp sgt i32 %22, -1, !dbg !221 +; │││││││││││└ + br i1 %.not225, label %L306, label %L292, !dbg !223 + +L292: ; preds = %L256 +; │││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` +; ││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` +; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` +; ││││││││││││││┌ @ none within `kernel_state` +; │││││││││││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %state.i.fca.0.extract.i95 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !230 +; │││││││││││││└└└ +; │││││││││││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 + %23 = inttoptr i64 %state.i.fca.0.extract.i95 to i32*, !dbg !238 + store i32 1, i32* %23, align 1, !dbg !238 +; │││││││││││││└ +; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` +; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` + call void @llvm.amdgcn.endpgm(), !dbg !240 +; │││││││││││││└ +; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` + unreachable, !dbg !242 + +L306: ; preds = %L256 +; │││││└└└└└└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %24 = bitcast float %value_phi to i32, !dbg !243 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `&` @ int.jl:347 + %25 = and i32 %22, %20, !dbg !246 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %26 = add nuw i32 %25, 16, !dbg !250 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not227 = icmp ugt i32 %19, %26, !dbg !251 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %27 = select i1 %.not227, i32 16, i32 0, !dbg !254 + %28 = add nuw i32 %27, %22, !dbg !254 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %29 = shl i32 %28, 2, !dbg !256 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %30 = call i32 @llvm.amdgcn.ds.bpermute(i32 %29, i32 %24), !dbg !259 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %31 = bitcast i32 %30 to float, !dbg !243 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %32 = fadd float %value_phi, %31, !dbg !261 +; │││└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %33 = bitcast float %32 to i32, !dbg !243 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %34 = add nuw i32 %25, 8, !dbg !250 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not227.1 = icmp ugt i32 %19, %34, !dbg !251 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %35 = select i1 %.not227.1, i32 8, i32 0, !dbg !254 + %36 = add nuw i32 %35, %22, !dbg !254 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %37 = shl i32 %36, 2, !dbg !256 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %38 = call i32 @llvm.amdgcn.ds.bpermute(i32 %37, i32 %33), !dbg !259 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %39 = bitcast i32 %38 to float, !dbg !243 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %40 = fadd float %32, %39, !dbg !261 +; │││└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %41 = bitcast float %40 to i32, !dbg !243 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %42 = add nuw i32 %25, 4, !dbg !250 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not227.2 = icmp ugt i32 %19, %42, !dbg !251 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %43 = select i1 %.not227.2, i32 4, i32 0, !dbg !254 + %44 = add nuw i32 %43, %22, !dbg !254 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %45 = shl i32 %44, 2, !dbg !256 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %46 = call i32 @llvm.amdgcn.ds.bpermute(i32 %45, i32 %41), !dbg !259 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %47 = bitcast i32 %46 to float, !dbg !243 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %48 = fadd float %40, %47, !dbg !261 +; │││└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %49 = bitcast float %48 to i32, !dbg !243 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %50 = add nuw i32 %25, 2, !dbg !250 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not227.3 = icmp ugt i32 %19, %50, !dbg !251 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %51 = select i1 %.not227.3, i32 2, i32 0, !dbg !254 + %52 = add nuw i32 %51, %22, !dbg !254 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %53 = shl i32 %52, 2, !dbg !256 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %54 = call i32 @llvm.amdgcn.ds.bpermute(i32 %53, i32 %49), !dbg !259 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %55 = bitcast i32 %54 to float, !dbg !243 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %56 = fadd float %48, %55, !dbg !261 +; │││└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %57 = bitcast float %56 to i32, !dbg !243 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %58 = add nuw i32 %25, 1, !dbg !250 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not227.4 = icmp ugt i32 %19, %58, !dbg !251 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %59 = zext i1 %.not227.4 to i32, !dbg !254 + %60 = add nuw i32 %22, %59, !dbg !254 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %61 = shl i32 %60, 2, !dbg !256 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %62 = call i32 @llvm.amdgcn.ds.bpermute(i32 %61, i32 %57), !dbg !259 +; ││└└└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` +; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 + %.not231 = icmp eq i32 %17, 0, !dbg !266 +; ││└ + br i1 %.not231, label %L389, label %L395, !dbg !270 + +L389: ; preds = %L306 +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %63 = bitcast i32 %62 to float, !dbg !243 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %64 = fadd float %56, %63, !dbg !261 +; ││└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` +; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` +; ││││┌ @ none within `pointerset` +; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %.repack = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %18, i32 0, !dbg !271 + store float %64, float addrspace(3)* %.repack, align 8, !dbg !271, !tbaa !279 + %.repack232 = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %18, i32 1, !dbg !271 + store float %64, float addrspace(3)* %.repack232, align 4, !dbg !271, !tbaa !279 +; │││└└└ +; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` + br label %L395, !dbg !281 + +L395: ; preds = %L389, %L306 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` + call void @llvm.amdgcn.s.barrier(), !dbg !282 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` +; ││┌ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 + %65 = icmp ugt i32 %5, 7, !dbg !291 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` + br i1 %65, label %guard_pass41, label %guard_pass37, !dbg !296 + +L422: ; preds = %guard_pass41, %guard_pass37 + %.sroa.6.0437 = phi i32 [ %134, %guard_pass41 ], [ %.unpack235439, %guard_pass37 ] + %.sroa.0426.0 = phi i32 [ %134, %guard_pass41 ], [ %.unpack438, %guard_pass37 ] +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 + %66 = icmp ugt i32 %5, 31, !dbg !297 +; ││└ + %67 = bitcast i32 %.sroa.0426.0 to float, !dbg !299 + %68 = bitcast i32 %.sroa.6.0437 to float, !dbg !299 + br i1 %66, label %L522, label %guard_exit46, !dbg !299 + +L438: ; preds = %guard_exit46 +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` +; ││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` +; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` +; ││││││││││││││┌ @ none within `kernel_state` +; │││││││││││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %state.i.fca.0.extract.i155 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !300 +; │││││││││││││└└└ +; │││││││││││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 + %69 = inttoptr i64 %state.i.fca.0.extract.i155 to i32*, !dbg !318 + store i32 1, i32* %69, align 1, !dbg !318 +; │││││││││││││└ +; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` +; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` + call void @llvm.amdgcn.endpgm(), !dbg !320 +; │││││││││││││└ +; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` + unreachable, !dbg !322 + +L452: ; preds = %guard_exit46 +; │││││││└└└└└└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `&` @ int.jl:347 + %70 = and i32 %136, %20, !dbg !323 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %71 = add nuw i32 %70, 16, !dbg !326 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not243 = icmp ugt i32 %19, %71, !dbg !327 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %72 = select i1 %.not243, i32 16, i32 0, !dbg !329 + %73 = add nuw i32 %72, %136, !dbg !329 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %74 = shl i32 %73, 2, !dbg !330 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %75 = call i32 @llvm.amdgcn.ds.bpermute(i32 %74, i32 %.sroa.0426.0), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %76 = bitcast i32 %75 to float, !dbg !333 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %77 = call i32 @llvm.amdgcn.ds.bpermute(i32 %74, i32 %.sroa.6.0437), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %78 = bitcast i32 %77 to float, !dbg !333 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %79 = fadd float %76, %67, !dbg !334 + %80 = fadd float %78, %68, !dbg !334 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %81 = bitcast float %79 to i32, !dbg !336 + %82 = bitcast float %80 to i32, !dbg !336 +; │││└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %83 = add nuw i32 %70, 8, !dbg !326 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not243.1 = icmp ugt i32 %19, %83, !dbg !327 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %84 = select i1 %.not243.1, i32 8, i32 0, !dbg !329 + %85 = add nuw i32 %84, %136, !dbg !329 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %86 = shl i32 %85, 2, !dbg !330 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %87 = call i32 @llvm.amdgcn.ds.bpermute(i32 %86, i32 %81), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %88 = bitcast i32 %87 to float, !dbg !333 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %89 = call i32 @llvm.amdgcn.ds.bpermute(i32 %86, i32 %82), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %90 = bitcast i32 %89 to float, !dbg !333 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %91 = fadd float %79, %88, !dbg !334 + %92 = fadd float %80, %90, !dbg !334 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %93 = bitcast float %91 to i32, !dbg !336 + %94 = bitcast float %92 to i32, !dbg !336 +; │││└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %95 = add nuw i32 %70, 4, !dbg !326 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not243.2 = icmp ugt i32 %19, %95, !dbg !327 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %96 = select i1 %.not243.2, i32 4, i32 0, !dbg !329 + %97 = add nuw i32 %96, %136, !dbg !329 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %98 = shl i32 %97, 2, !dbg !330 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %99 = call i32 @llvm.amdgcn.ds.bpermute(i32 %98, i32 %93), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %100 = bitcast i32 %99 to float, !dbg !333 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %101 = call i32 @llvm.amdgcn.ds.bpermute(i32 %98, i32 %94), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %102 = bitcast i32 %101 to float, !dbg !333 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %103 = fadd float %91, %100, !dbg !334 + %104 = fadd float %92, %102, !dbg !334 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %105 = bitcast float %103 to i32, !dbg !336 + %106 = bitcast float %104 to i32, !dbg !336 +; │││└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %107 = add nuw i32 %70, 2, !dbg !326 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not243.3 = icmp ugt i32 %19, %107, !dbg !327 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %108 = select i1 %.not243.3, i32 2, i32 0, !dbg !329 + %109 = add nuw i32 %108, %136, !dbg !329 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %110 = shl i32 %109, 2, !dbg !330 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %111 = call i32 @llvm.amdgcn.ds.bpermute(i32 %110, i32 %105), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %112 = bitcast i32 %111 to float, !dbg !333 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %113 = call i32 @llvm.amdgcn.ds.bpermute(i32 %110, i32 %106), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %114 = bitcast i32 %113 to float, !dbg !333 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %115 = fadd float %103, %112, !dbg !334 + %116 = fadd float %104, %114, !dbg !334 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %117 = bitcast float %115 to i32, !dbg !336 + %118 = bitcast float %116 to i32, !dbg !336 +; │││└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:87 within `+` + %119 = add nuw i32 %70, 1, !dbg !326 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %.not243.4 = icmp ugt i32 %19, %119, !dbg !327 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %120 = zext i1 %.not243.4 to i32, !dbg !329 + %121 = add nuw i32 %136, %120, !dbg !329 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %122 = shl i32 %121, 2, !dbg !330 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %123 = call i32 @llvm.amdgcn.ds.bpermute(i32 %122, i32 %117), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %124 = bitcast i32 %123 to float, !dbg !333 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %125 = call i32 @llvm.amdgcn.ds.bpermute(i32 %122, i32 %118), !dbg !332 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %126 = bitcast i32 %125 to float, !dbg !333 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %127 = fadd float %115, %124, !dbg !334 + %128 = fadd float %116, %126, !dbg !334 + br label %L522 + +L522: ; preds = %L452, %L422 + %.sroa.6.0 = phi float [ %128, %L452 ], [ %68, %L422 ] + %.sroa.05.0 = phi float [ %127, %L452 ], [ %67, %L422 ] +; │└└└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` +; │┌ @ promotion.jl:639 within `==` + %.not248 = icmp eq i64 %11, 1, !dbg !338 +; │└ + br i1 %.not248, label %L526, label %L550, !dbg !339 + +L526: ; preds = %L522 +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` +; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +; │││┌ @ abstractarray.jl:754 within `checkindex` +; ││││┌ @ int.jl:513 within `<` + %.not249 = icmp eq i64 %.fca.0.0.extract41, 0, !dbg !340 +; │││└└ +; │││ @ abstractarray.jl:699 within `checkbounds` + br i1 %.not249, label %L541, label %L544, !dbg !343 + +L541: ; preds = %L526 +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` +; ││││││┌ @ none within `kernel_state` +; │││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %state.i.fca.0.extract.i80 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !345 +; │││││└└└ +; │││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 + %129 = inttoptr i64 %state.i.fca.0.extract.i80 to i32*, !dbg !352 + store i32 1, i32* %129, align 1, !dbg !352 +; │││││└ +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` + call void @llvm.amdgcn.endpgm(), !dbg !354 +; │││││└ +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` + unreachable, !dbg !356 + +L544: ; preds = %L526 +; │└└└└ +; │┌ @ float.jl:491 within `+` + %130 = fadd float %.sroa.6.0, %.sroa.05.0, !dbg !357 +; │└ +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` +; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` +; │││┌ @ none within `pointerset` +; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %131 = bitcast i8 addrspace(1)* %.fca.1.extract43 to float addrspace(1)*, !dbg !358 + store float %130, float addrspace(1)* %131, align 4, !dbg !358, !tbaa !190 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` + br label %L550, !dbg !363 + +L550: ; preds = %L544, %L522, %conversion +; └└ +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 + ret void, !dbg !364 + +guard_pass37: ; preds = %L395 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` +; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +; ││││┌ @ none within `pointerref` +; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %.elt234 = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %17, i32 1, !dbg !365 + %132 = bitcast float addrspace(3)* %.elt234 to i32 addrspace(3)*, !dbg !365 + %.unpack235439 = load i32, i32 addrspace(3)* %132, align 4, !dbg !365, !tbaa !279 + %.elt = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %17, i32 0, !dbg !365 + %133 = bitcast float addrspace(3)* %.elt to i32 addrspace(3)*, !dbg !365 + %.unpack438 = load i32, i32 addrspace(3)* %133, align 8, !dbg !365, !tbaa !279 + br label %L422 + +guard_pass41: ; preds = %L395 +; └└└└└└ +; @ none within `gpu_groupreduce_1!` + %134 = bitcast float %3 to i32, !dbg !68 + br label %L422 + +guard_exit46: ; preds = %L422 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %135 = call i32 @llvm.read_register.i32(metadata !202) #8, !dbg !370 + %136 = call i32 @llvm.amdgcn.mbcnt.lo(i32 %135, i32 0), !dbg !370 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %.not241 = icmp sgt i32 %136, -1, !dbg !371 +; │││││││││││└ + br i1 %.not241, label %L452, label %L438, !dbg !372 +; └└└└└└└└└└└ +} + +attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } +attributes #1 = { convergent nocallback nofree nounwind willreturn memory(none) } +attributes #2 = { convergent nocallback nofree nounwind willreturn } +attributes #3 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } +attributes #4 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(read) } +attributes #5 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(none) } +attributes #6 = { cold nocallback nofree noreturn nounwind } +attributes #7 = { "amdgpu-unsafe-fp-atomics"="true" "target-cpu"="gfx1100" "target-features"="+wavefrontsize32,-wavefrontsize64" } +attributes #8 = { convergent } + +!llvm.module.flags = !{!0, !1, !2, !3} +!llvm.dbg.cu = !{!4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40} +!opencl.ocl.version = !{!41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41} +!llvm.ident = !{!42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42} +!julia.kernel = !{!43} + +!0 = !{i32 2, !"Dwarf Version", i32 4} +!1 = !{i32 2, !"Debug Info Version", i32 3} +!2 = !{i32 1, !"wchar_size", i32 4} +!3 = !{i32 8, !"PIC Level", i32 0} +!4 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!5 = !DIFile(filename: "julia", directory: ".") +!6 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!9 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!10 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!11 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!12 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!13 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!14 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!15 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!16 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!17 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!18 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!19 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!20 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!21 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!22 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!23 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!24 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!25 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!26 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!27 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!28 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!29 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!30 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!31 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!32 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!33 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!34 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!35 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!36 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!37 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!38 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!39 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!40 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!41 = !{i32 2, i32 0} +!42 = !{!"clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)"} +!43 = !{void ({ i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 }, float)* @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_} +!44 = distinct !DISubprogram(name: "gpu_groupreduce_1!", linkageName: "julia_gpu_groupreduce_1!_15079", scope: null, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!45 = !DIFile(filename: "none", directory: ".") +!46 = !DISubroutineType(types: !47) +!47 = !{} +!48 = !DILocation(line: 39, scope: !49, inlinedAt: !51) +!49 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !50, file: !50, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!50 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl", directory: ".") +!51 = !DILocation(line: 3, scope: !52, inlinedAt: !54) +!52 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!53 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl", directory: ".") +!54 = !DILocation(line: 3, scope: !55, inlinedAt: !56) +!55 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!56 = !DILocation(line: 93, scope: !57, inlinedAt: !58) +!57 = distinct !DISubprogram(name: "workgroupIdx_x;", linkageName: "workgroupIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!58 = !DILocation(line: 95, scope: !59, inlinedAt: !60) +!59 = distinct !DISubprogram(name: "blockIdx_x;", linkageName: "blockIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!60 = !DILocation(line: 172, scope: !61, inlinedAt: !62) +!61 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!62 = !DILocation(line: 141, scope: !63, inlinedAt: !65) +!63 = distinct !DISubprogram(name: "#__validindex;", linkageName: "#__validindex", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!64 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl", directory: ".") +!65 = !DILocation(line: 96, scope: !66, inlinedAt: !68) +!66 = distinct !DISubprogram(name: "gpu_groupreduce_1!;", linkageName: "gpu_groupreduce_1!", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!67 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl", directory: ".") +!68 = !DILocation(line: 0, scope: !44) +!69 = !{i32 0, i32 -2} +!70 = !DILocation(line: 39, scope: !49, inlinedAt: !71) +!71 = !DILocation(line: 3, scope: !52, inlinedAt: !72) +!72 = !DILocation(line: 3, scope: !55, inlinedAt: !73) +!73 = !DILocation(line: 87, scope: !74, inlinedAt: !75) +!74 = distinct !DISubprogram(name: "workitemIdx_x;", linkageName: "workitemIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!75 = !DILocation(line: 89, scope: !76, inlinedAt: !77) +!76 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!77 = !DILocation(line: 164, scope: !78, inlinedAt: !62) +!78 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!79 = !{i32 0, i32 1023} +!80 = !DILocation(line: 87, scope: !81, inlinedAt: !83) +!81 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!82 = !DIFile(filename: "int.jl", directory: ".") +!83 = !DILocation(line: 1013, scope: !81, inlinedAt: !73) +!84 = !DILocation(line: 83, scope: !85, inlinedAt: !86) +!85 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!86 = !DILocation(line: 379, scope: !87, inlinedAt: !89) +!87 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !88, file: !88, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!88 = !DIFile(filename: "operators.jl", directory: ".") +!89 = !DILocation(line: 111, scope: !90, inlinedAt: !92) +!90 = distinct !DISubprogram(name: "#3;", linkageName: "#3", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!91 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl", directory: ".") +!92 = !DILocation(line: 48, scope: !93, inlinedAt: !95) +!93 = distinct !DISubprogram(name: "ntuple;", linkageName: "ntuple", scope: !94, file: !94, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!94 = !DIFile(filename: "ntuple.jl", directory: ".") +!95 = !DILocation(line: 108, scope: !96, inlinedAt: !97) +!96 = distinct !DISubprogram(name: "assume_nonzero;", linkageName: "assume_nonzero", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!97 = !DILocation(line: 119, scope: !98, inlinedAt: !62) +!98 = distinct !DISubprogram(name: "expand;", linkageName: "expand", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!99 = !DILocation(line: 91, scope: !100, inlinedAt: !89) +!100 = distinct !DISubprogram(name: "assume;", linkageName: "assume", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!101 = !DILocation(line: 816, scope: !102, inlinedAt: !104) +!102 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!103 = !DIFile(filename: "boot.jl", directory: ".") +!104 = !DILocation(line: 892, scope: !105, inlinedAt: !106) +!105 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!106 = !DILocation(line: 7, scope: !107, inlinedAt: !109) +!107 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !108, file: !108, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!108 = !DIFile(filename: "number.jl", directory: ".") +!109 = !DILocation(line: 307, scope: !110, inlinedAt: !112) +!110 = distinct !DISubprogram(name: "to_index;", linkageName: "to_index", scope: !111, file: !111, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!111 = !DIFile(filename: "indices.jl", directory: ".") +!112 = !DILocation(line: 292, scope: !110, inlinedAt: !113) +!113 = !DILocation(line: 368, scope: !114, inlinedAt: !115) +!114 = distinct !DISubprogram(name: "to_indices;", linkageName: "to_indices", scope: !111, file: !111, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!115 = !DILocation(line: 365, scope: !114, inlinedAt: !116) +!116 = !DILocation(line: 1312, scope: !117, inlinedAt: !119) +!117 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!118 = !DIFile(filename: "abstractarray.jl", directory: ".") +!119 = !DILocation(line: 121, scope: !98, inlinedAt: !62) +!120 = !DILocation(line: 86, scope: !121, inlinedAt: !122) +!121 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!122 = !DILocation(line: 79, scope: !123, inlinedAt: !124) +!123 = distinct !DISubprogram(name: "#1;", linkageName: "#1", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!124 = !DILocation(line: 48, scope: !93, inlinedAt: !125) +!125 = !DILocation(line: 75, scope: !98, inlinedAt: !119) +!126 = !DILocation(line: 88, scope: !127, inlinedAt: !122) +!127 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!128 = !DILocation(line: 87, scope: !81, inlinedAt: !122) +!129 = !DILocation(line: 514, scope: !130, inlinedAt: !131) +!130 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!131 = !DILocation(line: 1426, scope: !132, inlinedAt: !134) +!132 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !133, file: !133, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!133 = !DIFile(filename: "range.jl", directory: ".") +!134 = !DILocation(line: 382, scope: !135, inlinedAt: !137) +!135 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !136, file: !136, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!136 = !DIFile(filename: "tuple.jl", directory: ".") +!137 = !DILocation(line: 477, scope: !138, inlinedAt: !140) +!138 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !139, file: !139, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!139 = !DIFile(filename: "multidimensional.jl", directory: ".") +!140 = !DILocation(line: 142, scope: !63, inlinedAt: !65) +!141 = !DILocation(line: 83, scope: !85, inlinedAt: !142) +!142 = !DILocation(line: 379, scope: !87, inlinedAt: !143) +!143 = !DILocation(line: 16, scope: !144, inlinedAt: !146) +!144 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!145 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/t.jl", directory: ".") +!146 = !DILocation(line: 97, scope: !66, inlinedAt: !68) +!147 = !DILocation(line: 86, scope: !121, inlinedAt: !148) +!148 = !DILocation(line: 754, scope: !149, inlinedAt: !150) +!149 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!150 = !DILocation(line: 689, scope: !151, inlinedAt: !152) +!151 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!152 = !DILocation(line: 699, scope: !151, inlinedAt: !153) +!153 = !DILocation(line: 84, scope: !154, inlinedAt: !143) +!154 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !155, file: !155, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!155 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl", directory: ".") +!156 = !DILocation(line: 513, scope: !85, inlinedAt: !148) +!157 = !DILocation(line: 39, scope: !158, inlinedAt: !159) +!158 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !50, file: !50, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!159 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !161) +!160 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!161 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !163) +!162 = distinct !DISubprogram(name: "kernel_state;", linkageName: "kernel_state", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!163 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !166) +!164 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !165, file: !165, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!165 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl", directory: ".") +!166 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !168) +!167 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_15842", scope: null, file: !165, line: 112, type: !46, scopeLine: 112, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!168 = distinct !DILocation(line: 8, scope: !169, inlinedAt: !171) +!169 = distinct !DISubprogram(name: "#throw_boundserror", linkageName: "julia_#throw_boundserror_15166", scope: null, file: !170, line: 44, type: !46, scopeLine: 44, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, retainedNodes: !47) +!170 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl", directory: ".") +!171 = distinct !DILocation(line: 699, scope: !151, inlinedAt: !153) +!172 = !DILocation(line: 180, scope: !173, inlinedAt: !175) +!173 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !174, file: !174, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!174 = !DIFile(filename: "pointer.jl", directory: ".") +!175 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !166) +!176 = !DILocation(line: 52, scope: !177, inlinedAt: !179) +!177 = distinct !DISubprogram(name: "endpgm;", linkageName: "endpgm", scope: !178, file: !178, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!178 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl", directory: ".") +!179 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !168) +!180 = !DILocation(line: 116, scope: !167, inlinedAt: !168) +!181 = !DILocation(line: 39, scope: !49, inlinedAt: !182) +!182 = !DILocation(line: 0, scope: !183, inlinedAt: !184) +!183 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!184 = !DILocation(line: 0, scope: !185, inlinedAt: !186) +!185 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!186 = !DILocation(line: 85, scope: !187, inlinedAt: !189) +!187 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !188, file: !188, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!188 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl", directory: ".") +!189 = !DILocation(line: 86, scope: !154, inlinedAt: !143) +!190 = !{!191, !191, i64 0, i64 0} +!191 = !{!"custom_tbaa_addrspace(1)", !192, i64 0} +!192 = !{!"custom_tbaa"} +!193 = !DILocation(line: 298, scope: !194, inlinedAt: !195) +!194 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!195 = !DILocation(line: 88, scope: !196, inlinedAt: !198) +!196 = distinct !DISubprogram(name: "__warp_groupreduce;", linkageName: "__warp_groupreduce", scope: !197, file: !197, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!197 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl", directory: ".") +!198 = !DILocation(line: 19, scope: !144, inlinedAt: !146) +!199 = !DILocation(line: 297, scope: !200, inlinedAt: !201) +!200 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!201 = !DILocation(line: 89, scope: !196, inlinedAt: !198) +!202 = !{!"exec_lo"} +!203 = !DILocation(line: 106, scope: !204, inlinedAt: !206) +!204 = distinct !DISubprogram(name: "activelane;", linkageName: "activelane", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!205 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl", directory: ".") +!206 = !DILocation(line: 249, scope: !207, inlinedAt: !208) +!207 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!208 = !DILocation(line: 361, scope: !209, inlinedAt: !210) +!209 = distinct !DISubprogram(name: "#19;", linkageName: "#19", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!210 = !DILocation(line: 228, scope: !211, inlinedAt: !212) +!211 = distinct !DISubprogram(name: "_shfl;", linkageName: "_shfl", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!212 = !DILocation(line: 360, scope: !207, inlinedAt: !213) +!213 = !DILocation(line: 360, scope: !207, inlinedAt: !214) +!214 = !DILocation(line: 174, scope: !215, inlinedAt: !216) +!215 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!216 = !DILocation(line: 12, scope: !217, inlinedAt: !218) +!217 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!218 = !DILocation(line: 78, scope: !219, inlinedAt: !220) +!219 = distinct !DISubprogram(name: "__warp_reduce;", linkageName: "__warp_reduce", scope: !197, file: !197, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!220 = !DILocation(line: 92, scope: !196, inlinedAt: !198) +!221 = !DILocation(line: 741, scope: !222, inlinedAt: !223) +!222 = distinct !DISubprogram(name: "is_top_bit_set;", linkageName: "is_top_bit_set", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!223 = !DILocation(line: 756, scope: !224, inlinedAt: !225) +!224 = distinct !DISubprogram(name: "check_sign_bit;", linkageName: "check_sign_bit", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!225 = !DILocation(line: 805, scope: !226, inlinedAt: !227) +!226 = distinct !DISubprogram(name: "toInt32;", linkageName: "toInt32", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!227 = !DILocation(line: 891, scope: !228, inlinedAt: !229) +!228 = distinct !DISubprogram(name: "Int32;", linkageName: "Int32", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!229 = !DILocation(line: 7, scope: !107, inlinedAt: !206) +!230 = !DILocation(line: 39, scope: !158, inlinedAt: !231) +!231 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !232) +!232 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !233) +!233 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !234) +!234 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !235) +!235 = distinct !DILocation(line: 8, scope: !236, inlinedAt: !237) +!236 = distinct !DISubprogram(name: "#throw_inexacterror", linkageName: "julia_#throw_inexacterror_15168", scope: null, file: !170, line: 40, type: !46, scopeLine: 40, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !6, retainedNodes: !47) +!237 = distinct !DILocation(line: 756, scope: !224, inlinedAt: !225) +!238 = !DILocation(line: 180, scope: !173, inlinedAt: !239) +!239 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !234) +!240 = !DILocation(line: 52, scope: !177, inlinedAt: !241) +!241 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !235) +!242 = !DILocation(line: 116, scope: !167, inlinedAt: !235) +!243 = !DILocation(line: 730, scope: !244, inlinedAt: !210) +!244 = distinct !DISubprogram(name: "reinterpret;", linkageName: "reinterpret", scope: !245, file: !245, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!245 = !DIFile(filename: "essentials.jl", directory: ".") +!246 = !DILocation(line: 347, scope: !247, inlinedAt: !248) +!247 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!248 = !DILocation(line: 1013, scope: !247, inlinedAt: !249) +!249 = !DILocation(line: 251, scope: !207, inlinedAt: !208) +!250 = !DILocation(line: 87, scope: !81, inlinedAt: !249) +!251 = !DILocation(line: 515, scope: !130, inlinedAt: !252) +!252 = !DILocation(line: 426, scope: !253, inlinedAt: !249) +!253 = distinct !DISubprogram(name: ">=;", linkageName: ">=", scope: !88, file: !88, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!254 = !DILocation(line: 796, scope: !255, inlinedAt: !249) +!255 = distinct !DISubprogram(name: "ifelse;", linkageName: "ifelse", scope: !245, file: !245, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!256 = !DILocation(line: 529, scope: !257, inlinedAt: !258) +!257 = distinct !DISubprogram(name: "<<;", linkageName: "<<", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!258 = !DILocation(line: 252, scope: !207, inlinedAt: !208) +!259 = !DILocation(line: 178, scope: !260, inlinedAt: !258) +!260 = distinct !DISubprogram(name: "bpermute;", linkageName: "bpermute", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!261 = !DILocation(line: 491, scope: !262, inlinedAt: !264) +!262 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !263, file: !263, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!263 = !DIFile(filename: "float.jl", directory: ".") +!264 = !DILocation(line: 10, scope: !265, inlinedAt: !218) +!265 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!266 = !DILocation(line: 639, scope: !267, inlinedAt: !269) +!267 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !268, file: !268, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!268 = !DIFile(filename: "promotion.jl", directory: ".") +!269 = !DILocation(line: 483, scope: !267, inlinedAt: !270) +!270 = !DILocation(line: 93, scope: !196, inlinedAt: !198) +!271 = !DILocation(line: 39, scope: !49, inlinedAt: !272) +!272 = !DILocation(line: 0, scope: !183, inlinedAt: !273) +!273 = !DILocation(line: 0, scope: !274, inlinedAt: !275) +!274 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!275 = !DILocation(line: 88, scope: !276, inlinedAt: !277) +!276 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !188, file: !188, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!277 = !DILocation(line: 92, scope: !278, inlinedAt: !270) +!278 = distinct !DISubprogram(name: "#setindex!;", linkageName: "#setindex!", scope: !155, file: !155, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!279 = !{!280, !280, i64 0, i64 0} +!280 = !{!"custom_tbaa_addrspace(3)", !192, i64 0} +!281 = !DILocation(line: 93, scope: !278, inlinedAt: !270) +!282 = !DILocation(line: 6, scope: !283, inlinedAt: !285) +!283 = distinct !DISubprogram(name: "sync_workgroup;", linkageName: "sync_workgroup", scope: !284, file: !284, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!284 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl", directory: ".") +!285 = !DILocation(line: 162, scope: !286, inlinedAt: !287) +!286 = distinct !DISubprogram(name: "#__synchronize;", linkageName: "#__synchronize", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!287 = !DILocation(line: 290, scope: !288, inlinedAt: !290) +!288 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !289, file: !289, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!289 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl", directory: ".") +!290 = !DILocation(line: 94, scope: !196, inlinedAt: !198) +!291 = !DILocation(line: 513, scope: !85, inlinedAt: !292) +!292 = !DILocation(line: 484, scope: !293, inlinedAt: !294) +!293 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !268, file: !268, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!294 = !DILocation(line: 520, scope: !85, inlinedAt: !295) +!295 = !DILocation(line: 97, scope: !196, inlinedAt: !198) +!296 = !DILocation(line: 98, scope: !196, inlinedAt: !198) +!297 = !DILocation(line: 639, scope: !267, inlinedAt: !298) +!298 = !DILocation(line: 483, scope: !267, inlinedAt: !299) +!299 = !DILocation(line: 99, scope: !196, inlinedAt: !198) +!300 = !DILocation(line: 39, scope: !158, inlinedAt: !301) +!301 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !302) +!302 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !303) +!303 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !304) +!304 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !305) +!305 = distinct !DILocation(line: 8, scope: !236, inlinedAt: !306) +!306 = distinct !DILocation(line: 756, scope: !224, inlinedAt: !307) +!307 = !DILocation(line: 805, scope: !226, inlinedAt: !308) +!308 = !DILocation(line: 891, scope: !228, inlinedAt: !309) +!309 = !DILocation(line: 7, scope: !107, inlinedAt: !310) +!310 = !DILocation(line: 249, scope: !207, inlinedAt: !311) +!311 = !DILocation(line: 361, scope: !209, inlinedAt: !312) +!312 = !DILocation(line: 228, scope: !211, inlinedAt: !313) +!313 = !DILocation(line: 360, scope: !207, inlinedAt: !314) +!314 = !DILocation(line: 360, scope: !207, inlinedAt: !315) +!315 = !DILocation(line: 174, scope: !215, inlinedAt: !316) +!316 = !DILocation(line: 12, scope: !217, inlinedAt: !317) +!317 = !DILocation(line: 78, scope: !219, inlinedAt: !299) +!318 = !DILocation(line: 180, scope: !173, inlinedAt: !319) +!319 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !304) +!320 = !DILocation(line: 52, scope: !177, inlinedAt: !321) +!321 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !305) +!322 = !DILocation(line: 116, scope: !167, inlinedAt: !305) +!323 = !DILocation(line: 347, scope: !247, inlinedAt: !324) +!324 = !DILocation(line: 1013, scope: !247, inlinedAt: !325) +!325 = !DILocation(line: 251, scope: !207, inlinedAt: !311) +!326 = !DILocation(line: 87, scope: !81, inlinedAt: !325) +!327 = !DILocation(line: 515, scope: !130, inlinedAt: !328) +!328 = !DILocation(line: 426, scope: !253, inlinedAt: !325) +!329 = !DILocation(line: 796, scope: !255, inlinedAt: !325) +!330 = !DILocation(line: 529, scope: !257, inlinedAt: !331) +!331 = !DILocation(line: 252, scope: !207, inlinedAt: !311) +!332 = !DILocation(line: 178, scope: !260, inlinedAt: !331) +!333 = !DILocation(line: 730, scope: !244, inlinedAt: !312) +!334 = !DILocation(line: 491, scope: !262, inlinedAt: !335) +!335 = !DILocation(line: 10, scope: !265, inlinedAt: !317) +!336 = !DILocation(line: 7, scope: !337, inlinedAt: !335) +!337 = distinct !DISubprogram(name: "A;", linkageName: "A", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!338 = !DILocation(line: 639, scope: !267, inlinedAt: !339) +!339 = !DILocation(line: 21, scope: !144, inlinedAt: !146) +!340 = !DILocation(line: 513, scope: !85, inlinedAt: !341) +!341 = !DILocation(line: 754, scope: !149, inlinedAt: !342) +!342 = !DILocation(line: 689, scope: !151, inlinedAt: !343) +!343 = !DILocation(line: 699, scope: !151, inlinedAt: !344) +!344 = !DILocation(line: 90, scope: !278, inlinedAt: !339) +!345 = !DILocation(line: 39, scope: !158, inlinedAt: !346) +!346 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !347) +!347 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !348) +!348 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !349) +!349 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !350) +!350 = distinct !DILocation(line: 8, scope: !169, inlinedAt: !351) +!351 = distinct !DILocation(line: 699, scope: !151, inlinedAt: !344) +!352 = !DILocation(line: 180, scope: !173, inlinedAt: !353) +!353 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !349) +!354 = !DILocation(line: 52, scope: !177, inlinedAt: !355) +!355 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !350) +!356 = !DILocation(line: 116, scope: !167, inlinedAt: !350) +!357 = !DILocation(line: 491, scope: !262, inlinedAt: !339) +!358 = !DILocation(line: 39, scope: !49, inlinedAt: !359) +!359 = !DILocation(line: 0, scope: !183, inlinedAt: !360) +!360 = !DILocation(line: 0, scope: !274, inlinedAt: !361) +!361 = !DILocation(line: 88, scope: !276, inlinedAt: !362) +!362 = !DILocation(line: 92, scope: !278, inlinedAt: !339) +!363 = !DILocation(line: 93, scope: !278, inlinedAt: !339) +!364 = !DILocation(line: 99, scope: !66, inlinedAt: !68) +!365 = !DILocation(line: 39, scope: !49, inlinedAt: !366) +!366 = !DILocation(line: 0, scope: !183, inlinedAt: !367) +!367 = !DILocation(line: 0, scope: !185, inlinedAt: !368) +!368 = !DILocation(line: 85, scope: !187, inlinedAt: !369) +!369 = !DILocation(line: 86, scope: !154, inlinedAt: !296) +!370 = !DILocation(line: 106, scope: !204, inlinedAt: !310) +!371 = !DILocation(line: 741, scope: !222, inlinedAt: !372) +!372 = !DILocation(line: 756, scope: !224, inlinedAt: !307) diff --git a/devcode/gpu_groupreduce_1!_1.typed.jl b/devcode/gpu_groupreduce_1!_1.typed.jl new file mode 100644 index 000000000..7843c08d3 --- /dev/null +++ b/devcode/gpu_groupreduce_1!_1.typed.jl @@ -0,0 +1,1458 @@ +CodeInfo( + @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 within `gpu_groupreduce_1!` + ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` + │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` + ││┌ @ Base.jl:49 within `getproperty` +1 ───│││ %1 = Base.getfield(__ctx__, :iterspace)::KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.StaticSize{(256,)}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, Nothing} +│ │└└ +│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %2 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ ││││││ %3 = Base.llvmcall(%2, UInt32, Tuple{})::UInt32 +│ ││││└└ +│ ││││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ │││││ %4 = Base.add_int(%3, 0x00000001)::UInt32 +│ ││└└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %5 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%5, UInt32, Tuple{})::UInt32 +│ ││└└└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %7 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%7, UInt32, Tuple{})::UInt32 +│ │└└└└└ +│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %9 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││ %10 = Base.llvmcall(%9, UInt32, Tuple{})::UInt32 +│ ││││└└ +│ ││││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ │││││ %11 = Base.add_int(%10, 0x00000001)::UInt32 +│ ││└└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %12 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%12, UInt32, Tuple{})::UInt32 +│ ││└└└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %14 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%14, UInt32, Tuple{})::UInt32 +│ │└└└└└ +│ │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` +│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` +│ │││┌ @ Base.jl:49 within `getproperty` +│ ││││ %16 = Base.getfield(%1, :blocks)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} +│ ││└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` +│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +│ │││┌ @ ntuple.jl:48 within `ntuple` +│ ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` +│ │││││┌ @ Base.jl:49 within `getproperty` +│ ││││││ %17 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} +│ │││││└ +│ │││││┌ @ tuple.jl:31 within `getindex` +│ ││││││ %18 = $(Expr(:boundscheck, true))::Bool +│ ││││││ %19 = Base.getfield(%17, 1, %18)::Base.OneTo{Int64} +│ │││││└ +│ │││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +│ │││││┌ @ Base.jl:49 within `getproperty` +│ ││││││ %20 = Base.getfield(%19, :stop)::Int64 +│ │││││└ +│ │││││┌ @ operators.jl:379 within `>` +│ ││││││┌ @ int.jl:83 within `<` +│ │││││││ %21 = Base.slt_int(0, %20)::Bool +│ │││││└└ +│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` +│ ││││││ %22 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%22, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, %21)::Nothing +│ ││└└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` +│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +│ │││┌ @ ntuple.jl:48 within `ntuple` +│ ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` +│ ││││││ %24 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} +│ ││││││ Base.llvmcall(%24, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, true)::Nothing +│ ││└└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +│ ││┌ @ abstractarray.jl:1312 within `getindex` +│ │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +│ ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +│ │││││┌ @ number.jl:7 within `convert` +│ ││││││┌ @ boot.jl:892 within `Int64` +│ │││││││┌ @ boot.jl:816 within `toInt64` +│ ││││││││ %26 = Core.zext_int(Core.Int64, %4)::Int64 +│ │││└└└└└ +│ │││┌ @ abstractarray.jl:1358 within `_getindex` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` +│ │││││ %27 = $(Expr(:boundscheck, false))::Bool +└────│││││ goto #6 if not %27 + │││││┌ @ abstractarray.jl:697 within `checkbounds` +2 ───││││││ %29 = Core.tuple(%26)::Tuple{Int64} +│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││││┌ @ abstractarray.jl:389 within `eachindex` +│ │││││││┌ @ abstractarray.jl:137 within `axes1` +│ ││││││││┌ @ multidimensional.jl:358 within `axes` +│ │││││││││┌ @ Base.jl:49 within `getproperty` +│ ││││││││││ %30 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} +│ │││││││││└ +│ │││││││││┌ @ tuple.jl:355 within `map` +│ ││││││││││┌ @ tuple.jl:31 within `getindex` +│ │││││││││││ %31 = $(Expr(:boundscheck, true))::Bool +│ │││││││││││ %32 = Base.getfield(%30, 1, %31)::Base.OneTo{Int64} +│ ││││││││││└ +│ ││││││││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││││││││┌ @ abstractarray.jl:98 within `axes` +│ ││││││││││││┌ @ range.jl:676 within `size` +│ │││││││││││││┌ @ range.jl:786 within `length` +│ ││││││││││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││││││││││ %33 = Base.getfield(%32, :stop)::Int64 +│ ││││││└└└└└└└└└ +│ ││││││┌ @ abstractarray.jl:754 within `checkindex` +│ │││││││┌ @ int.jl:86 within `-` +│ ││││││││ %34 = Base.sub_int(%26, 1)::Int64 +│ │││││││└ +│ │││││││┌ @ essentials.jl:668 within `unsigned` +│ ││││││││┌ @ essentials.jl:730 within `reinterpret` +│ │││││││││ %35 = Base.bitcast(UInt64, %34)::UInt64 +│ │││││││││ @ essentials.jl:730 within `reinterpret` +│ │││││││││ %36 = Base.bitcast(UInt64, %33)::UInt64 +│ │││││││└└ +│ │││││││┌ @ int.jl:513 within `<` +│ ││││││││ %37 = Base.ult_int(%35, %36)::Bool +│ ││││││└└ +│ ││││││ @ abstractarray.jl:699 within `checkbounds` +└────││││││ goto #4 if not %37 +3 ───││││││ goto #5 +4 ───││││││ invoke Base.throw_boundserror(%16::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %29::Tuple{Int64})::Union{} +└────││││││ unreachable +5 ───││││││ nothing::Nothing + │││││└ + │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` + │││││┌ @ Base.jl:49 within `getproperty` +6 ┄──││││││ %43 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} +│ │││││└ +│ │││││┌ @ tuple.jl:382 within `map` +│ ││││││┌ @ tuple.jl:31 within `getindex` +│ │││││││ %44 = $(Expr(:boundscheck, true))::Bool +│ │││││││ %45 = Base.getfield(%43, 1, %44)::Base.OneTo{Int64} +│ ││││││└ +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +│ │││││││┌ @ array.jl:3076 within `getindex` +│ ││││││││┌ @ range.jl:922 within `_getindex` +│ │││││││││ %46 = $(Expr(:boundscheck, false))::Bool +└────│││││││││ goto #11 if not %46 + │││││││││┌ @ abstractarray.jl:697 within `checkbounds` +7 ───││││││││││ %48 = Core.tuple(%26)::Tuple{Int64} +│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││││││││┌ @ abstractarray.jl:389 within `eachindex` +│ │││││││││││┌ @ abstractarray.jl:137 within `axes1` +│ ││││││││││││┌ @ abstractarray.jl:98 within `axes` +│ │││││││││││││┌ @ range.jl:676 within `size` +│ ││││││││││││││┌ @ range.jl:786 within `length` +│ │││││││││││││││┌ @ Base.jl:49 within `getproperty` +│ ││││││││││││││││ %49 = Base.getfield(%45, :stop)::Int64 +│ ││││││││││└└└└└└ +│ ││││││││││┌ @ abstractarray.jl:754 within `checkindex` +│ │││││││││││┌ @ int.jl:86 within `-` +│ ││││││││││││ %50 = Base.sub_int(%26, 1)::Int64 +│ │││││││││││└ +│ │││││││││││┌ @ essentials.jl:668 within `unsigned` +│ ││││││││││││┌ @ essentials.jl:730 within `reinterpret` +│ │││││││││││││ %51 = Base.bitcast(UInt64, %50)::UInt64 +│ │││││││││││││ @ essentials.jl:730 within `reinterpret` +│ │││││││││││││ %52 = Base.bitcast(UInt64, %49)::UInt64 +│ │││││││││││└└ +│ │││││││││││┌ @ int.jl:513 within `<` +│ ││││││││││││ %53 = Base.ult_int(%51, %52)::Bool +│ ││││││││││└└ +│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` +└────││││││││││ goto #9 if not %53 +8 ───││││││││││ goto #10 +9 ───││││││││││ invoke Base.throw_boundserror(%45::Base.OneTo{Int64}, %48::Tuple{Int64})::Union{} +└────││││││││││ unreachable +10 ──││││││││││ nothing::Nothing +11 ┄─││││││││││ goto #12 +12 ──││││││││││ goto #13 +13 ──││││││││││ goto #14 +14 ──││││││││││ goto #15 +15 ──││││││││││ goto #16 +16 ──││││││││││ goto #17 +17 ──││││││││││ goto #18 + │││└└└└└└└ + │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 + ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 + │││││┌ @ number.jl:7 within `convert` + ││││││┌ @ boot.jl:892 within `Int64` + │││││││┌ @ boot.jl:816 within `toInt64` +18 ──││││││││ %66 = Core.zext_int(Core.Int64, %11)::Int64 +│ │││└└└└└ +│ │││┌ @ abstractarray.jl:1358 within `_getindex` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` +│ │││││ %67 = $(Expr(:boundscheck, false))::Bool +└────│││││ goto #23 if not %67 + │││││┌ @ abstractarray.jl:697 within `checkbounds` +19 ──││││││ %69 = Core.tuple(%66)::Tuple{Int64} +│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││││┌ @ abstractarray.jl:754 within `checkindex` +│ │││││││┌ @ int.jl:86 within `-` +│ ││││││││ %70 = Base.sub_int(%66, 1)::Int64 +│ │││││││└ +│ │││││││┌ @ essentials.jl:668 within `unsigned` +│ ││││││││┌ @ essentials.jl:730 within `reinterpret` +│ │││││││││ %71 = Base.bitcast(UInt64, %70)::UInt64 +│ │││││││└└ +│ │││││││┌ @ int.jl:513 within `<` +│ ││││││││ %72 = Base.ult_int(%71, 0x0000000000000100)::Bool +│ ││││││└└ +│ ││││││ @ abstractarray.jl:699 within `checkbounds` +└────││││││ goto #21 if not %72 +20 ──││││││ goto #22 +21 ──││││││ invoke Base.throw_boundserror($(QuoteNode(CartesianIndices((256,))))::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %69::Tuple{Int64})::Union{} +└────││││││ unreachable +22 ──││││││ nothing::Nothing + │││││└ + │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` + │││││┌ @ tuple.jl:382 within `map` + ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` + │││││││┌ @ array.jl:3076 within `getindex` + ││││││││┌ @ range.jl:922 within `_getindex` +23 ┄─│││││││││ %78 = $(Expr(:boundscheck, false))::Bool +└────│││││││││ goto #28 if not %78 + │││││││││┌ @ abstractarray.jl:697 within `checkbounds` +24 ──││││││││││ %80 = Core.tuple(%66)::Tuple{Int64} +│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││││││││┌ @ abstractarray.jl:754 within `checkindex` +│ │││││││││││┌ @ int.jl:86 within `-` +│ ││││││││││││ %81 = Base.sub_int(%66, 1)::Int64 +│ │││││││││││└ +│ │││││││││││┌ @ essentials.jl:668 within `unsigned` +│ ││││││││││││┌ @ essentials.jl:730 within `reinterpret` +│ │││││││││││││ %82 = Base.bitcast(UInt64, %81)::UInt64 +│ │││││││││││└└ +│ │││││││││││┌ @ int.jl:513 within `<` +│ ││││││││││││ %83 = Base.ult_int(%82, 0x0000000000000100)::Bool +│ ││││││││││└└ +│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` +└────││││││││││ goto #26 if not %83 +25 ──││││││││││ goto #27 +26 ──││││││││││ invoke Base.throw_boundserror($(QuoteNode(Base.OneTo(256)))::Base.OneTo{Int64}, %80::Tuple{Int64})::Union{} +└────││││││││││ unreachable +27 ──││││││││││ nothing::Nothing +28 ┄─││││││││││ goto #29 +29 ──││││││││││ goto #30 +30 ──││││││││││ goto #31 +31 ──││││││││││ goto #32 +32 ──││││││││││ goto #33 +33 ──││││││││││ goto #34 +34 ──││││││││││ goto #35 + ││└└└└└└└└ + ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 + ││┌ @ ntuple.jl:48 within `ntuple` + │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` + ││││┌ @ int.jl:86 within `-` +35 ──│││││ %96 = Base.sub_int(%26, 1)::Int64 +│ ││││└ +│ ││││┌ @ int.jl:88 within `*` +│ │││││ %97 = Base.mul_int(%96, 256)::Int64 +│ ││││└ +│ ││││┌ @ int.jl:87 within `+` +│ │││││ %98 = Base.add_int(%97, %66)::Int64 +│ ││└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +└────││ goto #36 + │└ + │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` + │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` + ││┌ @ Base.jl:49 within `getproperty` +36 ──│││ %100 = Base.getfield(__ctx__, :ndrange)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} +│ │└└ +│ │┌ @ multidimensional.jl:477 within `in` +│ ││┌ @ Base.jl:49 within `getproperty` +│ │││ %101 = Base.getfield(%100, :indices)::Tuple{Base.OneTo{Int64}} +│ ││└ +│ ││┌ @ tuple.jl:382 within `map` +│ │││┌ @ tuple.jl:31 within `getindex` +│ ││││ %102 = $(Expr(:boundscheck, true))::Bool +│ ││││ %103 = Base.getfield(%101, 1, %102)::Base.OneTo{Int64} +│ │││└ +│ │││┌ @ range.jl:1426 within `in` +│ ││││┌ @ int.jl:514 within `<=` +│ │││││ %104 = Base.sle_int(1, %98)::Bool +│ ││││└ +│ ││││┌ @ range.jl:846 within `last` +│ │││││┌ @ Base.jl:49 within `getproperty` +│ ││││││ %105 = Base.getfield(%103, :stop)::Int64 +│ ││││└└ +│ ││││┌ @ int.jl:514 within `<=` +│ │││││ %106 = Base.sle_int(%98, %105)::Bool +│ ││││└ +│ ││││┌ @ bool.jl:38 within `&` +│ │││││ %107 = Base.and_int(%104, %106)::Bool +│ │└└└└ +└────│ goto #37 + └ +37 ── goto #198 if not %107 + @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 within `gpu_groupreduce_1!` + ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:15 within `macro expansion` + │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:122 within `#__index_Global_Linear` + ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` + │││┌ @ Base.jl:49 within `getproperty` +38 ──││││ %110 = Base.getfield(__ctx__, :iterspace)::KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.StaticSize{(256,)}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, Nothing} +│ ││└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %111 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ │││││││ %112 = Base.llvmcall(%111, UInt32, Tuple{})::UInt32 +│ │││││└└ +│ │││││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ ││││││ %113 = Base.add_int(%112, 0x00000001)::UInt32 +│ │││└└└ +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %114 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%114, UInt32, Tuple{})::UInt32 +│ │││└└└└ +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %116 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%116, UInt32, Tuple{})::UInt32 +│ ││└└└└└ +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %118 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ │││││││ %119 = Base.llvmcall(%118, UInt32, Tuple{})::UInt32 +│ │││││└└ +│ │││││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ ││││││ %120 = Base.add_int(%119, 0x00000001)::UInt32 +│ │││└└└ +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %121 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%121, UInt32, Tuple{})::UInt32 +│ │││└└└└ +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││││ %123 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%123, UInt32, Tuple{})::UInt32 +│ ││└└└└└ +│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` +│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` +│ ││││┌ @ Base.jl:49 within `getproperty` +│ │││││ %125 = Base.getfield(%110, :blocks)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} +│ │││└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` +│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +│ ││││┌ @ ntuple.jl:48 within `ntuple` +│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` +│ ││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││ %126 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} +│ ││││││└ +│ ││││││┌ @ tuple.jl:31 within `getindex` +│ │││││││ %127 = $(Expr(:boundscheck, true))::Bool +│ │││││││ %128 = Base.getfield(%126, 1, %127)::Base.OneTo{Int64} +│ ││││││└ +│ ││││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +│ ││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││ %129 = Base.getfield(%128, :stop)::Int64 +│ ││││││└ +│ ││││││┌ @ operators.jl:379 within `>` +│ │││││││┌ @ int.jl:83 within `<` +│ ││││││││ %130 = Base.slt_int(0, %129)::Bool +│ ││││││└└ +│ ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` +│ │││││││ %131 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%131, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, %130)::Nothing +│ │││└└└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` +│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +│ ││││┌ @ ntuple.jl:48 within `ntuple` +│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +│ ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` +│ │││││││ %133 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} +│ │││││││ Base.llvmcall(%133, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, true)::Nothing +│ │││└└└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +│ │││┌ @ abstractarray.jl:1312 within `getindex` +│ ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +│ │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +│ ││││││┌ @ number.jl:7 within `convert` +│ │││││││┌ @ boot.jl:892 within `Int64` +│ ││││││││┌ @ boot.jl:816 within `toInt64` +│ │││││││││ %135 = Core.zext_int(Core.Int64, %113)::Int64 +│ ││││└└└└└ +│ ││││┌ @ abstractarray.jl:1358 within `_getindex` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` +│ ││││││ %136 = $(Expr(:boundscheck, false))::Bool +└────││││││ goto #43 if not %136 + ││││││┌ @ abstractarray.jl:697 within `checkbounds` +39 ──│││││││ %138 = Core.tuple(%135)::Tuple{Int64} +│ │││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││││││┌ @ abstractarray.jl:389 within `eachindex` +│ ││││││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││││││┌ @ multidimensional.jl:358 within `axes` +│ ││││││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││││││ %139 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} +│ ││││││││││└ +│ ││││││││││┌ @ tuple.jl:355 within `map` +│ │││││││││││┌ @ tuple.jl:31 within `getindex` +│ ││││││││││││ %140 = $(Expr(:boundscheck, true))::Bool +│ ││││││││││││ %141 = Base.getfield(%139, 1, %140)::Base.OneTo{Int64} +│ │││││││││││└ +│ │││││││││││┌ @ abstractarray.jl:137 within `axes1` +│ ││││││││││││┌ @ abstractarray.jl:98 within `axes` +│ │││││││││││││┌ @ range.jl:676 within `size` +│ ││││││││││││││┌ @ range.jl:786 within `length` +│ │││││││││││││││┌ @ Base.jl:49 within `getproperty` +│ ││││││││││││││││ %142 = Base.getfield(%141, :stop)::Int64 +│ │││││││└└└└└└└└└ +│ │││││││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││││││┌ @ int.jl:86 within `-` +│ │││││││││ %143 = Base.sub_int(%135, 1)::Int64 +│ ││││││││└ +│ ││││││││┌ @ essentials.jl:668 within `unsigned` +│ │││││││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││││││ %144 = Base.bitcast(UInt64, %143)::UInt64 +│ ││││││││││ @ essentials.jl:730 within `reinterpret` +│ ││││││││││ %145 = Base.bitcast(UInt64, %142)::UInt64 +│ ││││││││└└ +│ ││││││││┌ @ int.jl:513 within `<` +│ │││││││││ %146 = Base.ult_int(%144, %145)::Bool +│ │││││││└└ +│ │││││││ @ abstractarray.jl:699 within `checkbounds` +└────│││││││ goto #41 if not %146 +40 ──│││││││ goto #42 +41 ──│││││││ invoke Base.throw_boundserror(%125::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %138::Tuple{Int64})::Union{} +└────│││││││ unreachable +42 ──│││││││ nothing::Nothing + ││││││└ + ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` + ││││││┌ @ Base.jl:49 within `getproperty` +43 ┄─│││││││ %152 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} +│ ││││││└ +│ ││││││┌ @ tuple.jl:382 within `map` +│ │││││││┌ @ tuple.jl:31 within `getindex` +│ ││││││││ %153 = $(Expr(:boundscheck, true))::Bool +│ ││││││││ %154 = Base.getfield(%152, 1, %153)::Base.OneTo{Int64} +│ │││││││└ +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +│ ││││││││┌ @ array.jl:3076 within `getindex` +│ │││││││││┌ @ range.jl:922 within `_getindex` +│ ││││││││││ %155 = $(Expr(:boundscheck, false))::Bool +└────││││││││││ goto #48 if not %155 + ││││││││││┌ @ abstractarray.jl:697 within `checkbounds` +44 ──│││││││││││ %157 = Core.tuple(%135)::Tuple{Int64} +│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││││││││││┌ @ abstractarray.jl:389 within `eachindex` +│ ││││││││││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││││││││││┌ @ abstractarray.jl:98 within `axes` +│ ││││││││││││││┌ @ range.jl:676 within `size` +│ │││││││││││││││┌ @ range.jl:786 within `length` +│ ││││││││││││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││││││││││││ %158 = Base.getfield(%154, :stop)::Int64 +│ │││││││││││└└└└└└ +│ │││││││││││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││││││││││┌ @ int.jl:86 within `-` +│ │││││││││││││ %159 = Base.sub_int(%135, 1)::Int64 +│ ││││││││││││└ +│ ││││││││││││┌ @ essentials.jl:668 within `unsigned` +│ │││││││││││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││││││││││ %160 = Base.bitcast(UInt64, %159)::UInt64 +│ ││││││││││││││ @ essentials.jl:730 within `reinterpret` +│ ││││││││││││││ %161 = Base.bitcast(UInt64, %158)::UInt64 +│ ││││││││││││└└ +│ ││││││││││││┌ @ int.jl:513 within `<` +│ │││││││││││││ %162 = Base.ult_int(%160, %161)::Bool +│ │││││││││││└└ +│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` +└────│││││││││││ goto #46 if not %162 +45 ──│││││││││││ goto #47 +46 ──│││││││││││ invoke Base.throw_boundserror(%154::Base.OneTo{Int64}, %157::Tuple{Int64})::Union{} +└────│││││││││││ unreachable +47 ──│││││││││││ nothing::Nothing +48 ┄─│││││││││││ goto #49 +49 ──│││││││││││ goto #50 +50 ──│││││││││││ goto #51 +51 ──│││││││││││ goto #52 +52 ──│││││││││││ goto #53 +53 ──│││││││││││ goto #54 +54 ──│││││││││││ goto #55 + ││││└└└└└└└ + ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 + │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 + ││││││┌ @ number.jl:7 within `convert` + │││││││┌ @ boot.jl:892 within `Int64` + ││││││││┌ @ boot.jl:816 within `toInt64` +55 ──│││││││││ %175 = Core.zext_int(Core.Int64, %120)::Int64 +│ ││││└└└└└ +│ ││││┌ @ abstractarray.jl:1358 within `_getindex` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` +│ ││││││ %176 = $(Expr(:boundscheck, false))::Bool +└────││││││ goto #60 if not %176 + ││││││┌ @ abstractarray.jl:697 within `checkbounds` +56 ──│││││││ %178 = Core.tuple(%175)::Tuple{Int64} +│ │││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││││││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││││││┌ @ int.jl:86 within `-` +│ │││││││││ %179 = Base.sub_int(%175, 1)::Int64 +│ ││││││││└ +│ ││││││││┌ @ essentials.jl:668 within `unsigned` +│ │││││││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││││││ %180 = Base.bitcast(UInt64, %179)::UInt64 +│ ││││││││└└ +│ ││││││││┌ @ int.jl:513 within `<` +│ │││││││││ %181 = Base.ult_int(%180, 0x0000000000000100)::Bool +│ │││││││└└ +│ │││││││ @ abstractarray.jl:699 within `checkbounds` +└────│││││││ goto #58 if not %181 +57 ──│││││││ goto #59 +58 ──│││││││ invoke Base.throw_boundserror($(QuoteNode(CartesianIndices((256,))))::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %178::Tuple{Int64})::Union{} +└────│││││││ unreachable +59 ──│││││││ nothing::Nothing + ││││││└ + ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` + ││││││┌ @ tuple.jl:382 within `map` + │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` + ││││││││┌ @ array.jl:3076 within `getindex` + │││││││││┌ @ range.jl:922 within `_getindex` +60 ┄─││││││││││ %187 = $(Expr(:boundscheck, false))::Bool +└────││││││││││ goto #65 if not %187 + ││││││││││┌ @ abstractarray.jl:697 within `checkbounds` +61 ──│││││││││││ %189 = Core.tuple(%175)::Tuple{Int64} +│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││││││││││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││││││││││┌ @ int.jl:86 within `-` +│ │││││││││││││ %190 = Base.sub_int(%175, 1)::Int64 +│ ││││││││││││└ +│ ││││││││││││┌ @ essentials.jl:668 within `unsigned` +│ │││││││││││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││││││││││ %191 = Base.bitcast(UInt64, %190)::UInt64 +│ ││││││││││││└└ +│ ││││││││││││┌ @ int.jl:513 within `<` +│ │││││││││││││ %192 = Base.ult_int(%191, 0x0000000000000100)::Bool +│ │││││││││││└└ +│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` +└────│││││││││││ goto #63 if not %192 +62 ──│││││││││││ goto #64 +63 ──│││││││││││ invoke Base.throw_boundserror($(QuoteNode(Base.OneTo(256)))::Base.OneTo{Int64}, %189::Tuple{Int64})::Union{} +└────│││││││││││ unreachable +64 ──│││││││││││ nothing::Nothing +65 ┄─│││││││││││ goto #66 +66 ──│││││││││││ goto #67 +67 ──│││││││││││ goto #68 +68 ──│││││││││││ goto #69 +69 ──│││││││││││ goto #70 +70 ──│││││││││││ goto #71 +71 ──│││││││││││ goto #72 + │││└└└└└└└└ + │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 + │││┌ @ ntuple.jl:48 within `ntuple` + ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` + │││││┌ @ int.jl:86 within `-` +72 ──││││││ %205 = Base.sub_int(%135, 1)::Int64 +│ │││││└ +│ │││││┌ @ int.jl:88 within `*` +│ ││││││ %206 = Base.mul_int(%205, 256)::Int64 +│ │││││└ +│ │││││┌ @ int.jl:87 within `+` +│ ││││││ %207 = Base.add_int(%206, %175)::Int64 +│ │││└└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +└────│││ goto #73 + ││└ + ││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:124 within `#__index_Global_Linear` + ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` + │││┌ @ Base.jl:49 within `getproperty` +73 ──││││ %209 = Base.getfield(__ctx__, :ndrange)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} +│ ││└└ +│ ││┌ @ multidimensional.jl:582 within `LinearIndices` +│ │││┌ @ Base.jl:49 within `getproperty` +│ ││││ %210 = Base.getfield(%209, :indices)::Tuple{Base.OneTo{Int64}} +│ │││└ +│ │││ @ multidimensional.jl:582 within `LinearIndices` @ indices.jl:484 +│ │││ %211 = %new(LinearIndices{1, Tuple{Base.OneTo{Int64}}}, %210)::LinearIndices{1, Tuple{Base.OneTo{Int64}}} +│ ││└ +│ ││┌ @ abstractarray.jl:1312 within `getindex` +│ │││┌ @ abstractarray.jl:1336 within `_getindex` +│ ││││┌ @ indices.jl:518 within `getindex` +│ │││││ %212 = $(Expr(:boundscheck, false))::Bool +└────│││││ goto #78 if not %212 + │││││┌ @ abstractarray.jl:697 within `checkbounds` +74 ──││││││ %214 = Core.tuple(%207)::Tuple{Int64} +│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││││┌ @ abstractarray.jl:389 within `eachindex` +│ │││││││┌ @ abstractarray.jl:137 within `axes1` +│ ││││││││┌ @ indices.jl:513 within `axes` +│ │││││││││┌ @ tuple.jl:355 within `map` +│ ││││││││││┌ @ tuple.jl:31 within `getindex` +│ │││││││││││ %215 = $(Expr(:boundscheck, true))::Bool +│ │││││││││││ %216 = Base.getfield(%210, 1, %215)::Base.OneTo{Int64} +│ ││││││││││└ +│ ││││││││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││││││││┌ @ abstractarray.jl:98 within `axes` +│ ││││││││││││┌ @ range.jl:676 within `size` +│ │││││││││││││┌ @ range.jl:786 within `length` +│ ││││││││││││││┌ @ Base.jl:49 within `getproperty` +│ │││││││││││││││ %217 = Base.getfield(%216, :stop)::Int64 +│ ││││││└└└└└└└└└ +│ ││││││┌ @ abstractarray.jl:754 within `checkindex` +│ │││││││┌ @ int.jl:86 within `-` +│ ││││││││ %218 = Base.sub_int(%207, 1)::Int64 +│ │││││││└ +│ │││││││┌ @ essentials.jl:668 within `unsigned` +│ ││││││││┌ @ essentials.jl:730 within `reinterpret` +│ │││││││││ %219 = Base.bitcast(UInt64, %218)::UInt64 +│ │││││││││ @ essentials.jl:730 within `reinterpret` +│ │││││││││ %220 = Base.bitcast(UInt64, %217)::UInt64 +│ │││││││└└ +│ │││││││┌ @ int.jl:513 within `<` +│ ││││││││ %221 = Base.ult_int(%219, %220)::Bool +│ ││││││└└ +│ ││││││ @ abstractarray.jl:699 within `checkbounds` +└────││││││ goto #76 if not %221 +75 ──││││││ goto #77 +76 ──││││││ invoke Base.throw_boundserror(%211::LinearIndices{1, Tuple{Base.OneTo{Int64}}}, %214::Tuple{Int64})::Union{} +└────││││││ unreachable +77 ──││││││ nothing::Nothing +78 ┄─││││││ goto #79 +79 ──││││││ goto #80 +80 ──││││││ goto #81 +81 ──││││││ goto #82 + │└└└└└ + │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` + │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:71 within `length` + ││┌ @ Base.jl:49 within `getproperty` +82 ──│││ %231 = Base.getfield(x, :len)::Int64 +│ │└└ +│ │┌ @ operators.jl:379 within `>` +│ ││┌ @ int.jl:83 within `<` +│ │││ %232 = Base.slt_int(%231, %207)::Bool +│ │└└ +└────│ goto #84 if not %232 +83 ──│ goto #91 + │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` +84 ──││ %235 = $(Expr(:boundscheck, true))::Bool +└────││ goto #89 if not %235 + ││┌ @ abstractarray.jl:697 within `checkbounds` +85 ──│││ %237 = Core.tuple(%207)::Tuple{Int64} +│ │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││┌ @ abstractarray.jl:389 within `eachindex` +│ ││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││┌ @ abstractarray.jl:98 within `axes` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` +│ │││││││┌ @ Base.jl:49 within `getproperty` +│ ││││││││ %238 = Base.getfield(x, :dims)::Tuple{Int64} +│ ││││││└└ +│ ││││││┌ @ tuple.jl:355 within `map` +│ │││││││┌ @ tuple.jl:31 within `getindex` +│ ││││││││ %239 = $(Expr(:boundscheck, true))::Bool +│ ││││││││ %240 = Base.getfield(%238, 1, %239)::Int64 +│ │││└└└└└ +│ │││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││┌ @ int.jl:86 within `-` +│ │││││ %241 = Base.sub_int(%207, 1)::Int64 +│ ││││└ +│ ││││┌ @ essentials.jl:668 within `unsigned` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %242 = Base.bitcast(UInt64, %241)::UInt64 +│ ││││││ @ essentials.jl:730 within `reinterpret` +│ ││││││ %243 = Base.bitcast(UInt64, %240)::UInt64 +│ ││││└└ +│ ││││┌ @ int.jl:513 within `<` +│ │││││ %244 = Base.ult_int(%242, %243)::Bool +│ │││└└ +│ │││ @ abstractarray.jl:699 within `checkbounds` +└────│││ goto #87 if not %244 +86 ──│││ goto #88 +87 ──│││ invoke Base.throw_boundserror(x::AMDGPU.Device.ROCDeviceVector{Float32, 1}, %237::Tuple{Int64})::Union{} +└────│││ unreachable +88 ──│││ nothing::Nothing + ││└ + ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` + ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` + │││┌ @ Base.jl:49 within `getproperty` +89 ┄─││││ %250 = Base.getfield(x, :ptr)::Core.LLVMPtr{Float32, 1} +│ ││└└ +│ ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +│ │││┌ @ none within `pointerref` +│ ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││ %251 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine float @entry(i8 addrspace(1)* %0, i64 %1) #0 {\nentry:\n %2 = bitcast i8 addrspace(1)* %0 to float addrspace(1)*\n %3 = getelementptr inbounds float, float addrspace(1)* %2, i64 %1\n %4 = load float, float addrspace(1)* %3, align 4, !tbaa !0\n ret float %4\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(1)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} +│ │││││┌ @ int.jl:86 within `-` +│ ││││││ %252 = Base.sub_int(%207, 1)::Int64 +│ │││││└ +│ │││││ %253 = Base.llvmcall(%251, Float32, Tuple{Core.LLVMPtr{Float32, 1}, Int64}, %250, %252)::Float32 +└────│││││ goto #90 +90 ──│││││ nothing::Nothing + │└└└└ +91 ┄─│ %256 = φ (#83 => neutral, #90 => %253)::Float32 +│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:17 within `macro expansion` +│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` +│ ││ %257 = %new(Main.A, %256, %256)::A +│ │└ +│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:18 within `macro expansion` +│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` +│ ││ %258 = %new(Main.A, neutral, neutral)::A +│ │└ +│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +│ │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:85 within `__warp_groupreduce` +│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:236 within `macro expansion` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:151 within `#SharedMemory` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `alloc_special` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││ %259 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n@\"alloc_special_##static_shmem#231\" = external addrspace(3) global [32 x [2 x float]], align 32\n\n; Function Attrs: alwaysinline\ndefine i8 addrspace(3)* @entry() #0 {\nentry:\n ret i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @\"alloc_special_##static_shmem#231\" to i8 addrspace(3)*)\n}\n\nattributes #0 = { alwaysinline }\n", "entry")::Tuple{String, String} +│ ││││││ %260 = Base.llvmcall(%259, Core.LLVMPtr{A, 3}, Tuple{})::Core.LLVMPtr{A, 3} +│ ││││└└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:152 within `#SharedMemory` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:50 within `ROCDeviceArray` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:59 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:36 +│ │││││ %261 = %new(AMDGPU.Device.ROCDeviceVector{A, 3}, (32,), %260, 32)::AMDGPU.Device.ROCDeviceVector{A, 3} +│ ││└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:87 within `__warp_groupreduce` +│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:114 within `#__index_Local_Linear` +│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││││ %262 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││││ %263 = Base.llvmcall(%262, UInt32, Tuple{})::UInt32 +│ ││││││└└ +│ ││││││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ │││││││ %264 = Base.add_int(%263, 0x00000001)::UInt32 +│ ││││└└└ +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││││ %265 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││││ Base.llvmcall(%265, UInt32, Tuple{})::UInt32 +│ ││││└└└└ +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ ││││││││ %267 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} +│ ││││││││ Base.llvmcall(%267, UInt32, Tuple{})::UInt32 +│ ││└└└└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` +│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ │││ %269 = Base.sub_int(%264, 0x00000001)::UInt32 +│ ││└ +│ ││ %270 = KernelAbstractions.__warpsize::UInt32 +│ ││┌ @ int.jl:298 within `rem` +│ │││ %271 = Base.checked_urem_int(%269, %270)::UInt32 +│ ││└ +│ ││┌ @ int.jl:1013 within `+` @ int.jl:87 +│ │││ %272 = Base.add_int(%271, 0x00000001)::UInt32 +│ ││└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` +│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ │││ %273 = Base.sub_int(%264, 0x00000001)::UInt32 +│ ││└ +│ ││ %274 = KernelAbstractions.__warpsize::UInt32 +│ ││┌ @ int.jl:297 within `div` +│ │││ %275 = Base.checked_udiv_int(%273, %274)::UInt32 +│ ││└ +│ ││┌ @ int.jl:1013 within `+` @ int.jl:87 +└────│││ %276 = Base.add_int(%275, 0x00000001)::UInt32 + ││└ + ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` + ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` +92 ┄─│││ %277 = φ (#91 => 0x00000010, #128 => %369)::UInt32 +│ │││ %278 = φ (#91 => %256, #128 => %366)::Float32 +│ │││ %279 = φ (#91 => %256, #128 => %367)::Float32 +│ │││ %280 = φ (#91 => %256, #128 => %366)::Float32 +│ │││ %281 = φ (#91 => %256, #128 => %367)::Float32 +│ │││ %282 = φ (#91 => %257, #128 => %368)::A +│ │││┌ @ operators.jl:379 within `>` +│ ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 +│ │││││ %283 = Base.ult_int(0x00000000, %277)::Bool +│ │││└└ +└────│││ goto #129 if not %283 + │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` + │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 + ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` +93 ──│││││ %285 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %286 = Base.bitcast(Int32, %278)::Int32 +│ │││││└ +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` +│ ││││││││ %287 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ │││││││└ +│ │││││││┌ @ number.jl:7 within `convert` +│ ││││││││┌ @ boot.jl:891 within `Int32` +│ │││││││││┌ @ boot.jl:805 within `toInt32` +│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +│ ││││││││││││ %288 = Core.lshr_int(%287, 31)::UInt32 +│ ││││││││││││ %289 = Core.trunc_int(Core.UInt8, %288)::UInt8 +│ ││││││││││││ %290 = Core.eq_int(%289, 0x01)::Bool +│ │││││││││││└ +└────│││││││││││ goto #95 if not %290 +94 ──│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %287::UInt32)::Union{} +└────│││││││││││ unreachable +95 ──│││││││││││ goto #96 + ││││││││││└ +96 ──││││││││││ %295 = Core.bitcast(Core.Int32, %287)::Int32 +└────││││││││││ goto #97 +97 ──││││││││││ goto #98 +98 ──││││││││││ goto #99 + │││││││└└└ + │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` + │││││││┌ @ boot.jl:891 within `Int32` + ││││││││┌ @ boot.jl:805 within `toInt32` + │││││││││┌ @ boot.jl:756 within `check_sign_bit` + ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +99 ──│││││││││││ %299 = Core.lshr_int(%277, 31)::UInt32 +│ │││││││││││ %300 = Core.trunc_int(Core.UInt8, %299)::UInt8 +│ │││││││││││ %301 = Core.eq_int(%300, 0x01)::Bool +│ ││││││││││└ +└────││││││││││ goto #101 if not %301 +100 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %277::UInt32)::Union{} +└────││││││││││ unreachable +101 ─││││││││││ goto #102 + │││││││││└ +102 ─│││││││││ %306 = Core.bitcast(Core.Int32, %277)::Int32 +└────│││││││││ goto #103 +103 ─│││││││││ goto #104 + │││││││└└ + │││││││┌ @ int.jl:87 within `+` +104 ─││││││││ %309 = Base.add_int(%295, %306)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ ││││││││ %310 = Base.sub_int(%285, 0x00000001)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:1011 within `&` +│ ││││││││┌ @ int.jl:554 within `rem` +│ │││││││││ %311 = Base.bitcast(UInt32, %295)::UInt32 +│ ││││││││└ +│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 +│ ││││││││ %312 = Base.and_int(%311, %310)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:87 within `+` +│ ││││││││ %313 = Base.add_int(%312, %277)::UInt32 +│ │││││││└ +│ │││││││┌ @ operators.jl:426 within `>=` +│ ││││││││┌ @ int.jl:515 within `<=` +│ │││││││││ %314 = Base.ule_int(%285, %313)::Bool +│ │││││││└└ +│ │││││││┌ @ essentials.jl:796 within `ifelse` +│ ││││││││ %315 = Core.ifelse(%314, %295, %309)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +│ │││││││┌ @ int.jl:529 within `<<` +│ ││││││││ %316 = Base.shl_int(%315, 0x02)::Int32 +│ │││││││└ +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` +│ ││││││││ %317 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%316), :(%286), :(%286), :(%316)))::Int32 +└────││││││││ goto #105 +105 ─││││││││ goto #106 + │││││└└└ + │││││┌ @ essentials.jl:730 within `reinterpret` +106 ─││││││ %320 = Base.bitcast(Float32, %317)::Float32 +└────││││││ goto #107 +107 ─││││││ goto #108 +108 ─││││││ goto #109 +109 ─││││││ goto #110 + ││││└└ + ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 + ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` +110 ─│││││ %325 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %326 = Base.bitcast(Int32, %279)::Int32 +│ │││││└ +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` +│ ││││││││ %327 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ │││││││└ +│ │││││││┌ @ number.jl:7 within `convert` +│ ││││││││┌ @ boot.jl:891 within `Int32` +│ │││││││││┌ @ boot.jl:805 within `toInt32` +│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +│ ││││││││││││ %328 = Core.lshr_int(%327, 31)::UInt32 +│ ││││││││││││ %329 = Core.trunc_int(Core.UInt8, %328)::UInt8 +│ ││││││││││││ %330 = Core.eq_int(%329, 0x01)::Bool +│ │││││││││││└ +└────│││││││││││ goto #112 if not %330 +111 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %327::UInt32)::Union{} +└────│││││││││││ unreachable +112 ─│││││││││││ goto #113 + ││││││││││└ +113 ─││││││││││ %335 = Core.bitcast(Core.Int32, %327)::Int32 +└────││││││││││ goto #114 +114 ─││││││││││ goto #115 +115 ─││││││││││ goto #116 + │││││││└└└ + │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` + │││││││┌ @ boot.jl:891 within `Int32` + ││││││││┌ @ boot.jl:805 within `toInt32` + │││││││││┌ @ boot.jl:756 within `check_sign_bit` + ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +116 ─│││││││││││ %339 = Core.lshr_int(%277, 31)::UInt32 +│ │││││││││││ %340 = Core.trunc_int(Core.UInt8, %339)::UInt8 +│ │││││││││││ %341 = Core.eq_int(%340, 0x01)::Bool +│ ││││││││││└ +└────││││││││││ goto #118 if not %341 +117 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %277::UInt32)::Union{} +└────││││││││││ unreachable +118 ─││││││││││ goto #119 + │││││││││└ +119 ─│││││││││ %346 = Core.bitcast(Core.Int32, %277)::Int32 +└────│││││││││ goto #120 +120 ─│││││││││ goto #121 + │││││││└└ + │││││││┌ @ int.jl:87 within `+` +121 ─││││││││ %349 = Base.add_int(%335, %346)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ ││││││││ %350 = Base.sub_int(%325, 0x00000001)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:1011 within `&` +│ ││││││││┌ @ int.jl:554 within `rem` +│ │││││││││ %351 = Base.bitcast(UInt32, %335)::UInt32 +│ ││││││││└ +│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 +│ ││││││││ %352 = Base.and_int(%351, %350)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:87 within `+` +│ ││││││││ %353 = Base.add_int(%352, %277)::UInt32 +│ │││││││└ +│ │││││││┌ @ operators.jl:426 within `>=` +│ ││││││││┌ @ int.jl:515 within `<=` +│ │││││││││ %354 = Base.ule_int(%325, %353)::Bool +│ │││││││└└ +│ │││││││┌ @ essentials.jl:796 within `ifelse` +│ ││││││││ %355 = Core.ifelse(%354, %335, %349)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +│ │││││││┌ @ int.jl:529 within `<<` +│ ││││││││ %356 = Base.shl_int(%355, 0x02)::Int32 +│ │││││││└ +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` +│ ││││││││ %357 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%356), :(%326), :(%326), :(%356)))::Int32 +└────││││││││ goto #122 +122 ─││││││││ goto #123 + │││││└└└ + │││││┌ @ essentials.jl:730 within `reinterpret` +123 ─││││││ %360 = Base.bitcast(Float32, %357)::Float32 +└────││││││ goto #124 +124 ─││││││ goto #125 +125 ─││││││ goto #126 +126 ─││││││ goto #127 +127 ─││││││ goto #128 + │││└└└ + │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 +128 ─││││ %366 = Base.add_float(%280, %320)::Float32 +│ ││││ %367 = Base.add_float(%281, %360)::Float32 +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` +│ │││││ %368 = %new(Main.A, %366, %367)::A +│ │││└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` +│ │││┌ @ int.jl:528 within `>>` +│ ││││ %369 = Base.lshr_int(%277, 0x01)::UInt32 +│ │││└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` +└────│││ goto #92 + │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` +129 ─│││ goto #130 + ││└ + ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` + ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 +130 ─│││ %372 = (%272 === 0x00000001)::Bool +│ ││└ +└────││ goto #138 if not %372 + ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` +131 ─│││ %374 = $(Expr(:boundscheck, false))::Bool +└────│││ goto #136 if not %374 + │││┌ @ abstractarray.jl:697 within `checkbounds` +132 ─││││ %376 = Core.tuple(%276)::Tuple{UInt32} +│ ││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││┌ @ abstractarray.jl:752 within `checkindex` +│ │││││┌ @ int.jl:521 within `<=` @ promotion.jl:485 +│ ││││││┌ @ promotion.jl:400 within `promote` +│ │││││││┌ @ promotion.jl:375 within `_promote` +│ ││││││││┌ @ number.jl:7 within `convert` +│ │││││││││┌ @ boot.jl:897 within `UInt64` +│ ││││││││││┌ @ boot.jl:871 within `toUInt64` +│ │││││││││││ %377 = Core.zext_int(Core.UInt64, %276)::UInt64 +│ ││││││└└└└└ +│ ││││││ @ int.jl:521 within `<=` @ promotion.jl:485 @ int.jl:515 +│ ││││││ %378 = Base.ule_int(0x0000000000000001, %377)::Bool +│ ││││││ @ int.jl:521 within `<=` +│ ││││││┌ @ bool.jl:39 within `|` +│ │││││││ %379 = Base.or_int(false, %378)::Bool +│ ││││││└ +│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 +│ ││││││┌ @ promotion.jl:400 within `promote` +│ │││││││┌ @ promotion.jl:375 within `_promote` +│ ││││││││┌ @ number.jl:7 within `convert` +│ │││││││││┌ @ boot.jl:897 within `UInt64` +│ ││││││││││┌ @ boot.jl:871 within `toUInt64` +│ │││││││││││ %380 = Core.zext_int(Core.UInt64, %276)::UInt64 +│ ││││││└└└└└ +│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 @ int.jl:515 +│ ││││││ %381 = Base.ule_int(%380, 0x0000000000000020)::Bool +│ ││││││ @ int.jl:522 within `<=` +│ ││││││┌ @ bool.jl:38 within `&` +│ │││││││ %382 = Base.and_int(true, %381)::Bool +│ │││││└└ +│ │││││┌ @ bool.jl:38 within `&` +│ ││││││ %383 = Base.and_int(%379, %382)::Bool +│ ││││└└ +│ ││││ @ abstractarray.jl:699 within `checkbounds` +└────││││ goto #134 if not %383 +133 ─││││ goto #135 +134 ─││││ invoke Base.throw_boundserror(%261::AMDGPU.Device.ROCDeviceVector{A, 3}, %376::Tuple{UInt32})::Union{} +└────││││ unreachable +135 ─││││ nothing::Nothing + │││└ + │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` + │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` + ││││┌ @ none within `pointerset` + │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +136 ┄││││││ %389 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine void @entry(i8 addrspace(3)* %0, [2 x float] %1, i32 %2) #0 {\nentry:\n %3 = bitcast i8 addrspace(3)* %0 to [2 x float] addrspace(3)*\n %4 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %3, i32 %2\n store [2 x float] %1, [2 x float] addrspace(3)* %4, align 4, !tbaa !0\n ret void\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(3)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} +│ ││││││┌ @ int.jl:86 within `-` +│ │││││││ %390 = Base.sub_int(%276, 0x00000001)::UInt32 +│ ││││││└ +│ ││││││ Base.llvmcall(%389, Nothing, Tuple{Core.LLVMPtr{A, 3}, A, UInt32}, %260, %282, %390)::Nothing +│ │││└└└ +│ │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` +└────│││ goto #137 +137 ─│││ goto #139 +138 ─│││ nothing::Nothing + ││└ + ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` + ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` + │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` + ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` +139 ┄│││││ $(Expr(:foreigncall, "llvm.amdgcn.s.barrier", Nothing, svec(), 0, :(:llvmcall)))::Nothing +│ ││└└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` +│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ │││ %396 = Base.sub_int(%264, 0x00000001)::UInt32 +│ ││└ +│ ││┌ @ int.jl:520 within `<` @ promotion.jl:484 +│ │││┌ @ promotion.jl:400 within `promote` +│ ││││┌ @ promotion.jl:375 within `_promote` +│ │││││┌ @ number.jl:7 within `convert` +│ ││││││┌ @ boot.jl:897 within `UInt64` +│ │││││││┌ @ boot.jl:871 within `toUInt64` +│ ││││││││ %397 = Core.zext_int(Core.UInt64, %396)::UInt64 +│ │││└└└└└ +│ │││ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 +│ │││ %398 = Base.ult_int(%397, 0x0000000000000008)::Bool +│ │││ @ int.jl:520 within `<` +│ │││┌ @ bool.jl:38 within `&` +│ ││││ %399 = Base.and_int(true, %398)::Bool +│ ││└└ +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` +└────││ goto #147 if not %399 + ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` +140 ─│││ %401 = $(Expr(:boundscheck, false))::Bool +└────│││ goto #145 if not %401 + │││┌ @ abstractarray.jl:697 within `checkbounds` +141 ─││││ %403 = Core.tuple(%272)::Tuple{UInt32} +│ ││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ ││││┌ @ abstractarray.jl:752 within `checkindex` +│ │││││┌ @ int.jl:521 within `<=` @ promotion.jl:485 +│ ││││││┌ @ promotion.jl:400 within `promote` +│ │││││││┌ @ promotion.jl:375 within `_promote` +│ ││││││││┌ @ number.jl:7 within `convert` +│ │││││││││┌ @ boot.jl:897 within `UInt64` +│ ││││││││││┌ @ boot.jl:871 within `toUInt64` +│ │││││││││││ %404 = Core.zext_int(Core.UInt64, %272)::UInt64 +│ ││││││└└└└└ +│ ││││││ @ int.jl:521 within `<=` @ promotion.jl:485 @ int.jl:515 +│ ││││││ %405 = Base.ule_int(0x0000000000000001, %404)::Bool +│ ││││││ @ int.jl:521 within `<=` +│ ││││││┌ @ bool.jl:39 within `|` +│ │││││││ %406 = Base.or_int(false, %405)::Bool +│ ││││││└ +│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 +│ ││││││┌ @ promotion.jl:400 within `promote` +│ │││││││┌ @ promotion.jl:375 within `_promote` +│ ││││││││┌ @ number.jl:7 within `convert` +│ │││││││││┌ @ boot.jl:897 within `UInt64` +│ ││││││││││┌ @ boot.jl:871 within `toUInt64` +│ │││││││││││ %407 = Core.zext_int(Core.UInt64, %272)::UInt64 +│ ││││││└└└└└ +│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 @ int.jl:515 +│ ││││││ %408 = Base.ule_int(%407, 0x0000000000000020)::Bool +│ ││││││ @ int.jl:522 within `<=` +│ ││││││┌ @ bool.jl:38 within `&` +│ │││││││ %409 = Base.and_int(true, %408)::Bool +│ │││││└└ +│ │││││┌ @ bool.jl:38 within `&` +│ ││││││ %410 = Base.and_int(%406, %409)::Bool +│ ││││└└ +│ ││││ @ abstractarray.jl:699 within `checkbounds` +└────││││ goto #143 if not %410 +142 ─││││ goto #144 +143 ─││││ invoke Base.throw_boundserror(%261::AMDGPU.Device.ROCDeviceVector{A, 3}, %403::Tuple{UInt32})::Union{} +└────││││ unreachable +144 ─││││ nothing::Nothing + │││└ + │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` + │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` + ││││┌ @ none within `pointerref` + │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +145 ┄││││││ %416 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine [2 x float] @entry(i8 addrspace(3)* %0, i32 %1) #0 {\nentry:\n %2 = bitcast i8 addrspace(3)* %0 to [2 x float] addrspace(3)*\n %3 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %2, i32 %1\n %4 = load [2 x float], [2 x float] addrspace(3)* %3, align 4, !tbaa !0\n ret [2 x float] %4\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(3)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} +│ ││││││┌ @ int.jl:86 within `-` +│ │││││││ %417 = Base.sub_int(%272, 0x00000001)::UInt32 +│ ││││││└ +│ ││││││ %418 = Base.llvmcall(%416, A, Tuple{Core.LLVMPtr{A, 3}, UInt32}, %260, %417)::A +└────││││││ goto #146 +146 ─││││││ goto #148 +147 ─││││││ nothing::Nothing + ││└└└└ +148 ┄││ %422 = φ (#146 => %418, #147 => %258)::A +│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +│ ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 +│ │││ %423 = (%276 === 0x00000001)::Bool +│ ││└ +└────││ goto #189 if not %423 +149 ─││ nothing::Nothing + ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` +150 ┄│││ %426 = φ (#149 => 0x00000010, #186 => %518)::UInt32 +│ │││ %427 = φ (#149 => %422, #186 => %517)::A +│ │││┌ @ operators.jl:379 within `>` +│ ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 +│ │││││ %428 = Base.ult_int(0x00000000, %426)::Bool +│ │││└└ +└────│││ goto #187 if not %428 + │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` + │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` + ││││┌ @ Base.jl:49 within `getproperty` +151 ─│││││ %430 = Base.getfield(%427, :x)::Float32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` +│ │││││ %431 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %432 = Base.bitcast(Int32, %430)::Int32 +│ │││││└ +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` +│ ││││││││ %433 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ │││││││└ +│ │││││││┌ @ number.jl:7 within `convert` +│ ││││││││┌ @ boot.jl:891 within `Int32` +│ │││││││││┌ @ boot.jl:805 within `toInt32` +│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +│ ││││││││││││ %434 = Core.lshr_int(%433, 31)::UInt32 +│ ││││││││││││ %435 = Core.trunc_int(Core.UInt8, %434)::UInt8 +│ ││││││││││││ %436 = Core.eq_int(%435, 0x01)::Bool +│ │││││││││││└ +└────│││││││││││ goto #153 if not %436 +152 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %433::UInt32)::Union{} +└────│││││││││││ unreachable +153 ─│││││││││││ goto #154 + ││││││││││└ +154 ─││││││││││ %441 = Core.bitcast(Core.Int32, %433)::Int32 +└────││││││││││ goto #155 +155 ─││││││││││ goto #156 +156 ─││││││││││ goto #157 + │││││││└└└ + │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` + │││││││┌ @ boot.jl:891 within `Int32` + ││││││││┌ @ boot.jl:805 within `toInt32` + │││││││││┌ @ boot.jl:756 within `check_sign_bit` + ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +157 ─│││││││││││ %445 = Core.lshr_int(%426, 31)::UInt32 +│ │││││││││││ %446 = Core.trunc_int(Core.UInt8, %445)::UInt8 +│ │││││││││││ %447 = Core.eq_int(%446, 0x01)::Bool +│ ││││││││││└ +└────││││││││││ goto #159 if not %447 +158 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %426::UInt32)::Union{} +└────││││││││││ unreachable +159 ─││││││││││ goto #160 + │││││││││└ +160 ─│││││││││ %452 = Core.bitcast(Core.Int32, %426)::Int32 +└────│││││││││ goto #161 +161 ─│││││││││ goto #162 + │││││││└└ + │││││││┌ @ int.jl:87 within `+` +162 ─││││││││ %455 = Base.add_int(%441, %452)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ ││││││││ %456 = Base.sub_int(%431, 0x00000001)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:1011 within `&` +│ ││││││││┌ @ int.jl:554 within `rem` +│ │││││││││ %457 = Base.bitcast(UInt32, %441)::UInt32 +│ ││││││││└ +│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 +│ ││││││││ %458 = Base.and_int(%457, %456)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:87 within `+` +│ ││││││││ %459 = Base.add_int(%458, %426)::UInt32 +│ │││││││└ +│ │││││││┌ @ operators.jl:426 within `>=` +│ ││││││││┌ @ int.jl:515 within `<=` +│ │││││││││ %460 = Base.ule_int(%431, %459)::Bool +│ │││││││└└ +│ │││││││┌ @ essentials.jl:796 within `ifelse` +│ ││││││││ %461 = Core.ifelse(%460, %441, %455)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +│ │││││││┌ @ int.jl:529 within `<<` +│ ││││││││ %462 = Base.shl_int(%461, 0x02)::Int32 +│ │││││││└ +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` +│ ││││││││ %463 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%462), :(%432), :(%432), :(%462)))::Int32 +└────││││││││ goto #163 +163 ─││││││││ goto #164 + │││││└└└ + │││││┌ @ essentials.jl:730 within `reinterpret` +164 ─││││││ %466 = Base.bitcast(Float32, %463)::Float32 +└────││││││ goto #165 +165 ─││││││ goto #166 +166 ─││││││ goto #167 +167 ─││││││ goto #168 + ││││└└ + ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` + ││││┌ @ Base.jl:49 within `getproperty` +168 ─│││││ %471 = Base.getfield(%427, :y)::Float32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` +│ │││││ %472 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %473 = Base.bitcast(Int32, %471)::Int32 +│ │││││└ +│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` +│ ││││││││ %474 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 +│ │││││││└ +│ │││││││┌ @ number.jl:7 within `convert` +│ ││││││││┌ @ boot.jl:891 within `Int32` +│ │││││││││┌ @ boot.jl:805 within `toInt32` +│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +│ ││││││││││││ %475 = Core.lshr_int(%474, 31)::UInt32 +│ ││││││││││││ %476 = Core.trunc_int(Core.UInt8, %475)::UInt8 +│ ││││││││││││ %477 = Core.eq_int(%476, 0x01)::Bool +│ │││││││││││└ +└────│││││││││││ goto #170 if not %477 +169 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %474::UInt32)::Union{} +└────│││││││││││ unreachable +170 ─│││││││││││ goto #171 + ││││││││││└ +171 ─││││││││││ %482 = Core.bitcast(Core.Int32, %474)::Int32 +└────││││││││││ goto #172 +172 ─││││││││││ goto #173 +173 ─││││││││││ goto #174 + │││││││└└└ + │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` + │││││││┌ @ boot.jl:891 within `Int32` + ││││││││┌ @ boot.jl:805 within `toInt32` + │││││││││┌ @ boot.jl:756 within `check_sign_bit` + ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` +174 ─│││││││││││ %486 = Core.lshr_int(%426, 31)::UInt32 +│ │││││││││││ %487 = Core.trunc_int(Core.UInt8, %486)::UInt8 +│ │││││││││││ %488 = Core.eq_int(%487, 0x01)::Bool +│ ││││││││││└ +└────││││││││││ goto #176 if not %488 +175 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %426::UInt32)::Union{} +└────││││││││││ unreachable +176 ─││││││││││ goto #177 + │││││││││└ +177 ─│││││││││ %493 = Core.bitcast(Core.Int32, %426)::Int32 +└────│││││││││ goto #178 +178 ─│││││││││ goto #179 + │││││││└└ + │││││││┌ @ int.jl:87 within `+` +179 ─││││││││ %496 = Base.add_int(%482, %493)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 +│ ││││││││ %497 = Base.sub_int(%472, 0x00000001)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:1011 within `&` +│ ││││││││┌ @ int.jl:554 within `rem` +│ │││││││││ %498 = Base.bitcast(UInt32, %482)::UInt32 +│ ││││││││└ +│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 +│ ││││││││ %499 = Base.and_int(%498, %497)::UInt32 +│ │││││││└ +│ │││││││┌ @ int.jl:87 within `+` +│ ││││││││ %500 = Base.add_int(%499, %426)::UInt32 +│ │││││││└ +│ │││││││┌ @ operators.jl:426 within `>=` +│ ││││││││┌ @ int.jl:515 within `<=` +│ │││││││││ %501 = Base.ule_int(%472, %500)::Bool +│ │││││││└└ +│ │││││││┌ @ essentials.jl:796 within `ifelse` +│ ││││││││ %502 = Core.ifelse(%501, %482, %496)::Int32 +│ │││││││└ +│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +│ │││││││┌ @ int.jl:529 within `<<` +│ ││││││││ %503 = Base.shl_int(%502, 0x02)::Int32 +│ │││││││└ +│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` +│ ││││││││ %504 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%503), :(%473), :(%473), :(%503)))::Int32 +└────││││││││ goto #180 +180 ─││││││││ goto #181 + │││││└└└ + │││││┌ @ essentials.jl:730 within `reinterpret` +181 ─││││││ %507 = Base.bitcast(Float32, %504)::Float32 +└────││││││ goto #182 +182 ─││││││ goto #183 +183 ─││││││ goto #184 +184 ─││││││ goto #185 +185 ─││││││ goto #186 + │││└└└ + │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` + ││││┌ @ Base.jl:49 within `getproperty` +186 ─│││││ %513 = Base.getfield(%427, :x)::Float32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 +│ ││││ %514 = Base.add_float(%513, %466)::Float32 +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +│ ││││┌ @ Base.jl:49 within `getproperty` +│ │││││ %515 = Base.getfield(%427, :y)::Float32 +│ ││││└ +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 +│ ││││ %516 = Base.add_float(%515, %507)::Float32 +│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` +│ │││││ %517 = %new(Main.A, %514, %516)::A +│ │││└└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` +│ │││┌ @ int.jl:528 within `>>` +│ ││││ %518 = Base.lshr_int(%426, 0x01)::UInt32 +│ │││└ +│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` +└────│││ goto #150 + │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` +187 ─│││ goto #188 +188 ─│││ nothing::Nothing + ││└ + ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:100 within `__warp_groupreduce` +189 ┄││ %522 = φ (#188 => %427, #148 => %422)::A +└────││ goto #190 + │└ + │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` + │┌ @ promotion.jl:639 within `==` +190 ─││ %524 = (%207 === 1)::Bool +│ │└ +└────│ goto #198 if not %524 + │┌ @ Base.jl:49 within `getproperty` +191 ─││ %526 = Base.getfield(%522, :x)::Float32 +│ ││ %527 = Base.getfield(%522, :y)::Float32 +│ │└ +│ │┌ @ float.jl:491 within `+` +│ ││ %528 = Base.add_float(%526, %527)::Float32 +│ │└ +│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` +│ ││ %529 = $(Expr(:boundscheck, true))::Bool +└────││ goto #196 if not %529 + ││┌ @ abstractarray.jl:697 within `checkbounds` +192 ─│││ %531 = Core.tuple(1)::Tuple{Int64} +│ │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +│ │││┌ @ abstractarray.jl:389 within `eachindex` +│ ││││┌ @ abstractarray.jl:137 within `axes1` +│ │││││┌ @ abstractarray.jl:98 within `axes` +│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` +│ │││││││┌ @ Base.jl:49 within `getproperty` +│ ││││││││ %532 = Base.getfield(y, :dims)::Tuple{Int64} +│ ││││││└└ +│ ││││││┌ @ tuple.jl:355 within `map` +│ │││││││┌ @ tuple.jl:31 within `getindex` +│ ││││││││ %533 = $(Expr(:boundscheck, true))::Bool +│ ││││││││ %534 = Base.getfield(%532, 1, %533)::Int64 +│ │││└└└└└ +│ │││┌ @ abstractarray.jl:754 within `checkindex` +│ ││││┌ @ int.jl:86 within `-` +│ │││││ %535 = Base.sub_int(1, 1)::Int64 +│ ││││└ +│ ││││┌ @ essentials.jl:668 within `unsigned` +│ │││││┌ @ essentials.jl:730 within `reinterpret` +│ ││││││ %536 = Base.bitcast(UInt64, %535)::UInt64 +│ ││││││ @ essentials.jl:730 within `reinterpret` +│ ││││││ %537 = Base.bitcast(UInt64, %534)::UInt64 +│ ││││└└ +│ ││││┌ @ int.jl:513 within `<` +│ │││││ %538 = Base.ult_int(%536, %537)::Bool +│ │││└└ +│ │││ @ abstractarray.jl:699 within `checkbounds` +└────│││ goto #194 if not %538 +193 ─│││ goto #195 +194 ─│││ invoke Base.throw_boundserror(y::AMDGPU.Device.ROCDeviceVector{Float32, 1}, %531::Tuple{Int64})::Union{} +└────│││ unreachable +195 ─│││ nothing::Nothing + ││└ + ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` + ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` + │││┌ @ Base.jl:49 within `getproperty` +196 ┄││││ %544 = Base.getfield(y, :ptr)::Core.LLVMPtr{Float32, 1} +│ ││└└ +│ ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` +│ │││┌ @ none within `pointerset` +│ ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 +│ │││││ %545 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine void @entry(i8 addrspace(1)* %0, float %1, i64 %2) #0 {\nentry:\n %3 = bitcast i8 addrspace(1)* %0 to float addrspace(1)*\n %4 = getelementptr inbounds float, float addrspace(1)* %3, i64 %2\n store float %1, float addrspace(1)* %4, align 4, !tbaa !0\n ret void\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(1)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} +│ │││││┌ @ int.jl:86 within `-` +│ ││││││ %546 = Base.sub_int(1, 1)::Int64 +│ │││││└ +│ │││││ Base.llvmcall(%545, Nothing, Tuple{Core.LLVMPtr{Float32, 1}, Float32, Int64}, %544, %528, %546)::Nothing +│ ││└└└ +│ ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` +└────││ goto #197 +197 ─││ nothing::Nothing + └└ + @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 within `gpu_groupreduce_1!` +198 ┄ return Main.nothing +) => Nothing diff --git a/devcode/gpu_groupreduce_1!_1.unopt.ll b/devcode/gpu_groupreduce_1!_1.unopt.ll new file mode 100644 index 000000000..fd0dd4948 --- /dev/null +++ b/devcode/gpu_groupreduce_1!_1.unopt.ll @@ -0,0 +1,3264 @@ +; ModuleID = 'start' +source_filename = "start" +target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32: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-ni:10:11:12:13" +target triple = "amdgcn-amd-amdhsa" + +@jl_nothing = external local_unnamed_addr addrspace(1) constant {}* +@_j_const_1 = private unnamed_addr addrspace(1) constant [1 x i64] [i64 32], align 8 +@_j_const_2 = private unnamed_addr addrspace(1) constant i64 32, align 8 +@_j_const_3 = private unnamed_addr addrspace(1) constant i64 1, align 8 +@"alloc_special_##static_shmem#231" = external addrspace(3) global [32 x [2 x float]], align 32 +@exception.5 = private unnamed_addr constant [10 x i8] c"exception\00", align 1 +@_j_const_1.19 = private unnamed_addr addrspace(1) constant i32 1, align 4 +@__oclc_wavefrontsize64 = internal unnamed_addr addrspace(4) constant i8 0, align 1 + +declare {}*** @julia.get_pgcstack() local_unnamed_addr + +; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) +declare void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* noalias nocapture writeonly, i8 addrspace(5)* noalias nocapture readonly, i64, i1 immarg) #0 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.end.p5i8(i64 immarg, i8 addrspace(5)* nocapture) #1 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.wavefrontsize() #2 + +; Function Attrs: cold noreturn nounwind +declare void @llvm.trap() #3 + +; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) +declare i32 @llvm.amdgcn.ds.bpermute(i32, i32) #4 + +; Function Attrs: convergent nocallback nofree nounwind willreturn +declare void @llvm.amdgcn.s.barrier() #5 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) +declare void @llvm.lifetime.start.p5i8(i64 immarg, i8 addrspace(5)* nocapture) #1 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workgroup.id.x() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workgroup.id.y() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workgroup.id.z() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workitem.id.x() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workitem.id.y() #2 + +; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) +declare i32 @llvm.amdgcn.workitem.id.z() #2 + +; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) +declare void @llvm.assume(i1 noundef) #6 + +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:40 within `#throw_inexacterror` +; Function Attrs: alwaysinline noreturn +define internal fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* noundef nonnull %0, i32 zeroext %1) unnamed_addr #7 !dbg !44 { +top: + %pgcstack = call {}*** @julia.get_pgcstack() + %2 = bitcast {}*** %pgcstack to {}** + %current_task = getelementptr inbounds {}*, {}** %2, i64 -14 + %3 = bitcast {}** %current_task to i64* + %world_age = getelementptr inbounds i64, i64* %3, i64 15 +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` + %4 = bitcast {}* inttoptr (i64 130978849182544 to {}*) to {} addrspace(10)**, !dbg !48 + %5 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %4, i64 0, !dbg !48 + %6 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !48 + %7 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %6, i64 0, !dbg !48 + %8 = load {}*, {}* addrspace(1)* @jl_nothing, align 8, !dbg !48, !tbaa !49, !invariant.load !47, !alias.scope !53, !noalias !56, !nonnull !47 + call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception.5 to i64)), !dbg !48 + call fastcc void @gpu_signal_exception(), !dbg !48 + call void @llvm.trap(), !dbg !48 + unreachable, !dbg !48 +} + +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:44 within `#throw_boundserror` +; Function Attrs: alwaysinline noreturn +define internal fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(24) %0, [1 x i64] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(8) %1) unnamed_addr #7 !dbg !61 { +top: + %pgcstack = call {}*** @julia.get_pgcstack() + %2 = bitcast {}*** %pgcstack to {}** + %current_task = getelementptr inbounds {}*, {}** %2, i64 -14 + %3 = bitcast {}** %current_task to i64* + %world_age = getelementptr inbounds i64, i64* %3, i64 15 +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` + %4 = bitcast {}* inttoptr (i64 130978849182544 to {}*) to {} addrspace(10)**, !dbg !62 + %5 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %4, i64 0, !dbg !62 + %6 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !62 + %7 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %6, i64 0, !dbg !62 + %8 = load {}*, {}* addrspace(1)* @jl_nothing, align 8, !dbg !62, !tbaa !49, !invariant.load !47, !alias.scope !53, !noalias !56, !nonnull !47 + call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception.5 to i64)), !dbg !62 + call fastcc void @gpu_signal_exception(), !dbg !62 + call void @llvm.trap(), !dbg !62 + unreachable, !dbg !62 +} + +; @ none within `gpu_groupreduce_1!` +define amdgpu_kernel void @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_({ [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } %2, float %3) local_unnamed_addr #8 !dbg !63 { +conversion: + %4 = alloca { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, align 8, addrspace(5) + %5 = addrspacecast { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(5)* %4 to { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* + store { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, align 8 + %6 = alloca { [1 x i64], i8 addrspace(1)*, i64 }, align 8, addrspace(5) + %7 = addrspacecast { [1 x i64], i8 addrspace(1)*, i64 } addrspace(5)* %6 to { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* + store { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, align 8 + %8 = alloca { [1 x i64], i8 addrspace(1)*, i64 }, align 8, addrspace(5) + %9 = addrspacecast { [1 x i64], i8 addrspace(1)*, i64 } addrspace(5)* %8 to { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* + store { [1 x i64], i8 addrspace(1)*, i64 } %2, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, align 8 + br label %top + +top: ; preds = %conversion + %10 = alloca [1 x i64], align 8, addrspace(5) + %11 = alloca [1 x i64], align 8, addrspace(5) + %12 = alloca [1 x i64], align 8, addrspace(5) + %13 = alloca [1 x i64], align 8, addrspace(5) + %14 = alloca [1 x i64], align 8, addrspace(5) + %15 = alloca [1 x i64], align 8, addrspace(5) + %16 = alloca [1 x i64], align 8, addrspace(5) + %17 = alloca [1 x i64], align 8, addrspace(5) + %18 = alloca [1 x [1 x [1 x i64]]], align 8, addrspace(5) + %19 = alloca [1 x i64], align 8, addrspace(5) + %20 = alloca [2 x float], align 4, addrspace(5) + %21 = alloca [2 x float], align 4, addrspace(5) + %22 = alloca { [1 x i64], i8 addrspace(3)*, i64 }, align 8, addrspace(5) + %23 = alloca [2 x float], align 4, addrspace(5) + %24 = alloca [2 x float], align 4, addrspace(5) + %25 = alloca [2 x float], align 4, addrspace(5) + %26 = alloca [1 x i32], align 4, addrspace(5) + %27 = alloca [1 x i32], align 4, addrspace(5) + %28 = alloca [2 x float], align 4, addrspace(5) + %29 = alloca [2 x float], align 4, addrspace(5) + %30 = alloca [2 x float], align 4, addrspace(5) + %31 = alloca [2 x float], align 4, addrspace(5) + %32 = alloca [2 x float], align 4, addrspace(5) + %33 = alloca [2 x float], align 4, addrspace(5) + %34 = alloca [2 x float], align 4, addrspace(5) + %35 = alloca [2 x float], align 4, addrspace(5) + %36 = alloca [1 x i64], align 8, addrspace(5) + %37 = alloca [1 x i64], align 8, addrspace(5) + %pgcstack = call {}*** @julia.get_pgcstack() + %38 = bitcast {}*** %pgcstack to {}** + %current_task = getelementptr inbounds {}*, {}** %38, i64 -14 + %39 = bitcast {}** %current_task to i64* + %world_age = getelementptr inbounds i64, i64* %39, i64 15 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` +; ││┌ @ Base.jl:49 within `getproperty` + %40 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !65 + %41 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %40, i64 0, !dbg !65 + %42 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 1, !dbg !65 +; │└└ +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %43 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !78 + %44 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %43, i64 0, !dbg !78 + %45 = addrspacecast {}* inttoptr (i64 130978984494560 to {}*) to {} addrspace(10)*, !dbg !78 + %46 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %45, 0, !dbg !78 + %47 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !78 + %48 = insertvalue [2 x {} addrspace(10)*] %46, {} addrspace(10)* %47, 1, !dbg !78 + %49 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !78 + %50 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %49, i64 0, !dbg !78 + %51 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !78, !range !92 +; ││││└└ +; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %52 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !93 + %53 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %52, i64 0, !dbg !93 + %54 = add i32 %51, 1, !dbg !93 +; ││└└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %55 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !97 + %56 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %55, i64 0, !dbg !97 + %57 = addrspacecast {}* inttoptr (i64 130978984495056 to {}*) to {} addrspace(10)*, !dbg !97 + %58 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %57, 0, !dbg !97 + %59 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !97 + %60 = insertvalue [2 x {} addrspace(10)*] %58, {} addrspace(10)* %59, 1, !dbg !97 + %61 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !97 + %62 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %61, i64 0, !dbg !97 + %63 = call i32 @llvm.amdgcn.workgroup.id.y(), !dbg !97, !range !92 +; ││└└└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %64 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !104 + %65 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %64, i64 0, !dbg !104 + %66 = addrspacecast {}* inttoptr (i64 130978984496048 to {}*) to {} addrspace(10)*, !dbg !104 + %67 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %66, 0, !dbg !104 + %68 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !104 + %69 = insertvalue [2 x {} addrspace(10)*] %67, {} addrspace(10)* %68, 1, !dbg !104 + %70 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !104 + %71 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %70, i64 0, !dbg !104 + %72 = call i32 @llvm.amdgcn.workgroup.id.z(), !dbg !104, !range !92 +; │└└└└└ +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %73 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !111 + %74 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %73, i64 0, !dbg !111 + %75 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !111 + %76 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %75, 0, !dbg !111 + %77 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !111 + %78 = insertvalue [2 x {} addrspace(10)*] %76, {} addrspace(10)* %77, 1, !dbg !111 + %79 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !111 + %80 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %79, i64 0, !dbg !111 + %81 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !111, !range !120 +; ││││└└ +; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %82 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !121 + %83 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %82, i64 0, !dbg !121 + %84 = add i32 %81, 1, !dbg !121 +; ││└└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %85 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !123 + %86 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %85, i64 0, !dbg !123 + %87 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !123 + %88 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %87, 0, !dbg !123 + %89 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !123 + %90 = insertvalue [2 x {} addrspace(10)*] %88, {} addrspace(10)* %89, 1, !dbg !123 + %91 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !123 + %92 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %91, i64 0, !dbg !123 + %93 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !123, !range !120 +; ││└└└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %94 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !130 + %95 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %94, i64 0, !dbg !130 + %96 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !130 + %97 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %96, 0, !dbg !130 + %98 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !130 + %99 = insertvalue [2 x {} addrspace(10)*] %97, {} addrspace(10)* %98, 1, !dbg !130 + %100 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !130 + %101 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %100, i64 0, !dbg !130 + %102 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !130, !range !120 +; │└└└└└ +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` +; │││┌ @ Base.jl:49 within `getproperty` + %103 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !137 + %104 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %103, i64 0, !dbg !137 + %105 = getelementptr inbounds { [1 x [1 x [1 x i64]]] }, { [1 x [1 x [1 x i64]]] } addrspace(11)* %42, i32 0, i32 0, !dbg !137 +; ││└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +; │││┌ @ ntuple.jl:48 within `ntuple` +; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` +; │││││┌ @ Base.jl:49 within `getproperty` + %106 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !143 + %107 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %106, i64 0, !dbg !143 + %108 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %105, i32 0, i32 0, !dbg !143 +; │││││└ +; │││││┌ @ tuple.jl:31 within `getindex` + %109 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !152 + %110 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %109, i64 0, !dbg !152 + %111 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %108, i32 0, i32 0, !dbg !152 +; │││││└ +; │││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +; │││││┌ @ Base.jl:49 within `getproperty` + %112 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !155 + %113 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %112, i64 0, !dbg !155 + %114 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %111, i32 0, i32 0, !dbg !155 +; │││││└ +; │││││┌ @ operators.jl:379 within `>` +; ││││││┌ @ int.jl:83 within `<` + %115 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !157 + %116 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %115, i64 0, !dbg !157 + %117 = load i64, i64 addrspace(11)* %114, align 8, !dbg !157, !alias.scope !53, !noalias !56 + %118 = icmp slt i64 0, %117, !dbg !157 +; │││││└└ +; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` + %119 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !162 + %120 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %119, i64 0, !dbg !162 + %121 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !162 + %122 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %121, 0, !dbg !162 + %123 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !162 + %124 = insertvalue [2 x {} addrspace(10)*] %122, {} addrspace(10)* %123, 1, !dbg !162 + %125 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !162 + %126 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %125, i64 0, !dbg !162 + %127 = zext i1 %118 to i8, !dbg !162 + call void @llvm.assume(i1 %118), !dbg !162 +; ││└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +; │││┌ @ ntuple.jl:48 within `ntuple` +; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` + %128 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !164 + %129 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %128, i64 0, !dbg !164 + %130 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !164 + %131 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %130, 0, !dbg !164 + %132 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !164 + %133 = insertvalue [2 x {} addrspace(10)*] %131, {} addrspace(10)* %132, 1, !dbg !164 + %134 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !164 + %135 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %134, i64 0, !dbg !164 + call void @llvm.assume(i1 true), !dbg !164 +; ││└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +; ││┌ @ abstractarray.jl:1312 within `getindex` +; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +; │││││┌ @ number.jl:7 within `convert` +; ││││││┌ @ boot.jl:892 within `Int64` +; │││││││┌ @ boot.jl:816 within `toInt64` + %136 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !169 + %137 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %136, i64 0, !dbg !169 + %138 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !169 + %139 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %138, i64 0, !dbg !169 + %140 = zext i32 %54 to i64, !dbg !169 +; │││└└└└└ +; │││┌ @ abstractarray.jl:1358 within `_getindex` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` + br label %L43, !dbg !188 + +L43: ; preds = %top +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` +; │││││┌ @ Base.jl:49 within `getproperty` + %141 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !192 + %142 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %141, i64 0, !dbg !192 + %143 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %105, i32 0, i32 0, !dbg !192 +; │││││└ +; │││││┌ @ tuple.jl:382 within `map` +; ││││││┌ @ tuple.jl:31 within `getindex` + %144 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !194 + %145 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %144, i64 0, !dbg !194 + %146 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %143, i32 0, i32 0, !dbg !194 +; ││││││└ +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +; │││││││┌ @ array.jl:3076 within `getindex` +; ││││││││┌ @ range.jl:922 within `_getindex` + br label %L59, !dbg !197 + +L59: ; preds = %L43 +; │││││││││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L60, !dbg !205 + +L60: ; preds = %L59 + br label %L61, !dbg !205 + +L61: ; preds = %L60 + br label %L62, !dbg !205 + +L62: ; preds = %L61 + br label %L63, !dbg !205 + +L63: ; preds = %L62 + br label %L64, !dbg !205 + +L64: ; preds = %L63 + br label %L65, !dbg !205 + +L65: ; preds = %L64 + br label %L66, !dbg !205 + +L66: ; preds = %L65 +; │││└└└└└└└ +; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +; │││││┌ @ number.jl:7 within `convert` +; ││││││┌ @ boot.jl:892 within `Int64` +; │││││││┌ @ boot.jl:816 within `toInt64` + %147 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !169 + %148 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %147, i64 0, !dbg !169 + %149 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !169 + %150 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %149, i64 0, !dbg !169 + %151 = zext i32 %84 to i64, !dbg !169 +; │││└└└└└ +; │││┌ @ abstractarray.jl:1358 within `_getindex` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` + br label %L78, !dbg !188 + +L78: ; preds = %L66 +; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` +; │││││┌ @ tuple.jl:382 within `map` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +; │││││││┌ @ array.jl:3076 within `getindex` +; ││││││││┌ @ range.jl:922 within `_getindex` + br label %L89, !dbg !197 + +L89: ; preds = %L78 +; │││││││││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L90, !dbg !205 + +L90: ; preds = %L89 + br label %L91, !dbg !205 + +L91: ; preds = %L90 + br label %L92, !dbg !205 + +L92: ; preds = %L91 + br label %L93, !dbg !205 + +L93: ; preds = %L92 + br label %L94, !dbg !205 + +L94: ; preds = %L93 + br label %L95, !dbg !205 + +L95: ; preds = %L94 + br label %L96, !dbg !205 + +L96: ; preds = %L95 +; ││└└└└└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 +; ││┌ @ ntuple.jl:48 within `ntuple` +; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` +; ││││┌ @ int.jl:86 within `-` + %152 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !207 + %153 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %152, i64 0, !dbg !207 + %154 = sub i64 %140, 1, !dbg !207 +; ││││└ +; ││││┌ @ int.jl:88 within `*` + %155 = bitcast {}* inttoptr (i64 130978868085040 to {}*) to {} addrspace(10)**, !dbg !213 + %156 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %155, i64 0, !dbg !213 + %157 = mul i64 %154, 256, !dbg !213 +; ││││└ +; ││││┌ @ int.jl:87 within `+` + %158 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !215 + %159 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %158, i64 0, !dbg !215 + %160 = add i64 %157, %151, !dbg !215 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` + br label %L100, !dbg !187 + +L100: ; preds = %L96 +; │└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` +; ││┌ @ Base.jl:49 within `getproperty` + %161 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !216 + %162 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %161, i64 0, !dbg !216 + %163 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 0, !dbg !216 +; │└└ +; │┌ @ multidimensional.jl:477 within `in` +; ││┌ @ Base.jl:49 within `getproperty` + %164 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !220 + %165 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %164, i64 0, !dbg !220 + %166 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %163, i32 0, i32 0, !dbg !220 +; ││└ +; ││┌ @ tuple.jl:382 within `map` +; │││┌ @ tuple.jl:31 within `getindex` + %167 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !224 + %168 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %167, i64 0, !dbg !224 + %169 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %166, i32 0, i32 0, !dbg !224 +; │││└ +; │││┌ @ range.jl:1426 within `in` +; ││││┌ @ int.jl:514 within `<=` + %170 = bitcast {}* inttoptr (i64 130978868083024 to {}*) to {} addrspace(10)**, !dbg !226 + %171 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %170, i64 0, !dbg !226 + %172 = icmp sle i64 1, %160, !dbg !226 +; ││││└ +; ││││┌ @ range.jl:846 within `last` +; │││││┌ @ Base.jl:49 within `getproperty` + %173 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !230 + %174 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %173, i64 0, !dbg !230 + %175 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %169, i32 0, i32 0, !dbg !230 +; ││││└└ +; ││││┌ @ int.jl:514 within `<=` + %176 = bitcast {}* inttoptr (i64 130978868083024 to {}*) to {} addrspace(10)**, !dbg !226 + %177 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %176, i64 0, !dbg !226 + %178 = load i64, i64 addrspace(11)* %175, align 8, !dbg !226, !alias.scope !53, !noalias !56 + %179 = icmp sle i64 %160, %178, !dbg !226 +; ││││└ +; ││││┌ @ bool.jl:38 within `&` + %180 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !233 + %181 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %180, i64 0, !dbg !233 + %182 = and i1 %172, %179, !dbg !233 +; │└└└└ + br label %L109, !dbg !219 + +L109: ; preds = %L100 +; └ + %183 = xor i1 %182, true, !dbg !74 + br i1 %183, label %L550, label %L110, !dbg !74 + +L110: ; preds = %L109 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:15 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:122 within `#__index_Global_Linear` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` +; │││┌ @ Base.jl:49 within `getproperty` + %184 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !236 + %185 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %184, i64 0, !dbg !236 + %186 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 1, !dbg !236 +; ││└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %187 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !244 + %188 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %187, i64 0, !dbg !244 + %189 = addrspacecast {}* inttoptr (i64 130978984494560 to {}*) to {} addrspace(10)*, !dbg !244 + %190 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %189, 0, !dbg !244 + %191 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !244 + %192 = insertvalue [2 x {} addrspace(10)*] %190, {} addrspace(10)* %191, 1, !dbg !244 + %193 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !244 + %194 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %193, i64 0, !dbg !244 + %195 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !244, !range !92 +; │││││└└ +; │││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %196 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !250 + %197 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %196, i64 0, !dbg !250 + %198 = add i32 %195, 1, !dbg !250 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %199 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !252 + %200 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %199, i64 0, !dbg !252 + %201 = addrspacecast {}* inttoptr (i64 130978984495056 to {}*) to {} addrspace(10)*, !dbg !252 + %202 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %201, 0, !dbg !252 + %203 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !252 + %204 = insertvalue [2 x {} addrspace(10)*] %202, {} addrspace(10)* %203, 1, !dbg !252 + %205 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !252 + %206 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %205, i64 0, !dbg !252 + %207 = call i32 @llvm.amdgcn.workgroup.id.y(), !dbg !252, !range !92 +; │││└└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %208 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !257 + %209 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %208, i64 0, !dbg !257 + %210 = addrspacecast {}* inttoptr (i64 130978984496048 to {}*) to {} addrspace(10)*, !dbg !257 + %211 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %210, 0, !dbg !257 + %212 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !257 + %213 = insertvalue [2 x {} addrspace(10)*] %211, {} addrspace(10)* %212, 1, !dbg !257 + %214 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !257 + %215 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %214, i64 0, !dbg !257 + %216 = call i32 @llvm.amdgcn.workgroup.id.z(), !dbg !257, !range !92 +; ││└└└└└ +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %217 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !262 + %218 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %217, i64 0, !dbg !262 + %219 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !262 + %220 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %219, 0, !dbg !262 + %221 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !262 + %222 = insertvalue [2 x {} addrspace(10)*] %220, {} addrspace(10)* %221, 1, !dbg !262 + %223 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !262 + %224 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %223, i64 0, !dbg !262 + %225 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !262, !range !120 +; │││││└└ +; │││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %226 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !268 + %227 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %226, i64 0, !dbg !268 + %228 = add i32 %225, 1, !dbg !268 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %229 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !270 + %230 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %229, i64 0, !dbg !270 + %231 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !270 + %232 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %231, 0, !dbg !270 + %233 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !270 + %234 = insertvalue [2 x {} addrspace(10)*] %232, {} addrspace(10)* %233, 1, !dbg !270 + %235 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !270 + %236 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %235, i64 0, !dbg !270 + %237 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !270, !range !120 +; │││└└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %238 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !275 + %239 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %238, i64 0, !dbg !275 + %240 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !275 + %241 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %240, 0, !dbg !275 + %242 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !275 + %243 = insertvalue [2 x {} addrspace(10)*] %241, {} addrspace(10)* %242, 1, !dbg !275 + %244 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !275 + %245 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %244, i64 0, !dbg !275 + %246 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !275, !range !120 +; ││└└└└└ +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` +; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` +; ││││┌ @ Base.jl:49 within `getproperty` + %247 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !280 + %248 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %247, i64 0, !dbg !280 + %249 = getelementptr inbounds { [1 x [1 x [1 x i64]]] }, { [1 x [1 x [1 x i64]]] } addrspace(11)* %186, i32 0, i32 0, !dbg !280 +; │││└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` +; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +; ││││┌ @ ntuple.jl:48 within `ntuple` +; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` +; ││││││┌ @ Base.jl:49 within `getproperty` + %250 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !283 + %251 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %250, i64 0, !dbg !283 + %252 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %249, i32 0, i32 0, !dbg !283 +; ││││││└ +; ││││││┌ @ tuple.jl:31 within `getindex` + %253 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !288 + %254 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %253, i64 0, !dbg !288 + %255 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %252, i32 0, i32 0, !dbg !288 +; ││││││└ +; ││││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +; ││││││┌ @ Base.jl:49 within `getproperty` + %256 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !289 + %257 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %256, i64 0, !dbg !289 + %258 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %255, i32 0, i32 0, !dbg !289 +; ││││││└ +; ││││││┌ @ operators.jl:379 within `>` +; │││││││┌ @ int.jl:83 within `<` + %259 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !291 + %260 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %259, i64 0, !dbg !291 + %261 = load i64, i64 addrspace(11)* %258, align 8, !dbg !291, !alias.scope !53, !noalias !56 + %262 = icmp slt i64 0, %261, !dbg !291 +; ││││││└└ +; ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` + %263 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !293 + %264 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %263, i64 0, !dbg !293 + %265 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !293 + %266 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %265, 0, !dbg !293 + %267 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !293 + %268 = insertvalue [2 x {} addrspace(10)*] %266, {} addrspace(10)* %267, 1, !dbg !293 + %269 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !293 + %270 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %269, i64 0, !dbg !293 + %271 = zext i1 %262 to i8, !dbg !293 + call void @llvm.assume(i1 %262), !dbg !293 +; │││└└└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` +; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` +; ││││┌ @ ntuple.jl:48 within `ntuple` +; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` +; ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` + %272 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !294 + %273 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %272, i64 0, !dbg !294 + %274 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !294 + %275 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %274, 0, !dbg !294 + %276 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !294 + %277 = insertvalue [2 x {} addrspace(10)*] %275, {} addrspace(10)* %276, 1, !dbg !294 + %278 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !294 + %279 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %278, i64 0, !dbg !294 + call void @llvm.assume(i1 true), !dbg !294 +; │││└└└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` +; │││┌ @ abstractarray.jl:1312 within `getindex` +; ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +; │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +; ││││││┌ @ number.jl:7 within `convert` +; │││││││┌ @ boot.jl:892 within `Int64` +; ││││││││┌ @ boot.jl:816 within `toInt64` + %280 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !299 + %281 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %280, i64 0, !dbg !299 + %282 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !299 + %283 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %282, i64 0, !dbg !299 + %284 = zext i32 %198 to i64, !dbg !299 +; ││││└└└└└ +; ││││┌ @ abstractarray.jl:1358 within `_getindex` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` + br label %L152, !dbg !308 + +L152: ; preds = %L110 +; ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` +; ││││││┌ @ Base.jl:49 within `getproperty` + %285 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !310 + %286 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %285, i64 0, !dbg !310 + %287 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %249, i32 0, i32 0, !dbg !310 +; ││││││└ +; ││││││┌ @ tuple.jl:382 within `map` +; │││││││┌ @ tuple.jl:31 within `getindex` + %288 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !312 + %289 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %288, i64 0, !dbg !312 + %290 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %287, i32 0, i32 0, !dbg !312 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +; ││││││││┌ @ array.jl:3076 within `getindex` +; │││││││││┌ @ range.jl:922 within `_getindex` + br label %L168, !dbg !314 + +L168: ; preds = %L152 +; ││││││││││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L169, !dbg !317 + +L169: ; preds = %L168 + br label %L170, !dbg !317 + +L170: ; preds = %L169 + br label %L171, !dbg !317 + +L171: ; preds = %L170 + br label %L172, !dbg !317 + +L172: ; preds = %L171 + br label %L173, !dbg !317 + +L173: ; preds = %L172 + br label %L174, !dbg !317 + +L174: ; preds = %L173 + br label %L175, !dbg !317 + +L175: ; preds = %L174 +; ││││└└└└└└└ +; ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 +; │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 +; ││││││┌ @ number.jl:7 within `convert` +; │││││││┌ @ boot.jl:892 within `Int64` +; ││││││││┌ @ boot.jl:816 within `toInt64` + %291 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !299 + %292 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %291, i64 0, !dbg !299 + %293 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !299 + %294 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %293, i64 0, !dbg !299 + %295 = zext i32 %228 to i64, !dbg !299 +; ││││└└└└└ +; ││││┌ @ abstractarray.jl:1358 within `_getindex` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` + br label %L187, !dbg !308 + +L187: ; preds = %L175 +; ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` +; ││││││┌ @ tuple.jl:382 within `map` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` +; ││││││││┌ @ array.jl:3076 within `getindex` +; │││││││││┌ @ range.jl:922 within `_getindex` + br label %L198, !dbg !314 + +L198: ; preds = %L187 +; ││││││││││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L199, !dbg !317 + +L199: ; preds = %L198 + br label %L200, !dbg !317 + +L200: ; preds = %L199 + br label %L201, !dbg !317 + +L201: ; preds = %L200 + br label %L202, !dbg !317 + +L202: ; preds = %L201 + br label %L203, !dbg !317 + +L203: ; preds = %L202 + br label %L204, !dbg !317 + +L204: ; preds = %L203 + br label %L205, !dbg !317 + +L205: ; preds = %L204 +; │││└└└└└└└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 +; │││┌ @ ntuple.jl:48 within `ntuple` +; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` +; │││││┌ @ int.jl:86 within `-` + %296 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !318 + %297 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %296, i64 0, !dbg !318 + %298 = sub i64 %284, 1, !dbg !318 +; │││││└ +; │││││┌ @ int.jl:88 within `*` + %299 = bitcast {}* inttoptr (i64 130978868085040 to {}*) to {} addrspace(10)**, !dbg !322 + %300 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %299, i64 0, !dbg !322 + %301 = mul i64 %298, 256, !dbg !322 +; │││││└ +; │││││┌ @ int.jl:87 within `+` + %302 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !323 + %303 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %302, i64 0, !dbg !323 + %304 = add i64 %301, %295, !dbg !323 +; │││└└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` + br label %L209, !dbg !307 + +L209: ; preds = %L205 +; ││└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:124 within `#__index_Global_Linear` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` +; │││┌ @ Base.jl:49 within `getproperty` + %305 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !324 + %306 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %305, i64 0, !dbg !324 + %307 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 0, !dbg !324 +; ││└└ +; ││┌ @ multidimensional.jl:582 within `LinearIndices` +; │││┌ @ Base.jl:49 within `getproperty` + %308 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !327 + %309 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %308, i64 0, !dbg !327 + %310 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %307, i32 0, i32 0, !dbg !327 +; │││└ +; │││ @ multidimensional.jl:582 within `LinearIndices` @ indices.jl:484 + %311 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(5)* %18, i32 0, i32 0, !dbg !330 + %312 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %310, i32 0, i32 0, !dbg !330 + %313 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %312, i32 0, i32 0, !dbg !330 + %314 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(5)* %311, i32 0, i32 0, !dbg !330 + %315 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %314, i32 0, i32 0, !dbg !330 + %316 = load i64, i64 addrspace(11)* %313, align 8, !dbg !330, !alias.scope !53, !noalias !56 + store i64 %316, i64 addrspace(5)* %315, align 8, !dbg !330, !tbaa !332, !alias.scope !334, !noalias !335 +; ││└ +; ││┌ @ abstractarray.jl:1312 within `getindex` +; │││┌ @ abstractarray.jl:1336 within `_getindex` +; ││││┌ @ indices.jl:518 within `getindex` + br label %L227, !dbg !336 + +L227: ; preds = %L209 +; │││││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L228, !dbg !340 + +L228: ; preds = %L227 + br label %L229, !dbg !340 + +L229: ; preds = %L228 + br label %L230, !dbg !340 + +L230: ; preds = %L229 + br label %L231, !dbg !340 + +L231: ; preds = %L230 +; │└└└└└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:71 within `length` +; ││┌ @ Base.jl:49 within `getproperty` + %317 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !341 + %318 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %317, i64 0, !dbg !341 + %319 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 2, !dbg !341 +; │└└ +; │┌ @ operators.jl:379 within `>` +; ││┌ @ int.jl:83 within `<` + %320 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !346 + %321 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %320, i64 0, !dbg !346 + %322 = load i64, i64 addrspace(11)* %319, align 8, !dbg !346, !alias.scope !53, !noalias !56 + %323 = icmp slt i64 %322, %304, !dbg !346 +; │└└ + %324 = xor i1 %323, true, !dbg !345 + br i1 %324, label %L235, label %L234, !dbg !345 + +L234: ; preds = %L231 + br label %L256, !dbg !345 + +L235: ; preds = %L231 +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` + br label %L237, !dbg !348 + +L237: ; preds = %L235 +; ││┌ @ abstractarray.jl:697 within `checkbounds` + %325 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !350 + %326 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %325, i64 0, !dbg !350 + %327 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %37, i32 0, i32 0, !dbg !350 + store i64 %304, i64 addrspace(5)* %327, align 8, !dbg !350, !tbaa !332, !alias.scope !334, !noalias !335 +; │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +; │││┌ @ abstractarray.jl:389 within `eachindex` +; ││││┌ @ abstractarray.jl:137 within `axes1` +; │││││┌ @ abstractarray.jl:98 within `axes` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` +; │││││││┌ @ Base.jl:49 within `getproperty` + %328 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !351 + %329 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %328, i64 0, !dbg !351 + %330 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 0, !dbg !351 +; ││││││└└ +; ││││││┌ @ tuple.jl:355 within `map` +; │││││││┌ @ tuple.jl:31 within `getindex` + %331 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !362 + %332 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %331, i64 0, !dbg !362 + %333 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %330, i32 0, i32 0, !dbg !362 +; │││└└└└└ +; │││┌ @ abstractarray.jl:754 within `checkindex` +; ││││┌ @ int.jl:86 within `-` + %334 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !364 + %335 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %334, i64 0, !dbg !364 + %336 = sub i64 %304, 1, !dbg !364 +; ││││└ +; ││││┌ @ essentials.jl:668 within `unsigned` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %337 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !367 + %338 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %337, i64 0, !dbg !367 + %339 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !367 + %340 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %339, i64 0, !dbg !367 + %341 = load i64, i64 addrspace(11)* %333, align 8, !dbg !367, !alias.scope !53, !noalias !56 +; ││││└└ +; ││││┌ @ int.jl:513 within `<` + %342 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !372 + %343 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %342, i64 0, !dbg !372 + %344 = icmp ult i64 %336, %341, !dbg !372 +; │││└└ +; │││ @ abstractarray.jl:699 within `checkbounds` + %345 = xor i1 %344, true, !dbg !361 + br i1 %345, label %L247, label %L246, !dbg !361 + +L246: ; preds = %L237 + br label %L249, !dbg !361 + +L247: ; preds = %L237 + %346 = bitcast {}* inttoptr (i64 130978879164528 to {}*) to {} addrspace(10)**, !dbg !361 + %347 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %346, i64 0, !dbg !361 + %348 = addrspacecast [1 x i64] addrspace(5)* %37 to [1 x i64] addrspace(11)*, !dbg !361 + call fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture readonly %9, [1 x i64] addrspace(11)* nocapture readonly %348) #15, !dbg !361 + unreachable, !dbg !361 + +L249: ; preds = %L246 + br label %L250, !dbg !361 + +L250: ; preds = %L249 +; ││└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` +; │││┌ @ Base.jl:49 within `getproperty` + %349 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !373 + %350 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %349, i64 0, !dbg !373 + %351 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 1, !dbg !373 +; ││└└ +; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +; │││┌ @ none within `pointerref` +; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %352 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !377 + %353 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %352, i64 0, !dbg !377 + %354 = addrspacecast {}* inttoptr (i64 130979022722928 to {}*) to {} addrspace(10)*, !dbg !377 + %355 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %354, 0, !dbg !377 + %356 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !377 + %357 = insertvalue [2 x {} addrspace(10)*] %355, {} addrspace(10)* %356, 1, !dbg !377 +; │││││┌ @ int.jl:86 within `-` + %358 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !385 + %359 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %358, i64 0, !dbg !385 + %360 = sub i64 %304, 1, !dbg !385 +; │││││└ + %361 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !377 + %362 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %361, i64 0, !dbg !377 + %363 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(11)* %351, align 8, !dbg !377, !alias.scope !53, !noalias !56 + %364 = bitcast i8 addrspace(1)* %363 to float addrspace(1)*, !dbg !377 + %365 = getelementptr inbounds float, float addrspace(1)* %364, i64 %360, !dbg !377 + %366 = load float, float addrspace(1)* %365, align 4, !dbg !377, !tbaa !386 + br label %L255, !dbg !377 + +L255: ; preds = %L250 + br label %L256, !dbg !377 + +L256: ; preds = %L255, %L234 + %value_phi = phi float [ %3, %L234 ], [ %366, %L255 ] +; │└└└└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:17 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %367 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !389 + %368 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %367, i64 0, !dbg !389 + %369 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %20, i32 0, i32 0, !dbg !389 + store float %value_phi, float addrspace(5)* %369, align 4, !dbg !389, !tbaa !332, !alias.scope !334, !noalias !335 + %370 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %20, i32 0, i32 1, !dbg !389 + store float %value_phi, float addrspace(5)* %370, align 4, !dbg !389, !tbaa !332, !alias.scope !334, !noalias !335 +; │└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:18 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %371 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !392 + %372 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %371, i64 0, !dbg !392 + %373 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %21, i32 0, i32 0, !dbg !392 + store float %3, float addrspace(5)* %373, align 4, !dbg !392, !tbaa !332, !alias.scope !334, !noalias !335 + %374 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %21, i32 0, i32 1, !dbg !392 + store float %3, float addrspace(5)* %374, align 4, !dbg !392, !tbaa !332, !alias.scope !334, !noalias !335 +; │└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:85 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:236 within `macro expansion` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:151 within `#SharedMemory` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `alloc_special` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %375 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !394 + %376 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %375, i64 0, !dbg !394 + %377 = addrspacecast {}* inttoptr (i64 130970505313168 to {}*) to {} addrspace(10)*, !dbg !394 + %378 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %377, 0, !dbg !394 + %379 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !394 + %380 = insertvalue [2 x {} addrspace(10)*] %378, {} addrspace(10)* %379, 1, !dbg !394 + %381 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !394 + %382 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %381, i64 0, !dbg !394 +; ││││└└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:152 within `#SharedMemory` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:50 within `ROCDeviceArray` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:59 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:36 + %383 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 0, !dbg !410 + %384 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %383, i32 0, i32 0, !dbg !410 + %385 = load i64, i64 addrspace(1)* getelementptr inbounds ([1 x i64], [1 x i64] addrspace(1)* @_j_const_1, i32 0, i32 0), align 8, !dbg !410, !tbaa !415, !alias.scope !419, !noalias !420 + store i64 %385, i64 addrspace(5)* %384, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 + %386 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 1, !dbg !410 + store i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*), i8 addrspace(3)* addrspace(5)* %386, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 + %387 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 2, !dbg !410 + %388 = load i64, i64 addrspace(1)* @_j_const_2, align 8, !dbg !410, !tbaa !415, !alias.scope !419, !noalias !420 + store i64 %388, i64 addrspace(5)* %387, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:87 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:114 within `#__index_Local_Linear` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %389 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !421 + %390 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %389, i64 0, !dbg !421 + %391 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !421 + %392 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %391, 0, !dbg !421 + %393 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !421 + %394 = insertvalue [2 x {} addrspace(10)*] %392, {} addrspace(10)* %393, 1, !dbg !421 + %395 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !421 + %396 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %395, i64 0, !dbg !421 + %397 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !421, !range !120 +; ││││││└└ +; ││││││┌ @ int.jl:1013 within `+` @ int.jl:87 + %398 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !430 + %399 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %398, i64 0, !dbg !430 + %400 = add i32 %397, 1, !dbg !430 +; ││││└└└ +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %401 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !432 + %402 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %401, i64 0, !dbg !432 + %403 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !432 + %404 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %403, 0, !dbg !432 + %405 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !432 + %406 = insertvalue [2 x {} addrspace(10)*] %404, {} addrspace(10)* %405, 1, !dbg !432 + %407 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !432 + %408 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %407, i64 0, !dbg !432 + %409 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !432, !range !120 +; ││││└└└└ +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %410 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !437 + %411 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %410, i64 0, !dbg !437 + %412 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !437 + %413 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %412, 0, !dbg !437 + %414 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !437 + %415 = insertvalue [2 x {} addrspace(10)*] %413, {} addrspace(10)* %414, 1, !dbg !437 + %416 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !437 + %417 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %416, i64 0, !dbg !437 + %418 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !437, !range !120 +; ││└└└└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` +; ││┌ @ int.jl:1013 within `-` @ int.jl:86 + %419 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !442 + %420 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %419, i64 0, !dbg !442 + %421 = sub i32 %400, 1, !dbg !442 +; ││└ + %422 = bitcast {}* inttoptr (i64 130978247410944 to {}*) to {} addrspace(10)**, !dbg !444 + %423 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %422, i64 0, !dbg !444 +; ││┌ @ int.jl:298 within `rem` + %424 = bitcast {}* inttoptr (i64 130978849209184 to {}*) to {} addrspace(10)**, !dbg !445 + %425 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %424, i64 0, !dbg !445 + br label %pass, !dbg !445 + +L277: ; preds = %guard_exit34, %guard_exit30 + %value_phi3 = phi i32 [ 16, %guard_exit30 ], [ %594, %guard_exit34 ] + %value_phi4 = phi float [ %value_phi, %guard_exit30 ], [ %583, %guard_exit34 ] + %value_phi5 = phi float [ %value_phi, %guard_exit30 ], [ %586, %guard_exit34 ] + %value_phi6 = phi float [ %value_phi, %guard_exit30 ], [ %583, %guard_exit34 ] + %value_phi7 = phi float [ %value_phi, %guard_exit30 ], [ %586, %guard_exit34 ] +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` + %426 = bitcast [2 x float] addrspace(5)* %24 to i8 addrspace(5)*, !dbg !447 + %427 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)*, !dbg !447 + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %426, i8 addrspace(5)* align 4 %427, i64 8, i1 false), !dbg !447 + %428 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)*, !dbg !447 + call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %428), !dbg !447 +; │││┌ @ operators.jl:379 within `>` +; ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 + %429 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !450 + %430 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %429, i64 0, !dbg !450 + %431 = icmp ult i32 0, %value_phi3, !dbg !450 +; │││└└ + %432 = xor i1 %431, true, !dbg !447 + br i1 %432, label %L371, label %L285, !dbg !447 + +L285: ; preds = %L277 +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` + %433 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !455 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %434 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 + %435 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %434, i64 0, !dbg !465 + %436 = bitcast float %value_phi4 to i32, !dbg !465 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %437 = call fastcc i32 @__ockl_activelane_u32(), !dbg !469 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %438 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !474 + %439 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %438, i64 0, !dbg !474 + %440 = lshr i32 %437, 31, !dbg !474 + %441 = select i1 false, i32 0, i32 %440, !dbg !474 + %442 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !474 + %443 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %442, i64 0, !dbg !474 + %444 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !474 + %445 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %444, i64 0, !dbg !474 + %446 = trunc i32 %441 to i8, !dbg !474 + %447 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !474 + %448 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %447, i64 0, !dbg !474 + %449 = icmp eq i8 %446, 1, !dbg !474 +; │││││││││││└ + %450 = xor i1 %449, true, !dbg !476 + br i1 %450, label %L294, label %L292, !dbg !476 + +L292: ; preds = %L285 + %451 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !476 + %452 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %451, i64 0, !dbg !476 + %453 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !476 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %453, i32 zeroext %437) #15, !dbg !476 + unreachable, !dbg !476 + +L294: ; preds = %L285 + br label %L295, !dbg !476 + +L295: ; preds = %L294 +; ││││││││││└ + %454 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !478 + %455 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %454, i64 0, !dbg !478 + %456 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !478 + %457 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %456, i64 0, !dbg !478 + br label %L297, !dbg !478 + +L297: ; preds = %L295 + br label %L298, !dbg !478 + +L298: ; preds = %L297 + br label %L299, !dbg !478 + +L299: ; preds = %L298 +; │││││││└└└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` +; │││││││┌ @ boot.jl:891 within `Int32` +; ││││││││┌ @ boot.jl:805 within `toInt32` +; │││││││││┌ @ boot.jl:756 within `check_sign_bit` +; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %458 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !483 + %459 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %458, i64 0, !dbg !483 + %460 = lshr i32 %value_phi3, 31, !dbg !483 + %461 = select i1 false, i32 0, i32 %460, !dbg !483 + %462 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !483 + %463 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %462, i64 0, !dbg !483 + %464 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !483 + %465 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %464, i64 0, !dbg !483 + %466 = trunc i32 %461 to i8, !dbg !483 + %467 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !483 + %468 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %467, i64 0, !dbg !483 + %469 = icmp eq i8 %466, 1, !dbg !483 +; ││││││││││└ + %470 = xor i1 %469, true, !dbg !484 + br i1 %470, label %L305, label %L303, !dbg !484 + +L303: ; preds = %L299 + %471 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !484 + %472 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %471, i64 0, !dbg !484 + %473 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !484 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %473, i32 zeroext %value_phi3) #15, !dbg !484 + unreachable, !dbg !484 + +L305: ; preds = %L299 + br label %L306, !dbg !484 + +L306: ; preds = %L305 +; │││││││││└ + %474 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !485 + %475 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %474, i64 0, !dbg !485 + %476 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !485 + %477 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %476, i64 0, !dbg !485 + br label %L308, !dbg !485 + +L308: ; preds = %L306 + br label %L309, !dbg !485 + +L309: ; preds = %L308 +; │││││││└└ +; │││││││┌ @ int.jl:87 within `+` + %478 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !488 + %479 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %478, i64 0, !dbg !488 + %480 = add i32 %437, %value_phi3, !dbg !488 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 + %481 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !489 + %482 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %481, i64 0, !dbg !489 + %483 = sub i32 %433, 1, !dbg !489 +; │││││││└ +; │││││││┌ @ int.jl:1011 within `&` +; ││││││││┌ @ int.jl:554 within `rem` + %484 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !492 + %485 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %484, i64 0, !dbg !492 +; ││││││││└ +; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 + %486 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !495 + %487 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %486, i64 0, !dbg !495 + %488 = and i32 %437, %483, !dbg !495 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %489 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !497 + %490 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %489, i64 0, !dbg !497 + %491 = add i32 %488, %value_phi3, !dbg !497 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %492 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !498 + %493 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %492, i64 0, !dbg !498 + %494 = icmp ule i32 %433, %491, !dbg !498 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %495 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !501 + %496 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %495, i64 0, !dbg !501 + %497 = xor i1 %494, true, !dbg !501 + %498 = select i1 %497, i32 %480, i32 %437, !dbg !501 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %499 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !503 + %500 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %499, i64 0, !dbg !503 + %501 = shl i32 %498, 2, !dbg !503 + %502 = select i1 false, i32 0, i32 %501, !dbg !503 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %503 = call i32 @llvm.amdgcn.ds.bpermute(i32 %502, i32 %436), !dbg !506 + br label %L319, !dbg !506 + +L319: ; preds = %L309 + br label %L320, !dbg !506 + +L320: ; preds = %L319 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %504 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 + %505 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %504, i64 0, !dbg !465 + %506 = bitcast i32 %503 to float, !dbg !465 + br label %L322, !dbg !465 + +L322: ; preds = %L320 + br label %L323, !dbg !465 + +L323: ; preds = %L322 + br label %L324, !dbg !465 + +L324: ; preds = %L323 + br label %L325, !dbg !465 + +L325: ; preds = %L324 +; ││││└└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` + %507 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !455 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %508 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 + %509 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %508, i64 0, !dbg !465 + %510 = bitcast float %value_phi5 to i32, !dbg !465 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %511 = call fastcc i32 @__ockl_activelane_u32(), !dbg !469 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %512 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !474 + %513 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %512, i64 0, !dbg !474 + %514 = lshr i32 %511, 31, !dbg !474 + %515 = select i1 false, i32 0, i32 %514, !dbg !474 + %516 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !474 + %517 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %516, i64 0, !dbg !474 + %518 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !474 + %519 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %518, i64 0, !dbg !474 + %520 = trunc i32 %515 to i8, !dbg !474 + %521 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !474 + %522 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %521, i64 0, !dbg !474 + %523 = icmp eq i8 %520, 1, !dbg !474 +; │││││││││││└ + %524 = xor i1 %523, true, !dbg !476 + br i1 %524, label %L334, label %L332, !dbg !476 + +L332: ; preds = %L325 + %525 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !476 + %526 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %525, i64 0, !dbg !476 + %527 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !476 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %527, i32 zeroext %511) #15, !dbg !476 + unreachable, !dbg !476 + +L334: ; preds = %L325 + br label %L335, !dbg !476 + +L335: ; preds = %L334 +; ││││││││││└ + %528 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !478 + %529 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %528, i64 0, !dbg !478 + %530 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !478 + %531 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %530, i64 0, !dbg !478 + br label %L337, !dbg !478 + +L337: ; preds = %L335 + br label %L338, !dbg !478 + +L338: ; preds = %L337 + br label %L339, !dbg !478 + +L339: ; preds = %L338 +; │││││││└└└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` +; │││││││┌ @ boot.jl:891 within `Int32` +; ││││││││┌ @ boot.jl:805 within `toInt32` +; │││││││││┌ @ boot.jl:756 within `check_sign_bit` +; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %532 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !483 + %533 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %532, i64 0, !dbg !483 + %534 = lshr i32 %value_phi3, 31, !dbg !483 + %535 = select i1 false, i32 0, i32 %534, !dbg !483 + %536 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !483 + %537 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %536, i64 0, !dbg !483 + %538 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !483 + %539 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %538, i64 0, !dbg !483 + %540 = trunc i32 %535 to i8, !dbg !483 + %541 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !483 + %542 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %541, i64 0, !dbg !483 + %543 = icmp eq i8 %540, 1, !dbg !483 +; ││││││││││└ + %544 = xor i1 %543, true, !dbg !484 + br i1 %544, label %L345, label %L343, !dbg !484 + +L343: ; preds = %L339 + %545 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !484 + %546 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %545, i64 0, !dbg !484 + %547 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !484 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %547, i32 zeroext %value_phi3) #15, !dbg !484 + unreachable, !dbg !484 + +L345: ; preds = %L339 + br label %L346, !dbg !484 + +L346: ; preds = %L345 +; │││││││││└ + %548 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !485 + %549 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %548, i64 0, !dbg !485 + %550 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !485 + %551 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %550, i64 0, !dbg !485 + br label %L348, !dbg !485 + +L348: ; preds = %L346 + br label %L349, !dbg !485 + +L349: ; preds = %L348 +; │││││││└└ +; │││││││┌ @ int.jl:87 within `+` + %552 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !488 + %553 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %552, i64 0, !dbg !488 + %554 = add i32 %511, %value_phi3, !dbg !488 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 + %555 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !489 + %556 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %555, i64 0, !dbg !489 + %557 = sub i32 %507, 1, !dbg !489 +; │││││││└ +; │││││││┌ @ int.jl:1011 within `&` +; ││││││││┌ @ int.jl:554 within `rem` + %558 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !492 + %559 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %558, i64 0, !dbg !492 +; ││││││││└ +; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 + %560 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !495 + %561 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %560, i64 0, !dbg !495 + %562 = and i32 %511, %557, !dbg !495 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %563 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !497 + %564 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %563, i64 0, !dbg !497 + %565 = add i32 %562, %value_phi3, !dbg !497 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %566 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !498 + %567 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %566, i64 0, !dbg !498 + %568 = icmp ule i32 %507, %565, !dbg !498 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %569 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !501 + %570 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %569, i64 0, !dbg !501 + %571 = xor i1 %568, true, !dbg !501 + %572 = select i1 %571, i32 %554, i32 %511, !dbg !501 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %573 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !503 + %574 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %573, i64 0, !dbg !503 + %575 = shl i32 %572, 2, !dbg !503 + %576 = select i1 false, i32 0, i32 %575, !dbg !503 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %577 = call i32 @llvm.amdgcn.ds.bpermute(i32 %576, i32 %510), !dbg !506 + br label %L359, !dbg !506 + +L359: ; preds = %L349 + br label %L360, !dbg !506 + +L360: ; preds = %L359 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %578 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 + %579 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %578, i64 0, !dbg !465 + %580 = bitcast i32 %577 to float, !dbg !465 + br label %L362, !dbg !465 + +L362: ; preds = %L360 + br label %L363, !dbg !465 + +L363: ; preds = %L362 + br label %L364, !dbg !465 + +L364: ; preds = %L363 + br label %L365, !dbg !465 + +L365: ; preds = %L364 + br label %L366, !dbg !465 + +L366: ; preds = %L365 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %581 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !508 + %582 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %581, i64 0, !dbg !508 + %583 = fadd float %value_phi6, %506, !dbg !508 + %584 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !508 + %585 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %584, i64 0, !dbg !508 + %586 = fadd float %value_phi7, %580, !dbg !508 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %587 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !513 + %588 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %587, i64 0, !dbg !513 + %589 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %25, i32 0, i32 0, !dbg !513 + store float %583, float addrspace(5)* %589, align 4, !dbg !513, !tbaa !332, !alias.scope !334, !noalias !335 + %590 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %25, i32 0, i32 1, !dbg !513 + store float %586, float addrspace(5)* %590, align 4, !dbg !513, !tbaa !332, !alias.scope !334, !noalias !335 +; │││└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` +; │││┌ @ int.jl:528 within `>>` + %591 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !514 + %592 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %591, i64 0, !dbg !514 + %593 = lshr i32 %value_phi3, 1, !dbg !514 + %594 = select i1 false, i32 0, i32 %593, !dbg !514 + %595 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* +; └└└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %595), !dbg !77 + %596 = icmp ne [2 x float] addrspace(5)* %25, null + br i1 %596, label %guard_pass31, label %guard_exit32 + +L371: ; preds = %L277 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` + br label %L372, !dbg !517 + +L372: ; preds = %L371 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` +; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 + %597 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !518 + %598 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %597, i64 0, !dbg !518 + %599 = icmp eq i32 %910, 1, !dbg !518 +; ││└ + %600 = xor i1 %599, true, !dbg !521 + br i1 %600, label %L394, label %L374, !dbg !521 + +L374: ; preds = %L372 +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` + br label %L389, !dbg !522 + +L389: ; preds = %L374 +; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` +; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` +; ││││┌ @ none within `pointerset` +; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %601 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !524 + %602 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %601, i64 0, !dbg !524 + %603 = addrspacecast {}* inttoptr (i64 130979024262480 to {}*) to {} addrspace(10)*, !dbg !524 + %604 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %603, 0, !dbg !524 + %605 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !524 + %606 = insertvalue [2 x {} addrspace(10)*] %604, {} addrspace(10)* %605, 1, !dbg !524 +; ││││││┌ @ int.jl:86 within `-` + %607 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !531 + %608 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %607, i64 0, !dbg !531 + %609 = sub i32 %921, 1, !dbg !531 +; ││││││└ + %610 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !524 + %611 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %610, i64 0, !dbg !524 + %612 = load [2 x float], [2 x float] addrspace(5)* %24, align 4, !dbg !524, !tbaa !332, !alias.scope !334, !noalias !335 + %613 = bitcast i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*) to [2 x float] addrspace(3)*, !dbg !524 + %614 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %613, i32 %609, !dbg !524 + store [2 x float] %612, [2 x float] addrspace(3)* %614, align 4, !dbg !524, !tbaa !532 +; │││└└└ +; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` + br label %L393, !dbg !534 + +L393: ; preds = %L389 + br label %L395, !dbg !534 + +L394: ; preds = %L372 +; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` +; │││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L395, !dbg !535 + +L395: ; preds = %L394, %L393 +; ││└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` + call void @llvm.amdgcn.s.barrier(), !dbg !536 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` +; ││┌ @ int.jl:1013 within `-` @ int.jl:86 + %615 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !543 + %616 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %615, i64 0, !dbg !543 + %617 = sub i32 %400, 1, !dbg !543 +; ││└ +; ││┌ @ int.jl:520 within `<` @ promotion.jl:484 +; │││┌ @ promotion.jl:400 within `promote` +; ││││┌ @ promotion.jl:375 within `_promote` +; │││││┌ @ number.jl:7 within `convert` +; ││││││┌ @ boot.jl:897 within `UInt64` +; │││││││┌ @ boot.jl:871 within `toUInt64` + %618 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !546 + %619 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %618, i64 0, !dbg !546 + %620 = bitcast {}* inttoptr (i64 130978827523696 to {}*) to {} addrspace(10)**, !dbg !546 + %621 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %620, i64 0, !dbg !546 + %622 = zext i32 %617 to i64, !dbg !546 +; │││└└└└└ +; │││ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 + %623 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !557 + %624 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %623, i64 0, !dbg !557 + %625 = icmp ult i64 %622, 8, !dbg !557 +; │││ @ int.jl:520 within `<` +; │││┌ @ bool.jl:38 within `&` + %626 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !558 + %627 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %626, i64 0, !dbg !558 + %628 = and i1 true, %625, !dbg !558 +; ││└└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` + %629 = xor i1 %628, true, !dbg !559 + br i1 %629, label %L421, label %L401, !dbg !559 + +L401: ; preds = %L395 +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` + br label %L416, !dbg !560 + +L416: ; preds = %L401 +; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` +; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +; ││││┌ @ none within `pointerref` +; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %630 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !561 + %631 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %630, i64 0, !dbg !561 + %632 = addrspacecast {}* inttoptr (i64 130978998598000 to {}*) to {} addrspace(10)*, !dbg !561 + %633 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %632, 0, !dbg !561 + %634 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !561 + %635 = insertvalue [2 x {} addrspace(10)*] %633, {} addrspace(10)* %634, 1, !dbg !561 +; ││││││┌ @ int.jl:86 within `-` + %636 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !566 + %637 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %636, i64 0, !dbg !566 + %638 = sub i32 %910, 1, !dbg !566 +; ││││││└ + %639 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !561 + %640 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %639, i64 0, !dbg !561 + %641 = bitcast i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*) to [2 x float] addrspace(3)*, !dbg !561 + %642 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %641, i32 %638, !dbg !561 + %643 = load [2 x float], [2 x float] addrspace(3)* %642, align 4, !dbg !561, !tbaa !532 + store [2 x float] %643, [2 x float] addrspace(5)* %28, align 4, !dbg !561 + br label %L420, !dbg !561 + +L420: ; preds = %L416 + %644 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* +; └└└└└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %644), !dbg !77 + %645 = icmp ne [2 x float] addrspace(5)* %28, null + br i1 %645, label %guard_pass35, label %guard_exit36 + +L421: ; preds = %L395 + %646 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %646), !dbg !77 + %647 = icmp ne [2 x float] addrspace(5)* %21, null + br i1 %647, label %guard_pass39, label %guard_exit40 + +L422: ; preds = %guard_exit42, %guard_exit38 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` + %648 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)*, !dbg !559 + %649 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)*, !dbg !559 + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %648, i8 addrspace(5)* align 4 %649, i64 8, i1 false), !dbg !559 + %650 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)*, !dbg !559 + call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %650), !dbg !559 +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 + %651 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !567 + %652 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %651, i64 0, !dbg !567 + %653 = icmp eq i32 %921, 1, !dbg !567 +; ││└ + %654 = xor i1 %653, true, !dbg !569 + br i1 %654, label %L422.L522_crit_edge, label %L425, !dbg !569 + +L422.L522_crit_edge: ; preds = %L422 + %655 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* +; └└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %655), !dbg !77 + %656 = icmp ne [2 x float] addrspace(5)* %30, null + br i1 %656, label %guard_pass55, label %guard_exit56 + +L425: ; preds = %L422 + %657 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %657), !dbg !77 + %658 = icmp ne [2 x float] addrspace(5)* %30, null + br i1 %658, label %guard_pass43, label %guard_exit44 + +L426: ; preds = %guard_exit50, %guard_exit46 + %value_phi11 = phi i32 [ 16, %guard_exit46 ], [ %843, %guard_exit50 ] +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` + %659 = bitcast [2 x float] addrspace(5)* %32 to i8 addrspace(5)*, !dbg !570 + %660 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)*, !dbg !570 + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %659, i8 addrspace(5)* align 4 %660, i64 8, i1 false), !dbg !570 + %661 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)*, !dbg !570 + call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %661), !dbg !570 +; │││┌ @ operators.jl:379 within `>` +; ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 + %662 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !571 + %663 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %662, i64 0, !dbg !571 + %664 = icmp ult i32 0, %value_phi11, !dbg !571 +; │││└└ + %665 = xor i1 %664, true, !dbg !570 + br i1 %665, label %L520, label %L430, !dbg !570 + +L430: ; preds = %L426 +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` +; ││││┌ @ Base.jl:49 within `getproperty` + %666 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !574 + %667 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %666, i64 0, !dbg !574 + %668 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 0, !dbg !574 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` + %669 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !577 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %670 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 + %671 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %670, i64 0, !dbg !580 + %672 = load float, float addrspace(5)* %668, align 4, !dbg !580, !tbaa !332, !alias.scope !334, !noalias !335 + %673 = bitcast float %672 to i32, !dbg !580 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %674 = call fastcc i32 @__ockl_activelane_u32(), !dbg !583 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %675 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !586 + %676 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %675, i64 0, !dbg !586 + %677 = lshr i32 %674, 31, !dbg !586 + %678 = select i1 false, i32 0, i32 %677, !dbg !586 + %679 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !586 + %680 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %679, i64 0, !dbg !586 + %681 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !586 + %682 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %681, i64 0, !dbg !586 + %683 = trunc i32 %678 to i8, !dbg !586 + %684 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !586 + %685 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %684, i64 0, !dbg !586 + %686 = icmp eq i8 %683, 1, !dbg !586 +; │││││││││││└ + %687 = xor i1 %686, true, !dbg !587 + br i1 %687, label %L440, label %L438, !dbg !587 + +L438: ; preds = %L430 + %688 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !587 + %689 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %688, i64 0, !dbg !587 + %690 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !587 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %690, i32 zeroext %674) #15, !dbg !587 + unreachable, !dbg !587 + +L440: ; preds = %L430 + br label %L441, !dbg !587 + +L441: ; preds = %L440 +; ││││││││││└ + %691 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !588 + %692 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %691, i64 0, !dbg !588 + %693 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !588 + %694 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %693, i64 0, !dbg !588 + br label %L443, !dbg !588 + +L443: ; preds = %L441 + br label %L444, !dbg !588 + +L444: ; preds = %L443 + br label %L445, !dbg !588 + +L445: ; preds = %L444 +; │││││││└└└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` +; │││││││┌ @ boot.jl:891 within `Int32` +; ││││││││┌ @ boot.jl:805 within `toInt32` +; │││││││││┌ @ boot.jl:756 within `check_sign_bit` +; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %695 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !591 + %696 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %695, i64 0, !dbg !591 + %697 = lshr i32 %value_phi11, 31, !dbg !591 + %698 = select i1 false, i32 0, i32 %697, !dbg !591 + %699 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !591 + %700 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %699, i64 0, !dbg !591 + %701 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !591 + %702 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %701, i64 0, !dbg !591 + %703 = trunc i32 %698 to i8, !dbg !591 + %704 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !591 + %705 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %704, i64 0, !dbg !591 + %706 = icmp eq i8 %703, 1, !dbg !591 +; ││││││││││└ + %707 = xor i1 %706, true, !dbg !592 + br i1 %707, label %L451, label %L449, !dbg !592 + +L449: ; preds = %L445 + %708 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !592 + %709 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %708, i64 0, !dbg !592 + %710 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !592 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %710, i32 zeroext %value_phi11) #15, !dbg !592 + unreachable, !dbg !592 + +L451: ; preds = %L445 + br label %L452, !dbg !592 + +L452: ; preds = %L451 +; │││││││││└ + %711 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !593 + %712 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %711, i64 0, !dbg !593 + %713 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !593 + %714 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %713, i64 0, !dbg !593 + br label %L454, !dbg !593 + +L454: ; preds = %L452 + br label %L455, !dbg !593 + +L455: ; preds = %L454 +; │││││││└└ +; │││││││┌ @ int.jl:87 within `+` + %715 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !596 + %716 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %715, i64 0, !dbg !596 + %717 = add i32 %674, %value_phi11, !dbg !596 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 + %718 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !597 + %719 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %718, i64 0, !dbg !597 + %720 = sub i32 %669, 1, !dbg !597 +; │││││││└ +; │││││││┌ @ int.jl:1011 within `&` +; ││││││││┌ @ int.jl:554 within `rem` + %721 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !600 + %722 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %721, i64 0, !dbg !600 +; ││││││││└ +; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 + %723 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !602 + %724 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %723, i64 0, !dbg !602 + %725 = and i32 %674, %720, !dbg !602 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %726 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !604 + %727 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %726, i64 0, !dbg !604 + %728 = add i32 %725, %value_phi11, !dbg !604 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %729 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !605 + %730 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %729, i64 0, !dbg !605 + %731 = icmp ule i32 %669, %728, !dbg !605 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %732 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !607 + %733 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %732, i64 0, !dbg !607 + %734 = xor i1 %731, true, !dbg !607 + %735 = select i1 %734, i32 %717, i32 %674, !dbg !607 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %736 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !608 + %737 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %736, i64 0, !dbg !608 + %738 = shl i32 %735, 2, !dbg !608 + %739 = select i1 false, i32 0, i32 %738, !dbg !608 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %740 = call i32 @llvm.amdgcn.ds.bpermute(i32 %739, i32 %673), !dbg !610 + br label %L465, !dbg !610 + +L465: ; preds = %L455 + br label %L466, !dbg !610 + +L466: ; preds = %L465 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %741 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 + %742 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %741, i64 0, !dbg !580 + %743 = bitcast i32 %740 to float, !dbg !580 + br label %L468, !dbg !580 + +L468: ; preds = %L466 + br label %L469, !dbg !580 + +L469: ; preds = %L468 + br label %L470, !dbg !580 + +L470: ; preds = %L469 + br label %L471, !dbg !580 + +L471: ; preds = %L470 +; ││││└└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` +; ││││┌ @ Base.jl:49 within `getproperty` + %744 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !574 + %745 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %744, i64 0, !dbg !574 + %746 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 1, !dbg !574 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` + %747 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !577 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %748 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 + %749 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %748, i64 0, !dbg !580 + %750 = load float, float addrspace(5)* %746, align 4, !dbg !580, !tbaa !332, !alias.scope !334, !noalias !335 + %751 = bitcast float %750 to i32, !dbg !580 +; │││││└ +; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` + %752 = call fastcc i32 @__ockl_activelane_u32(), !dbg !583 +; │││││││└ +; │││││││┌ @ number.jl:7 within `convert` +; ││││││││┌ @ boot.jl:891 within `Int32` +; │││││││││┌ @ boot.jl:805 within `toInt32` +; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` +; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %753 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !586 + %754 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %753, i64 0, !dbg !586 + %755 = lshr i32 %752, 31, !dbg !586 + %756 = select i1 false, i32 0, i32 %755, !dbg !586 + %757 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !586 + %758 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %757, i64 0, !dbg !586 + %759 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !586 + %760 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %759, i64 0, !dbg !586 + %761 = trunc i32 %756 to i8, !dbg !586 + %762 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !586 + %763 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %762, i64 0, !dbg !586 + %764 = icmp eq i8 %761, 1, !dbg !586 +; │││││││││││└ + %765 = xor i1 %764, true, !dbg !587 + br i1 %765, label %L481, label %L479, !dbg !587 + +L479: ; preds = %L471 + %766 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !587 + %767 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %766, i64 0, !dbg !587 + %768 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !587 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %768, i32 zeroext %752) #15, !dbg !587 + unreachable, !dbg !587 + +L481: ; preds = %L471 + br label %L482, !dbg !587 + +L482: ; preds = %L481 +; ││││││││││└ + %769 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !588 + %770 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %769, i64 0, !dbg !588 + %771 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !588 + %772 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %771, i64 0, !dbg !588 + br label %L484, !dbg !588 + +L484: ; preds = %L482 + br label %L485, !dbg !588 + +L485: ; preds = %L484 + br label %L486, !dbg !588 + +L486: ; preds = %L485 +; │││││││└└└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` +; │││││││┌ @ boot.jl:891 within `Int32` +; ││││││││┌ @ boot.jl:805 within `toInt32` +; │││││││││┌ @ boot.jl:756 within `check_sign_bit` +; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` + %773 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !591 + %774 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %773, i64 0, !dbg !591 + %775 = lshr i32 %value_phi11, 31, !dbg !591 + %776 = select i1 false, i32 0, i32 %775, !dbg !591 + %777 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !591 + %778 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %777, i64 0, !dbg !591 + %779 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !591 + %780 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %779, i64 0, !dbg !591 + %781 = trunc i32 %776 to i8, !dbg !591 + %782 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !591 + %783 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %782, i64 0, !dbg !591 + %784 = icmp eq i8 %781, 1, !dbg !591 +; ││││││││││└ + %785 = xor i1 %784, true, !dbg !592 + br i1 %785, label %L492, label %L490, !dbg !592 + +L490: ; preds = %L486 + %786 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !592 + %787 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %786, i64 0, !dbg !592 + %788 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !592 + call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %788, i32 zeroext %value_phi11) #15, !dbg !592 + unreachable, !dbg !592 + +L492: ; preds = %L486 + br label %L493, !dbg !592 + +L493: ; preds = %L492 +; │││││││││└ + %789 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !593 + %790 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %789, i64 0, !dbg !593 + %791 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !593 + %792 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %791, i64 0, !dbg !593 + br label %L495, !dbg !593 + +L495: ; preds = %L493 + br label %L496, !dbg !593 + +L496: ; preds = %L495 +; │││││││└└ +; │││││││┌ @ int.jl:87 within `+` + %793 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !596 + %794 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %793, i64 0, !dbg !596 + %795 = add i32 %752, %value_phi11, !dbg !596 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` +; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 + %796 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !597 + %797 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %796, i64 0, !dbg !597 + %798 = sub i32 %747, 1, !dbg !597 +; │││││││└ +; │││││││┌ @ int.jl:1011 within `&` +; ││││││││┌ @ int.jl:554 within `rem` + %799 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !600 + %800 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %799, i64 0, !dbg !600 +; ││││││││└ +; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 + %801 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !602 + %802 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %801, i64 0, !dbg !602 + %803 = and i32 %752, %798, !dbg !602 +; │││││││└ +; │││││││┌ @ int.jl:87 within `+` + %804 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !604 + %805 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %804, i64 0, !dbg !604 + %806 = add i32 %803, %value_phi11, !dbg !604 +; │││││││└ +; │││││││┌ @ operators.jl:426 within `>=` +; ││││││││┌ @ int.jl:515 within `<=` + %807 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !605 + %808 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %807, i64 0, !dbg !605 + %809 = icmp ule i32 %747, %806, !dbg !605 +; │││││││└└ +; │││││││┌ @ essentials.jl:796 within `ifelse` + %810 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !607 + %811 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %810, i64 0, !dbg !607 + %812 = xor i1 %809, true, !dbg !607 + %813 = select i1 %812, i32 %795, i32 %752, !dbg !607 +; │││││││└ +; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` +; │││││││┌ @ int.jl:529 within `<<` + %814 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !608 + %815 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %814, i64 0, !dbg !608 + %816 = shl i32 %813, 2, !dbg !608 + %817 = select i1 false, i32 0, i32 %816, !dbg !608 +; │││││││└ +; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` + %818 = call i32 @llvm.amdgcn.ds.bpermute(i32 %817, i32 %751), !dbg !610 + br label %L506, !dbg !610 + +L506: ; preds = %L496 + br label %L507, !dbg !610 + +L507: ; preds = %L506 +; │││││└└└ +; │││││┌ @ essentials.jl:730 within `reinterpret` + %819 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 + %820 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %819, i64 0, !dbg !580 + %821 = bitcast i32 %818 to float, !dbg !580 + br label %L509, !dbg !580 + +L509: ; preds = %L507 + br label %L510, !dbg !580 + +L510: ; preds = %L509 + br label %L511, !dbg !580 + +L511: ; preds = %L510 + br label %L512, !dbg !580 + +L512: ; preds = %L511 + br label %L513, !dbg !580 + +L513: ; preds = %L512 +; │││└└└ +; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ Base.jl:49 within `getproperty` + %822 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !611 + %823 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %822, i64 0, !dbg !611 + %824 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 0, !dbg !611 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %825 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !613 + %826 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %825, i64 0, !dbg !613 + %827 = load float, float addrspace(5)* %824, align 4, !dbg !613, !tbaa !332, !alias.scope !334, !noalias !335 + %828 = fadd float %827, %743, !dbg !613 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ Base.jl:49 within `getproperty` + %829 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !611 + %830 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %829, i64 0, !dbg !611 + %831 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 1, !dbg !611 +; ││││└ +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 + %832 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !613 + %833 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %832, i64 0, !dbg !613 + %834 = load float, float addrspace(5)* %831, align 4, !dbg !613, !tbaa !332, !alias.scope !334, !noalias !335 + %835 = fadd float %834, %821, !dbg !613 +; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` +; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` + %836 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !614 + %837 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %836, i64 0, !dbg !614 + %838 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %33, i32 0, i32 0, !dbg !614 + store float %828, float addrspace(5)* %838, align 4, !dbg !614, !tbaa !332, !alias.scope !334, !noalias !335 + %839 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %33, i32 0, i32 1, !dbg !614 + store float %835, float addrspace(5)* %839, align 4, !dbg !614, !tbaa !332, !alias.scope !334, !noalias !335 +; │││└└ +; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` +; │││┌ @ int.jl:528 within `>>` + %840 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !615 + %841 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %840, i64 0, !dbg !615 + %842 = lshr i32 %value_phi11, 1, !dbg !615 + %843 = select i1 false, i32 0, i32 %842, !dbg !615 + %844 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* +; └└└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %844), !dbg !77 + %845 = icmp ne [2 x float] addrspace(5)* %33, null + br i1 %845, label %guard_pass47, label %guard_exit48 + +L520: ; preds = %L426 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` + br label %L521, !dbg !617 + +L521: ; preds = %L520 + %846 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %846), !dbg !77 + %847 = icmp ne [2 x float] addrspace(5)* %32, null + br i1 %847, label %guard_pass51, label %guard_exit52 + +L522: ; preds = %guard_exit58, %guard_exit54 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:100 within `__warp_groupreduce` + %848 = bitcast [2 x float] addrspace(5)* %35 to i8 addrspace(5)*, !dbg !618 + %849 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)*, !dbg !618 + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %848, i8 addrspace(5)* align 4 %849, i64 8, i1 false), !dbg !618 + %850 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)*, !dbg !618 + call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %850), !dbg !618 + br label %L524, !dbg !618 + +L524: ; preds = %L522 +; │└ +; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` +; │┌ @ promotion.jl:639 within `==` + %851 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !619 + %852 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %851, i64 0, !dbg !619 + %853 = icmp eq i64 %304, 1, !dbg !619 +; │└ + %854 = xor i1 %853, true, !dbg !620 + br i1 %854, label %L550, label %L526, !dbg !620 + +L526: ; preds = %L524 +; │┌ @ Base.jl:49 within `getproperty` + %855 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !621 + %856 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %855, i64 0, !dbg !621 + %857 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %35, i32 0, i32 0, !dbg !621 + %858 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !621 + %859 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %858, i64 0, !dbg !621 + %860 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %35, i32 0, i32 1, !dbg !621 +; │└ +; │┌ @ float.jl:491 within `+` + %861 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !622 + %862 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %861, i64 0, !dbg !622 + %863 = load float, float addrspace(5)* %857, align 4, !dbg !622, !tbaa !332, !alias.scope !334, !noalias !335 + %864 = load float, float addrspace(5)* %860, align 4, !dbg !622, !tbaa !332, !alias.scope !334, !noalias !335 + %865 = fadd float %863, %864, !dbg !622 +; │└ +; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` + br label %L531, !dbg !623 + +L531: ; preds = %L526 +; ││┌ @ abstractarray.jl:697 within `checkbounds` + %866 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !624 + %867 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %866, i64 0, !dbg !624 + %868 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %36, i32 0, i32 0, !dbg !624 + %869 = load i64, i64 addrspace(1)* @_j_const_3, align 8, !dbg !624, !tbaa !415, !alias.scope !419, !noalias !420 + store i64 %869, i64 addrspace(5)* %868, align 8, !dbg !624, !tbaa !332, !alias.scope !334, !noalias !335 +; │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 +; │││┌ @ abstractarray.jl:389 within `eachindex` +; ││││┌ @ abstractarray.jl:137 within `axes1` +; │││││┌ @ abstractarray.jl:98 within `axes` +; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` +; │││││││┌ @ Base.jl:49 within `getproperty` + %870 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !625 + %871 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %870, i64 0, !dbg !625 + %872 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, i32 0, i32 0, !dbg !625 +; ││││││└└ +; ││││││┌ @ tuple.jl:355 within `map` +; │││││││┌ @ tuple.jl:31 within `getindex` + %873 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !632 + %874 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %873, i64 0, !dbg !632 + %875 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %872, i32 0, i32 0, !dbg !632 +; │││└└└└└ +; │││┌ @ abstractarray.jl:754 within `checkindex` +; ││││┌ @ int.jl:86 within `-` + %876 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !634 + %877 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %876, i64 0, !dbg !634 +; ││││└ +; ││││┌ @ essentials.jl:668 within `unsigned` +; │││││┌ @ essentials.jl:730 within `reinterpret` + %878 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !636 + %879 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %878, i64 0, !dbg !636 + %880 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !636 + %881 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %880, i64 0, !dbg !636 + %882 = load i64, i64 addrspace(11)* %875, align 8, !dbg !636, !alias.scope !53, !noalias !56 +; ││││└└ +; ││││┌ @ int.jl:513 within `<` + %883 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !638 + %884 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %883, i64 0, !dbg !638 + %885 = icmp ult i64 0, %882, !dbg !638 +; │││└└ +; │││ @ abstractarray.jl:699 within `checkbounds` + %886 = xor i1 %885, true, !dbg !631 + br i1 %886, label %L541, label %L540, !dbg !631 + +L540: ; preds = %L531 + br label %L543, !dbg !631 + +L541: ; preds = %L531 + %887 = bitcast {}* inttoptr (i64 130978879164528 to {}*) to {} addrspace(10)**, !dbg !631 + %888 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %887, i64 0, !dbg !631 + %889 = addrspacecast [1 x i64] addrspace(5)* %36 to [1 x i64] addrspace(11)*, !dbg !631 + call fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture readonly %7, [1 x i64] addrspace(11)* nocapture readonly %889) #15, !dbg !631 + unreachable, !dbg !631 + +L543: ; preds = %L540 + br label %L544, !dbg !631 + +L544: ; preds = %L543 +; ││└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` +; │││┌ @ Base.jl:49 within `getproperty` + %890 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !639 + %891 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %890, i64 0, !dbg !639 + %892 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, i32 0, i32 1, !dbg !639 +; ││└└ +; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` +; │││┌ @ none within `pointerset` +; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %893 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !642 + %894 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %893, i64 0, !dbg !642 + %895 = addrspacecast {}* inttoptr (i64 130978998765168 to {}*) to {} addrspace(10)*, !dbg !642 + %896 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %895, 0, !dbg !642 + %897 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !642 + %898 = insertvalue [2 x {} addrspace(10)*] %896, {} addrspace(10)* %897, 1, !dbg !642 +; │││││┌ @ int.jl:86 within `-` + %899 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !646 + %900 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %899, i64 0, !dbg !646 +; │││││└ + %901 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !642 + %902 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %901, i64 0, !dbg !642 + %903 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(11)* %892, align 8, !dbg !642, !alias.scope !53, !noalias !56 + %904 = bitcast i8 addrspace(1)* %903 to float addrspace(1)*, !dbg !642 + store float %865, float addrspace(1)* %904, align 4, !dbg !642, !tbaa !386 +; ││└└└ +; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` + br label %L549, !dbg !647 + +L549: ; preds = %L544 + br label %L550, !dbg !647 + +L550: ; preds = %L549, %L524, %L109 +; └└ +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 + %905 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !648 + %906 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %905, i64 0, !dbg !648 + ret void, !dbg !648 + +pass: ; preds = %L256 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` +; ││┌ @ int.jl:298 within `rem` + %907 = urem i32 %421, 32, !dbg !445 +; ││└ +; ││┌ @ int.jl:1013 within `+` @ int.jl:87 + %908 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !649 + %909 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %908, i64 0, !dbg !649 + %910 = add i32 %907, 1, !dbg !649 +; ││└ +; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` +; ││┌ @ int.jl:1013 within `-` @ int.jl:86 + %911 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !651 + %912 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %911, i64 0, !dbg !651 + %913 = sub i32 %400, 1, !dbg !651 +; ││└ + %914 = bitcast {}* inttoptr (i64 130978247410944 to {}*) to {} addrspace(10)**, !dbg !653 + %915 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %914, i64 0, !dbg !653 +; ││┌ @ int.jl:297 within `div` + %916 = bitcast {}* inttoptr (i64 130978849209392 to {}*) to {} addrspace(10)**, !dbg !654 + %917 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %916, i64 0, !dbg !654 + br label %pass2, !dbg !654 + +pass2: ; preds = %pass + %918 = udiv i32 %913, 32, !dbg !654 +; ││└ +; ││┌ @ int.jl:1013 within `+` @ int.jl:87 + %919 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !656 + %920 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %919, i64 0, !dbg !656 + %921 = add i32 %918, 1, !dbg !656 + %922 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %922), !dbg !77 + %923 = icmp ne [2 x float] addrspace(5)* %20, null + br i1 %923, label %guard_pass, label %guard_exit + +guard_pass: ; preds = %pass2 + br label %guard_exit + +guard_exit: ; preds = %guard_pass, %pass2 + %924 = phi i1 [ false, %pass2 ], [ true, %guard_pass ] + br i1 %924, label %guard_pass29, label %guard_exit30 + +guard_pass29: ; preds = %guard_exit + %925 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* + %926 = bitcast [2 x float] addrspace(5)* %20 to i8 addrspace(5)* + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %925, i8 addrspace(5)* align 4 %926, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit30 + +guard_exit30: ; preds = %guard_pass29, %guard_exit +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` +; ││┌ @ int.jl:1013 within `+` @ int.jl:87 + br label %L277, !dbg !656 + +guard_pass31: ; preds = %L366 + br label %guard_exit32 + +guard_exit32: ; preds = %guard_pass31, %L366 + %927 = phi i1 [ false, %L366 ], [ true, %guard_pass31 ] + br i1 %927, label %guard_pass33, label %guard_exit34 + +guard_pass33: ; preds = %guard_exit32 + %928 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* + %929 = bitcast [2 x float] addrspace(5)* %25 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %928, i8 addrspace(5)* align 4 %929, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit34 + +guard_exit34: ; preds = %guard_pass33, %guard_exit32 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` + br label %L277, !dbg !658 + +guard_pass35: ; preds = %L420 + br label %guard_exit36 + +guard_exit36: ; preds = %guard_pass35, %L420 + %930 = phi i1 [ false, %L420 ], [ true, %guard_pass35 ] + br i1 %930, label %guard_pass37, label %guard_exit38 + +guard_pass37: ; preds = %guard_exit36 + %931 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* + %932 = bitcast [2 x float] addrspace(5)* %28 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %931, i8 addrspace(5)* align 4 %932, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit38 + +guard_exit38: ; preds = %guard_pass37, %guard_exit36 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` +; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` +; ││││┌ @ none within `pointerref` +; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + br label %L422, !dbg !561 + +guard_pass39: ; preds = %L421 + br label %guard_exit40 + +guard_exit40: ; preds = %guard_pass39, %L421 + %933 = phi i1 [ false, %L421 ], [ true, %guard_pass39 ] + br i1 %933, label %guard_pass41, label %guard_exit42 + +guard_pass41: ; preds = %guard_exit40 + %934 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* + %935 = bitcast [2 x float] addrspace(5)* %21 to i8 addrspace(5)* +; └└└└└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %934, i8 addrspace(5)* align 4 %935, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit42 + +guard_exit42: ; preds = %guard_pass41, %guard_exit40 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` +; │││┌ @ abstractarray.jl:699 within `checkbounds` + br label %L422, !dbg !659 + +guard_pass43: ; preds = %L425 + br label %guard_exit44 + +guard_exit44: ; preds = %guard_pass43, %L425 + %936 = phi i1 [ false, %L425 ], [ true, %guard_pass43 ] + br i1 %936, label %guard_pass45, label %guard_exit46 + +guard_pass45: ; preds = %guard_exit44 + %937 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* + %938 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)* +; └└└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %937, i8 addrspace(5)* align 4 %938, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit46 + +guard_exit46: ; preds = %guard_pass45, %guard_exit44 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` + br label %L426, !dbg !569 + +guard_pass47: ; preds = %L513 + br label %guard_exit48 + +guard_exit48: ; preds = %guard_pass47, %L513 + %939 = phi i1 [ false, %L513 ], [ true, %guard_pass47 ] + br i1 %939, label %guard_pass49, label %guard_exit50 + +guard_pass49: ; preds = %guard_exit48 + %940 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* + %941 = bitcast [2 x float] addrspace(5)* %33 to i8 addrspace(5)* +; └└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %940, i8 addrspace(5)* align 4 %941, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit50 + +guard_exit50: ; preds = %guard_pass49, %guard_exit48 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` + br label %L426, !dbg !660 + +guard_pass51: ; preds = %L521 + br label %guard_exit52 + +guard_exit52: ; preds = %guard_pass51, %L521 + %942 = phi i1 [ false, %L521 ], [ true, %guard_pass51 ] + br i1 %942, label %guard_pass53, label %guard_exit54 + +guard_pass53: ; preds = %guard_exit52 + %943 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* + %944 = bitcast [2 x float] addrspace(5)* %32 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %943, i8 addrspace(5)* align 4 %944, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit54 + +guard_exit54: ; preds = %guard_pass53, %guard_exit52 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` +; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` + br label %L522, !dbg !617 + +guard_pass55: ; preds = %L422.L522_crit_edge + br label %guard_exit56 + +guard_exit56: ; preds = %guard_pass55, %L422.L522_crit_edge + %945 = phi i1 [ false, %L422.L522_crit_edge ], [ true, %guard_pass55 ] + br i1 %945, label %guard_pass57, label %guard_exit58 + +guard_pass57: ; preds = %guard_exit56 + %946 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* + %947 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)* +; └└└ +; @ none within `gpu_groupreduce_1!` + call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %946, i8 addrspace(5)* align 4 %947, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 + br label %guard_exit58 + +guard_exit58: ; preds = %guard_pass57, %guard_exit56 +; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` +; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` + br label %L522, !dbg !569 +; └└ +} + +; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(read) +define internal fastcc i32 @__ockl_activelane_u32() unnamed_addr #9 { + %1 = load i8, i8 addrspace(4)* @__oclc_wavefrontsize64, align 1, !tbaa !661, !range !665 + %2 = icmp eq i8 %1, 0 + br i1 %2, label %8, label %3 + +3: ; preds = %0 + %4 = tail call i32 @llvm.read_register.i32(metadata !666) #16 + %5 = tail call i32 @llvm.read_register.i32(metadata !667) #16 + %6 = tail call i32 @llvm.amdgcn.mbcnt.lo(i32 %5, i32 0) + %7 = tail call i32 @llvm.amdgcn.mbcnt.hi(i32 %4, i32 %6) + br label %11 + +8: ; preds = %0 + %9 = tail call i32 @llvm.read_register.i32(metadata !667) #16 + %10 = tail call i32 @llvm.amdgcn.mbcnt.lo(i32 %9, i32 0) + br label %11 + +11: ; preds = %8, %3 + %12 = phi i32 [ %7, %3 ], [ %10, %8 ] + ret i32 %12 +} + +; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(read) +declare i32 @llvm.read_register.i32(metadata) #10 + +; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) +declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #11 + +; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) +declare i32 @llvm.amdgcn.mbcnt.hi(i32, i32) #11 + +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:138 within `report_exception` +; Function Attrs: alwaysinline +define internal fastcc void @gpu_report_exception(i64 zeroext %0) unnamed_addr #12 !dbg !668 { +top: + %pgcstack = call {}*** @julia.get_pgcstack() + %1 = bitcast {}*** %pgcstack to {}** + %current_task = getelementptr inbounds {}*, {}** %1, i64 -14 + %2 = bitcast {}** %current_task to i64* + %world_age = getelementptr inbounds i64, i64* %2, i64 15 + ret void, !dbg !670 +} + +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:112 within `signal_exception` +; Function Attrs: alwaysinline +define internal fastcc void @gpu_signal_exception() unnamed_addr #12 !dbg !671 { +top: + %0 = alloca { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, align 8, addrspace(5) + %pgcstack = call {}*** @julia.get_pgcstack() + %1 = bitcast {}*** %pgcstack to {}** + %current_task = getelementptr inbounds {}*, {}** %1, i64 -14 + %2 = bitcast {}** %current_task to i64* + %world_age = getelementptr inbounds i64, i64* %2, i64 15 +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` +; │┌ @ none within `kernel_state` +; ││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 + %3 = bitcast {}* inttoptr (i64 139223665615936 to {}*) to {} addrspace(10)**, !dbg !672 + %4 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %3, i64 0, !dbg !672 + %5 = addrspacecast {}* inttoptr (i64 139215314230032 to {}*) to {} addrspace(10)*, !dbg !672 + %6 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %5, 0, !dbg !672 + %7 = addrspacecast {}* inttoptr (i64 139220359716432 to {}*) to {} addrspace(10)*, !dbg !672 + %8 = insertvalue [2 x {} addrspace(10)*] %6, {} addrspace(10)* %7, 1, !dbg !672 + %9 = bitcast {}* inttoptr (i64 139223664405024 to {}*) to {} addrspace(10)**, !dbg !672 + %10 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %9, i64 0, !dbg !672 + %state.i = call { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } @julia.gpu.state_getter(), !dbg !672 + store { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state.i, { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } addrspace(5)* %0, align 8, !dbg !672 +; │└└ +; │┌ @ Base.jl:49 within `getproperty` + %11 = bitcast {}* inttoptr (i64 139223630822352 to {}*) to {} addrspace(10)**, !dbg !681 + %12 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %11, i64 0, !dbg !681 + %13 = getelementptr inbounds { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } addrspace(5)* %0, i32 0, i32 0, !dbg !681 +; └└ +; ┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 + %14 = bitcast {}* inttoptr (i64 139223674366464 to {}*) to {} addrspace(10)**, !dbg !683 + %15 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %14, i64 0, !dbg !683 + %16 = bitcast i64 addrspace(5)* %13 to i8* addrspace(5)*, !dbg !683 + %17 = load i8*, i8* addrspace(5)* %16, align 8, !dbg !683, !tbaa !332, !alias.scope !334, !noalias !335 + %18 = getelementptr inbounds i8, i8* %17, i64 0, !dbg !683 + %19 = bitcast i8* %18 to i32*, !dbg !683 + %20 = load i32, i32 addrspace(1)* @_j_const_1.19, align 4, !dbg !683, !tbaa !415, !alias.scope !419, !noalias !420 + store i32 %20, i32* %19, align 1, !dbg !683 +; └ +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` +; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` + call void @llvm.amdgcn.endpgm(), !dbg !687 +; └ +; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` + unreachable, !dbg !691 +} + +; Function Attrs: memory(none) +declare { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } @julia.gpu.state_getter() local_unnamed_addr #13 + +; Function Attrs: cold nocallback nofree noreturn nounwind +declare void @llvm.amdgcn.endpgm() #14 + +attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } +attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } +attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } +attributes #3 = { cold noreturn nounwind } +attributes #4 = { convergent nocallback nofree nounwind willreturn memory(none) } +attributes #5 = { convergent nocallback nofree nounwind willreturn } +attributes #6 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } +attributes #7 = { alwaysinline noreturn } +attributes #8 = { "amdgpu-unsafe-fp-atomics"="true" "target-cpu"="gfx1100" "target-features"="+wavefrontsize32,-wavefrontsize64" } +attributes #9 = { alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(read) "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } +attributes #10 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(read) } +attributes #11 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(none) } +attributes #12 = { alwaysinline } +attributes #13 = { memory(none) } +attributes #14 = { cold nocallback nofree noreturn nounwind } +attributes #15 = { noreturn } +attributes #16 = { convergent } + +!llvm.module.flags = !{!0, !1, !2, !3} +!llvm.dbg.cu = !{!4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40} +!opencl.ocl.version = !{!41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41} +!llvm.ident = !{!42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42} +!julia.kernel = !{!43} + +!0 = !{i32 2, !"Dwarf Version", i32 4} +!1 = !{i32 2, !"Debug Info Version", i32 3} +!2 = !{i32 1, !"wchar_size", i32 4} +!3 = !{i32 8, !"PIC Level", i32 0} +!4 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!5 = !DIFile(filename: "julia", directory: ".") +!6 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!9 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!10 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!11 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!12 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!13 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!14 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!15 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!16 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!17 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!18 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!19 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!20 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!21 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!22 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!23 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!24 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!25 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!26 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!27 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!28 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!29 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!30 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!31 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!32 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!33 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!34 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!35 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!36 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!37 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!38 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!39 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!40 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) +!41 = !{i32 2, i32 0} +!42 = !{!"clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)"} +!43 = !{void ({ [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 }, float)* @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_} +!44 = distinct !DISubprogram(name: "#throw_inexacterror", linkageName: "julia_#throw_inexacterror_12221", scope: null, file: !45, line: 40, type: !46, scopeLine: 40, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !6, retainedNodes: !47) +!45 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl", directory: ".") +!46 = !DISubroutineType(types: !47) +!47 = !{} +!48 = !DILocation(line: 8, scope: !44) +!49 = !{!50, !50, i64 0, i64 1} +!50 = !{!"jtbaa_const", !51, i64 0} +!51 = !{!"jtbaa", !52, i64 0} +!52 = !{!"jtbaa"} +!53 = !{!54} +!54 = !{!"jnoalias_const", !55} +!55 = !{!"jnoalias"} +!56 = !{!57, !58, !59, !60} +!57 = !{!"jnoalias_gcframe", !55} +!58 = !{!"jnoalias_stack", !55} +!59 = !{!"jnoalias_data", !55} +!60 = !{!"jnoalias_typemd", !55} +!61 = distinct !DISubprogram(name: "#throw_boundserror", linkageName: "julia_#throw_boundserror_12219", scope: null, file: !45, line: 44, type: !46, scopeLine: 44, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, retainedNodes: !47) +!62 = !DILocation(line: 8, scope: !61) +!63 = distinct !DISubprogram(name: "gpu_groupreduce_1!", linkageName: "julia_gpu_groupreduce_1!_12132", scope: null, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!64 = !DIFile(filename: "none", directory: ".") +!65 = !DILocation(line: 49, scope: !66, inlinedAt: !68) +!66 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!67 = !DIFile(filename: "Base.jl", directory: ".") +!68 = !DILocation(line: 23, scope: !69, inlinedAt: !71) +!69 = distinct !DISubprogram(name: "__iterspace;", linkageName: "__iterspace", scope: !70, file: !70, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!70 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl", directory: ".") +!71 = !DILocation(line: 141, scope: !72, inlinedAt: !74) +!72 = distinct !DISubprogram(name: "#__validindex;", linkageName: "#__validindex", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!73 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl", directory: ".") +!74 = !DILocation(line: 96, scope: !75, inlinedAt: !77) +!75 = distinct !DISubprogram(name: "gpu_groupreduce_1!;", linkageName: "gpu_groupreduce_1!", scope: !76, file: !76, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!76 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl", directory: ".") +!77 = !DILocation(line: 0, scope: !63) +!78 = !DILocation(line: 39, scope: !79, inlinedAt: !81) +!79 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !80, file: !80, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!80 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl", directory: ".") +!81 = !DILocation(line: 3, scope: !82, inlinedAt: !84) +!82 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!83 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl", directory: ".") +!84 = !DILocation(line: 3, scope: !85, inlinedAt: !86) +!85 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!86 = !DILocation(line: 93, scope: !87, inlinedAt: !88) +!87 = distinct !DISubprogram(name: "workgroupIdx_x;", linkageName: "workgroupIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!88 = !DILocation(line: 95, scope: !89, inlinedAt: !90) +!89 = distinct !DISubprogram(name: "blockIdx_x;", linkageName: "blockIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!90 = !DILocation(line: 172, scope: !91, inlinedAt: !71) +!91 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!92 = !{i32 0, i32 -2} +!93 = !DILocation(line: 87, scope: !94, inlinedAt: !96) +!94 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!95 = !DIFile(filename: "int.jl", directory: ".") +!96 = !DILocation(line: 1013, scope: !94, inlinedAt: !86) +!97 = !DILocation(line: 39, scope: !79, inlinedAt: !98) +!98 = !DILocation(line: 3, scope: !82, inlinedAt: !99) +!99 = !DILocation(line: 3, scope: !85, inlinedAt: !100) +!100 = !DILocation(line: 93, scope: !101, inlinedAt: !102) +!101 = distinct !DISubprogram(name: "workgroupIdx_y;", linkageName: "workgroupIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!102 = !DILocation(line: 95, scope: !103, inlinedAt: !90) +!103 = distinct !DISubprogram(name: "blockIdx_y;", linkageName: "blockIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!104 = !DILocation(line: 39, scope: !79, inlinedAt: !105) +!105 = !DILocation(line: 3, scope: !82, inlinedAt: !106) +!106 = !DILocation(line: 3, scope: !85, inlinedAt: !107) +!107 = !DILocation(line: 93, scope: !108, inlinedAt: !109) +!108 = distinct !DISubprogram(name: "workgroupIdx_z;", linkageName: "workgroupIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!109 = !DILocation(line: 95, scope: !110, inlinedAt: !90) +!110 = distinct !DISubprogram(name: "blockIdx_z;", linkageName: "blockIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!111 = !DILocation(line: 39, scope: !79, inlinedAt: !112) +!112 = !DILocation(line: 3, scope: !82, inlinedAt: !113) +!113 = !DILocation(line: 3, scope: !85, inlinedAt: !114) +!114 = !DILocation(line: 87, scope: !115, inlinedAt: !116) +!115 = distinct !DISubprogram(name: "workitemIdx_x;", linkageName: "workitemIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!116 = !DILocation(line: 89, scope: !117, inlinedAt: !118) +!117 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!118 = !DILocation(line: 164, scope: !119, inlinedAt: !71) +!119 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!120 = !{i32 0, i32 1023} +!121 = !DILocation(line: 87, scope: !94, inlinedAt: !122) +!122 = !DILocation(line: 1013, scope: !94, inlinedAt: !114) +!123 = !DILocation(line: 39, scope: !79, inlinedAt: !124) +!124 = !DILocation(line: 3, scope: !82, inlinedAt: !125) +!125 = !DILocation(line: 3, scope: !85, inlinedAt: !126) +!126 = !DILocation(line: 87, scope: !127, inlinedAt: !128) +!127 = distinct !DISubprogram(name: "workitemIdx_y;", linkageName: "workitemIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!128 = !DILocation(line: 89, scope: !129, inlinedAt: !118) +!129 = distinct !DISubprogram(name: "threadIdx_y;", linkageName: "threadIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!130 = !DILocation(line: 39, scope: !79, inlinedAt: !131) +!131 = !DILocation(line: 3, scope: !82, inlinedAt: !132) +!132 = !DILocation(line: 3, scope: !85, inlinedAt: !133) +!133 = !DILocation(line: 87, scope: !134, inlinedAt: !135) +!134 = distinct !DISubprogram(name: "workitemIdx_z;", linkageName: "workitemIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!135 = !DILocation(line: 89, scope: !136, inlinedAt: !118) +!136 = distinct !DISubprogram(name: "threadIdx_z;", linkageName: "threadIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!137 = !DILocation(line: 49, scope: !66, inlinedAt: !138) +!138 = !DILocation(line: 64, scope: !139, inlinedAt: !141) +!139 = distinct !DISubprogram(name: "blocks;", linkageName: "blocks", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!140 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl", directory: ".") +!141 = !DILocation(line: 117, scope: !142, inlinedAt: !71) +!142 = distinct !DISubprogram(name: "expand;", linkageName: "expand", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!143 = !DILocation(line: 49, scope: !66, inlinedAt: !144) +!144 = !DILocation(line: 110, scope: !145, inlinedAt: !146) +!145 = distinct !DISubprogram(name: "#3;", linkageName: "#3", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!146 = !DILocation(line: 48, scope: !147, inlinedAt: !149) +!147 = distinct !DISubprogram(name: "ntuple;", linkageName: "ntuple", scope: !148, file: !148, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!148 = !DIFile(filename: "ntuple.jl", directory: ".") +!149 = !DILocation(line: 108, scope: !150, inlinedAt: !151) +!150 = distinct !DISubprogram(name: "assume_nonzero;", linkageName: "assume_nonzero", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!151 = !DILocation(line: 119, scope: !142, inlinedAt: !71) +!152 = !DILocation(line: 31, scope: !153, inlinedAt: !144) +!153 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !154, file: !154, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!154 = !DIFile(filename: "tuple.jl", directory: ".") +!155 = !DILocation(line: 49, scope: !66, inlinedAt: !156) +!156 = !DILocation(line: 111, scope: !145, inlinedAt: !146) +!157 = !DILocation(line: 83, scope: !158, inlinedAt: !159) +!158 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!159 = !DILocation(line: 379, scope: !160, inlinedAt: !156) +!160 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !161, file: !161, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!161 = !DIFile(filename: "operators.jl", directory: ".") +!162 = !DILocation(line: 91, scope: !163, inlinedAt: !156) +!163 = distinct !DISubprogram(name: "assume;", linkageName: "assume", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!164 = !DILocation(line: 91, scope: !163, inlinedAt: !165) +!165 = !DILocation(line: 111, scope: !145, inlinedAt: !166) +!166 = !DILocation(line: 48, scope: !147, inlinedAt: !167) +!167 = !DILocation(line: 108, scope: !150, inlinedAt: !168) +!168 = !DILocation(line: 120, scope: !142, inlinedAt: !71) +!169 = !DILocation(line: 816, scope: !170, inlinedAt: !172) +!170 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!171 = !DIFile(filename: "boot.jl", directory: ".") +!172 = !DILocation(line: 892, scope: !173, inlinedAt: !174) +!173 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!174 = !DILocation(line: 7, scope: !175, inlinedAt: !177) +!175 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !176, file: !176, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!176 = !DIFile(filename: "number.jl", directory: ".") +!177 = !DILocation(line: 307, scope: !178, inlinedAt: !180) +!178 = distinct !DISubprogram(name: "to_index;", linkageName: "to_index", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!179 = !DIFile(filename: "indices.jl", directory: ".") +!180 = !DILocation(line: 292, scope: !178, inlinedAt: !181) +!181 = !DILocation(line: 368, scope: !182, inlinedAt: !183) +!182 = distinct !DISubprogram(name: "to_indices;", linkageName: "to_indices", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!183 = !DILocation(line: 365, scope: !182, inlinedAt: !184) +!184 = !DILocation(line: 1312, scope: !185, inlinedAt: !187) +!185 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!186 = !DIFile(filename: "abstractarray.jl", directory: ".") +!187 = !DILocation(line: 121, scope: !142, inlinedAt: !71) +!188 = !DILocation(line: 55, scope: !189, inlinedAt: !190) +!189 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!190 = !DILocation(line: 1358, scope: !191, inlinedAt: !184) +!191 = distinct !DISubprogram(name: "_getindex;", linkageName: "_getindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!192 = !DILocation(line: 49, scope: !66, inlinedAt: !193) +!193 = !DILocation(line: 56, scope: !189, inlinedAt: !190) +!194 = !DILocation(line: 31, scope: !153, inlinedAt: !195) +!195 = !DILocation(line: 382, scope: !196, inlinedAt: !193) +!196 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !154, file: !154, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!197 = !DILocation(line: 922, scope: !198, inlinedAt: !200) +!198 = distinct !DISubprogram(name: "_getindex;", linkageName: "_getindex", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!199 = !DIFile(filename: "range.jl", directory: ".") +!200 = !DILocation(line: 3076, scope: !201, inlinedAt: !203) +!201 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !202, file: !202, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!202 = !DIFile(filename: "array.jl", directory: ".") +!203 = !DILocation(line: 57, scope: !204, inlinedAt: !195) +!204 = distinct !DISubprogram(name: "#54;", linkageName: "#54", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!205 = !DILocation(line: 699, scope: !206, inlinedAt: !197) +!206 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!207 = !DILocation(line: 86, scope: !208, inlinedAt: !209) +!208 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!209 = !DILocation(line: 79, scope: !210, inlinedAt: !211) +!210 = distinct !DISubprogram(name: "#1;", linkageName: "#1", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!211 = !DILocation(line: 48, scope: !147, inlinedAt: !212) +!212 = !DILocation(line: 75, scope: !142, inlinedAt: !187) +!213 = !DILocation(line: 88, scope: !214, inlinedAt: !209) +!214 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!215 = !DILocation(line: 87, scope: !94, inlinedAt: !209) +!216 = !DILocation(line: 49, scope: !66, inlinedAt: !217) +!217 = !DILocation(line: 28, scope: !218, inlinedAt: !219) +!218 = distinct !DISubprogram(name: "__ndrange;", linkageName: "__ndrange", scope: !70, file: !70, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!219 = !DILocation(line: 142, scope: !72, inlinedAt: !74) +!220 = !DILocation(line: 49, scope: !66, inlinedAt: !221) +!221 = !DILocation(line: 477, scope: !222, inlinedAt: !219) +!222 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !223, file: !223, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!223 = !DIFile(filename: "multidimensional.jl", directory: ".") +!224 = !DILocation(line: 31, scope: !153, inlinedAt: !225) +!225 = !DILocation(line: 382, scope: !196, inlinedAt: !221) +!226 = !DILocation(line: 514, scope: !227, inlinedAt: !228) +!227 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!228 = !DILocation(line: 1426, scope: !229, inlinedAt: !225) +!229 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!230 = !DILocation(line: 49, scope: !66, inlinedAt: !231) +!231 = !DILocation(line: 846, scope: !232, inlinedAt: !228) +!232 = distinct !DISubprogram(name: "last;", linkageName: "last", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!233 = !DILocation(line: 38, scope: !234, inlinedAt: !228) +!234 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !235, file: !235, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!235 = !DIFile(filename: "bool.jl", directory: ".") +!236 = !DILocation(line: 49, scope: !66, inlinedAt: !237) +!237 = !DILocation(line: 23, scope: !69, inlinedAt: !238) +!238 = !DILocation(line: 122, scope: !239, inlinedAt: !240) +!239 = distinct !DISubprogram(name: "#__index_Global_Linear;", linkageName: "#__index_Global_Linear", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!240 = !DILocation(line: 15, scope: !241, inlinedAt: !243) +!241 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!242 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/t.jl", directory: ".") +!243 = !DILocation(line: 97, scope: !75, inlinedAt: !77) +!244 = !DILocation(line: 39, scope: !79, inlinedAt: !245) +!245 = !DILocation(line: 3, scope: !82, inlinedAt: !246) +!246 = !DILocation(line: 3, scope: !85, inlinedAt: !247) +!247 = !DILocation(line: 93, scope: !87, inlinedAt: !248) +!248 = !DILocation(line: 95, scope: !89, inlinedAt: !249) +!249 = !DILocation(line: 172, scope: !91, inlinedAt: !238) +!250 = !DILocation(line: 87, scope: !94, inlinedAt: !251) +!251 = !DILocation(line: 1013, scope: !94, inlinedAt: !247) +!252 = !DILocation(line: 39, scope: !79, inlinedAt: !253) +!253 = !DILocation(line: 3, scope: !82, inlinedAt: !254) +!254 = !DILocation(line: 3, scope: !85, inlinedAt: !255) +!255 = !DILocation(line: 93, scope: !101, inlinedAt: !256) +!256 = !DILocation(line: 95, scope: !103, inlinedAt: !249) +!257 = !DILocation(line: 39, scope: !79, inlinedAt: !258) +!258 = !DILocation(line: 3, scope: !82, inlinedAt: !259) +!259 = !DILocation(line: 3, scope: !85, inlinedAt: !260) +!260 = !DILocation(line: 93, scope: !108, inlinedAt: !261) +!261 = !DILocation(line: 95, scope: !110, inlinedAt: !249) +!262 = !DILocation(line: 39, scope: !79, inlinedAt: !263) +!263 = !DILocation(line: 3, scope: !82, inlinedAt: !264) +!264 = !DILocation(line: 3, scope: !85, inlinedAt: !265) +!265 = !DILocation(line: 87, scope: !115, inlinedAt: !266) +!266 = !DILocation(line: 89, scope: !117, inlinedAt: !267) +!267 = !DILocation(line: 164, scope: !119, inlinedAt: !238) +!268 = !DILocation(line: 87, scope: !94, inlinedAt: !269) +!269 = !DILocation(line: 1013, scope: !94, inlinedAt: !265) +!270 = !DILocation(line: 39, scope: !79, inlinedAt: !271) +!271 = !DILocation(line: 3, scope: !82, inlinedAt: !272) +!272 = !DILocation(line: 3, scope: !85, inlinedAt: !273) +!273 = !DILocation(line: 87, scope: !127, inlinedAt: !274) +!274 = !DILocation(line: 89, scope: !129, inlinedAt: !267) +!275 = !DILocation(line: 39, scope: !79, inlinedAt: !276) +!276 = !DILocation(line: 3, scope: !82, inlinedAt: !277) +!277 = !DILocation(line: 3, scope: !85, inlinedAt: !278) +!278 = !DILocation(line: 87, scope: !134, inlinedAt: !279) +!279 = !DILocation(line: 89, scope: !136, inlinedAt: !267) +!280 = !DILocation(line: 49, scope: !66, inlinedAt: !281) +!281 = !DILocation(line: 64, scope: !139, inlinedAt: !282) +!282 = !DILocation(line: 117, scope: !142, inlinedAt: !238) +!283 = !DILocation(line: 49, scope: !66, inlinedAt: !284) +!284 = !DILocation(line: 110, scope: !145, inlinedAt: !285) +!285 = !DILocation(line: 48, scope: !147, inlinedAt: !286) +!286 = !DILocation(line: 108, scope: !150, inlinedAt: !287) +!287 = !DILocation(line: 119, scope: !142, inlinedAt: !238) +!288 = !DILocation(line: 31, scope: !153, inlinedAt: !284) +!289 = !DILocation(line: 49, scope: !66, inlinedAt: !290) +!290 = !DILocation(line: 111, scope: !145, inlinedAt: !285) +!291 = !DILocation(line: 83, scope: !158, inlinedAt: !292) +!292 = !DILocation(line: 379, scope: !160, inlinedAt: !290) +!293 = !DILocation(line: 91, scope: !163, inlinedAt: !290) +!294 = !DILocation(line: 91, scope: !163, inlinedAt: !295) +!295 = !DILocation(line: 111, scope: !145, inlinedAt: !296) +!296 = !DILocation(line: 48, scope: !147, inlinedAt: !297) +!297 = !DILocation(line: 108, scope: !150, inlinedAt: !298) +!298 = !DILocation(line: 120, scope: !142, inlinedAt: !238) +!299 = !DILocation(line: 816, scope: !170, inlinedAt: !300) +!300 = !DILocation(line: 892, scope: !173, inlinedAt: !301) +!301 = !DILocation(line: 7, scope: !175, inlinedAt: !302) +!302 = !DILocation(line: 307, scope: !178, inlinedAt: !303) +!303 = !DILocation(line: 292, scope: !178, inlinedAt: !304) +!304 = !DILocation(line: 368, scope: !182, inlinedAt: !305) +!305 = !DILocation(line: 365, scope: !182, inlinedAt: !306) +!306 = !DILocation(line: 1312, scope: !185, inlinedAt: !307) +!307 = !DILocation(line: 121, scope: !142, inlinedAt: !238) +!308 = !DILocation(line: 55, scope: !189, inlinedAt: !309) +!309 = !DILocation(line: 1358, scope: !191, inlinedAt: !306) +!310 = !DILocation(line: 49, scope: !66, inlinedAt: !311) +!311 = !DILocation(line: 56, scope: !189, inlinedAt: !309) +!312 = !DILocation(line: 31, scope: !153, inlinedAt: !313) +!313 = !DILocation(line: 382, scope: !196, inlinedAt: !311) +!314 = !DILocation(line: 922, scope: !198, inlinedAt: !315) +!315 = !DILocation(line: 3076, scope: !201, inlinedAt: !316) +!316 = !DILocation(line: 57, scope: !204, inlinedAt: !313) +!317 = !DILocation(line: 699, scope: !206, inlinedAt: !314) +!318 = !DILocation(line: 86, scope: !208, inlinedAt: !319) +!319 = !DILocation(line: 79, scope: !210, inlinedAt: !320) +!320 = !DILocation(line: 48, scope: !147, inlinedAt: !321) +!321 = !DILocation(line: 75, scope: !142, inlinedAt: !307) +!322 = !DILocation(line: 88, scope: !214, inlinedAt: !319) +!323 = !DILocation(line: 87, scope: !94, inlinedAt: !319) +!324 = !DILocation(line: 49, scope: !66, inlinedAt: !325) +!325 = !DILocation(line: 28, scope: !218, inlinedAt: !326) +!326 = !DILocation(line: 124, scope: !239, inlinedAt: !240) +!327 = !DILocation(line: 49, scope: !66, inlinedAt: !328) +!328 = !DILocation(line: 582, scope: !329, inlinedAt: !326) +!329 = distinct !DISubprogram(name: "LinearIndices;", linkageName: "LinearIndices", scope: !223, file: !223, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!330 = !DILocation(line: 484, scope: !331, inlinedAt: !328) +!331 = distinct !DISubprogram(name: "LinearIndices;", linkageName: "LinearIndices", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!332 = !{!333, !333, i64 0} +!333 = !{!"jtbaa_stack", !51, i64 0} +!334 = !{!58} +!335 = !{!57, !59, !60, !54} +!336 = !DILocation(line: 518, scope: !337, inlinedAt: !338) +!337 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!338 = !DILocation(line: 1336, scope: !191, inlinedAt: !339) +!339 = !DILocation(line: 1312, scope: !185, inlinedAt: !326) +!340 = !DILocation(line: 699, scope: !206, inlinedAt: !336) +!341 = !DILocation(line: 49, scope: !66, inlinedAt: !342) +!342 = !DILocation(line: 71, scope: !343, inlinedAt: !345) +!343 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!344 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl", directory: ".") +!345 = !DILocation(line: 16, scope: !241, inlinedAt: !243) +!346 = !DILocation(line: 83, scope: !158, inlinedAt: !347) +!347 = !DILocation(line: 379, scope: !160, inlinedAt: !345) +!348 = !DILocation(line: 84, scope: !349, inlinedAt: !345) +!349 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!350 = !DILocation(line: 697, scope: !206, inlinedAt: !348) +!351 = !DILocation(line: 49, scope: !66, inlinedAt: !352) +!352 = !DILocation(line: 69, scope: !353, inlinedAt: !354) +!353 = distinct !DISubprogram(name: "size;", linkageName: "size", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!354 = !DILocation(line: 98, scope: !355, inlinedAt: !356) +!355 = distinct !DISubprogram(name: "axes;", linkageName: "axes", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!356 = !DILocation(line: 137, scope: !357, inlinedAt: !358) +!357 = distinct !DISubprogram(name: "axes1;", linkageName: "axes1", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!358 = !DILocation(line: 389, scope: !359, inlinedAt: !360) +!359 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!360 = !DILocation(line: 689, scope: !206, inlinedAt: !361) +!361 = !DILocation(line: 699, scope: !206, inlinedAt: !348) +!362 = !DILocation(line: 31, scope: !153, inlinedAt: !363) +!363 = !DILocation(line: 355, scope: !196, inlinedAt: !354) +!364 = !DILocation(line: 86, scope: !208, inlinedAt: !365) +!365 = !DILocation(line: 754, scope: !366, inlinedAt: !360) +!366 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!367 = !DILocation(line: 730, scope: !368, inlinedAt: !370) +!368 = distinct !DISubprogram(name: "reinterpret;", linkageName: "reinterpret", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!369 = !DIFile(filename: "essentials.jl", directory: ".") +!370 = !DILocation(line: 668, scope: !371, inlinedAt: !365) +!371 = distinct !DISubprogram(name: "unsigned;", linkageName: "unsigned", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!372 = !DILocation(line: 513, scope: !158, inlinedAt: !365) +!373 = !DILocation(line: 49, scope: !66, inlinedAt: !374) +!374 = !DILocation(line: 64, scope: !375, inlinedAt: !376) +!375 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!376 = !DILocation(line: 86, scope: !349, inlinedAt: !345) +!377 = !DILocation(line: 39, scope: !79, inlinedAt: !378) +!378 = !DILocation(line: 0, scope: !379, inlinedAt: !380) +!379 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!380 = !DILocation(line: 0, scope: !381, inlinedAt: !382) +!381 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!382 = !DILocation(line: 85, scope: !383, inlinedAt: !376) +!383 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !384, file: !384, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!384 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl", directory: ".") +!385 = !DILocation(line: 86, scope: !208, inlinedAt: !377) +!386 = !{!387, !387, i64 0, i64 0} +!387 = !{!"custom_tbaa_addrspace(1)", !388, i64 0} +!388 = !{!"custom_tbaa"} +!389 = !DILocation(line: 7, scope: !390, inlinedAt: !391) +!390 = distinct !DISubprogram(name: "A;", linkageName: "A", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!391 = !DILocation(line: 17, scope: !241, inlinedAt: !243) +!392 = !DILocation(line: 7, scope: !390, inlinedAt: !393) +!393 = !DILocation(line: 18, scope: !241, inlinedAt: !243) +!394 = !DILocation(line: 39, scope: !79, inlinedAt: !395) +!395 = !DILocation(line: 2, scope: !396, inlinedAt: !398) +!396 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !397, file: !397, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!397 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl", directory: ".") +!398 = !DILocation(line: 2, scope: !399, inlinedAt: !400) +!399 = distinct !DISubprogram(name: "alloc_special;", linkageName: "alloc_special", scope: !397, file: !397, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!400 = !DILocation(line: 2, scope: !399, inlinedAt: !401) +!401 = !DILocation(line: 151, scope: !402, inlinedAt: !403) +!402 = distinct !DISubprogram(name: "#SharedMemory;", linkageName: "#SharedMemory", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!403 = !DILocation(line: 236, scope: !404, inlinedAt: !406) +!404 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !405, file: !405, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!405 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl", directory: ".") +!406 = !DILocation(line: 85, scope: !407, inlinedAt: !409) +!407 = distinct !DISubprogram(name: "__warp_groupreduce;", linkageName: "__warp_groupreduce", scope: !408, file: !408, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!408 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl", directory: ".") +!409 = !DILocation(line: 19, scope: !241, inlinedAt: !243) +!410 = !DILocation(line: 36, scope: !411, inlinedAt: !412) +!411 = distinct !DISubprogram(name: "ROCDeviceArray;", linkageName: "ROCDeviceArray", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!412 = !DILocation(line: 59, scope: !411, inlinedAt: !413) +!413 = !DILocation(line: 50, scope: !411, inlinedAt: !414) +!414 = !DILocation(line: 152, scope: !402, inlinedAt: !403) +!415 = !{!416, !416, i64 0} +!416 = !{!"jtbaa_immut", !417, i64 0} +!417 = !{!"jtbaa_value", !418, i64 0} +!418 = !{!"jtbaa_data", !51, i64 0} +!419 = !{!59} +!420 = !{!57, !58, !60, !54} +!421 = !DILocation(line: 39, scope: !79, inlinedAt: !422) +!422 = !DILocation(line: 3, scope: !82, inlinedAt: !423) +!423 = !DILocation(line: 3, scope: !85, inlinedAt: !424) +!424 = !DILocation(line: 87, scope: !115, inlinedAt: !425) +!425 = !DILocation(line: 89, scope: !117, inlinedAt: !426) +!426 = !DILocation(line: 164, scope: !119, inlinedAt: !427) +!427 = !DILocation(line: 114, scope: !428, inlinedAt: !429) +!428 = distinct !DISubprogram(name: "#__index_Local_Linear;", linkageName: "#__index_Local_Linear", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!429 = !DILocation(line: 87, scope: !407, inlinedAt: !409) +!430 = !DILocation(line: 87, scope: !94, inlinedAt: !431) +!431 = !DILocation(line: 1013, scope: !94, inlinedAt: !424) +!432 = !DILocation(line: 39, scope: !79, inlinedAt: !433) +!433 = !DILocation(line: 3, scope: !82, inlinedAt: !434) +!434 = !DILocation(line: 3, scope: !85, inlinedAt: !435) +!435 = !DILocation(line: 87, scope: !127, inlinedAt: !436) +!436 = !DILocation(line: 89, scope: !129, inlinedAt: !426) +!437 = !DILocation(line: 39, scope: !79, inlinedAt: !438) +!438 = !DILocation(line: 3, scope: !82, inlinedAt: !439) +!439 = !DILocation(line: 3, scope: !85, inlinedAt: !440) +!440 = !DILocation(line: 87, scope: !134, inlinedAt: !441) +!441 = !DILocation(line: 89, scope: !136, inlinedAt: !426) +!442 = !DILocation(line: 86, scope: !208, inlinedAt: !443) +!443 = !DILocation(line: 1013, scope: !208, inlinedAt: !444) +!444 = !DILocation(line: 88, scope: !407, inlinedAt: !409) +!445 = !DILocation(line: 298, scope: !446, inlinedAt: !444) +!446 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!447 = !DILocation(line: 77, scope: !448, inlinedAt: !449) +!448 = distinct !DISubprogram(name: "__warp_reduce;", linkageName: "__warp_reduce", scope: !408, file: !408, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!449 = !DILocation(line: 92, scope: !407, inlinedAt: !409) +!450 = !DILocation(line: 513, scope: !158, inlinedAt: !451) +!451 = !DILocation(line: 484, scope: !452, inlinedAt: !454) +!452 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!453 = !DIFile(filename: "promotion.jl", directory: ".") +!454 = !DILocation(line: 379, scope: !160, inlinedAt: !447) +!455 = !DILocation(line: 82, scope: !456, inlinedAt: !458) +!456 = distinct !DISubprogram(name: "wavefrontsize;", linkageName: "wavefrontsize", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!457 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl", directory: ".") +!458 = !DILocation(line: 360, scope: !459, inlinedAt: !460) +!459 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!460 = !DILocation(line: 174, scope: !461, inlinedAt: !462) +!461 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!462 = !DILocation(line: 12, scope: !463, inlinedAt: !464) +!463 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!464 = !DILocation(line: 78, scope: !448, inlinedAt: !449) +!465 = !DILocation(line: 730, scope: !368, inlinedAt: !466) +!466 = !DILocation(line: 228, scope: !467, inlinedAt: !468) +!467 = distinct !DISubprogram(name: "_shfl;", linkageName: "_shfl", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!468 = !DILocation(line: 360, scope: !459, inlinedAt: !458) +!469 = !DILocation(line: 106, scope: !470, inlinedAt: !471) +!470 = distinct !DISubprogram(name: "activelane;", linkageName: "activelane", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!471 = !DILocation(line: 249, scope: !459, inlinedAt: !472) +!472 = !DILocation(line: 361, scope: !473, inlinedAt: !466) +!473 = distinct !DISubprogram(name: "#19;", linkageName: "#19", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!474 = !DILocation(line: 741, scope: !475, inlinedAt: !476) +!475 = distinct !DISubprogram(name: "is_top_bit_set;", linkageName: "is_top_bit_set", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!476 = !DILocation(line: 756, scope: !477, inlinedAt: !478) +!477 = distinct !DISubprogram(name: "check_sign_bit;", linkageName: "check_sign_bit", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!478 = !DILocation(line: 805, scope: !479, inlinedAt: !480) +!479 = distinct !DISubprogram(name: "toInt32;", linkageName: "toInt32", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!480 = !DILocation(line: 891, scope: !481, inlinedAt: !482) +!481 = distinct !DISubprogram(name: "Int32;", linkageName: "Int32", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!482 = !DILocation(line: 7, scope: !175, inlinedAt: !471) +!483 = !DILocation(line: 741, scope: !475, inlinedAt: !484) +!484 = !DILocation(line: 756, scope: !477, inlinedAt: !485) +!485 = !DILocation(line: 805, scope: !479, inlinedAt: !486) +!486 = !DILocation(line: 891, scope: !481, inlinedAt: !487) +!487 = !DILocation(line: 250, scope: !459, inlinedAt: !472) +!488 = !DILocation(line: 87, scope: !94, inlinedAt: !487) +!489 = !DILocation(line: 86, scope: !208, inlinedAt: !490) +!490 = !DILocation(line: 1013, scope: !208, inlinedAt: !491) +!491 = !DILocation(line: 251, scope: !459, inlinedAt: !472) +!492 = !DILocation(line: 554, scope: !446, inlinedAt: !493) +!493 = !DILocation(line: 1011, scope: !494, inlinedAt: !491) +!494 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!495 = !DILocation(line: 347, scope: !494, inlinedAt: !496) +!496 = !DILocation(line: 1013, scope: !494, inlinedAt: !491) +!497 = !DILocation(line: 87, scope: !94, inlinedAt: !491) +!498 = !DILocation(line: 515, scope: !227, inlinedAt: !499) +!499 = !DILocation(line: 426, scope: !500, inlinedAt: !491) +!500 = distinct !DISubprogram(name: ">=;", linkageName: ">=", scope: !161, file: !161, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!501 = !DILocation(line: 796, scope: !502, inlinedAt: !491) +!502 = distinct !DISubprogram(name: "ifelse;", linkageName: "ifelse", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!503 = !DILocation(line: 529, scope: !504, inlinedAt: !505) +!504 = distinct !DISubprogram(name: "<<;", linkageName: "<<", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!505 = !DILocation(line: 252, scope: !459, inlinedAt: !472) +!506 = !DILocation(line: 178, scope: !507, inlinedAt: !505) +!507 = distinct !DISubprogram(name: "bpermute;", linkageName: "bpermute", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!508 = !DILocation(line: 491, scope: !509, inlinedAt: !511) +!509 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !510, file: !510, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!510 = !DIFile(filename: "float.jl", directory: ".") +!511 = !DILocation(line: 10, scope: !512, inlinedAt: !464) +!512 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!513 = !DILocation(line: 7, scope: !390, inlinedAt: !511) +!514 = !DILocation(line: 528, scope: !515, inlinedAt: !516) +!515 = distinct !DISubprogram(name: ">>;", linkageName: ">>", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!516 = !DILocation(line: 79, scope: !448, inlinedAt: !449) +!517 = !DILocation(line: 81, scope: !448, inlinedAt: !449) +!518 = !DILocation(line: 639, scope: !519, inlinedAt: !520) +!519 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!520 = !DILocation(line: 483, scope: !519, inlinedAt: !521) +!521 = !DILocation(line: 93, scope: !407, inlinedAt: !409) +!522 = !DILocation(line: 90, scope: !523, inlinedAt: !521) +!523 = distinct !DISubprogram(name: "#setindex!;", linkageName: "#setindex!", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!524 = !DILocation(line: 39, scope: !79, inlinedAt: !525) +!525 = !DILocation(line: 0, scope: !379, inlinedAt: !526) +!526 = !DILocation(line: 0, scope: !527, inlinedAt: !528) +!527 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!528 = !DILocation(line: 88, scope: !529, inlinedAt: !530) +!529 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !384, file: !384, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!530 = !DILocation(line: 92, scope: !523, inlinedAt: !521) +!531 = !DILocation(line: 86, scope: !208, inlinedAt: !524) +!532 = !{!533, !533, i64 0, i64 0} +!533 = !{!"custom_tbaa_addrspace(3)", !388, i64 0} +!534 = !DILocation(line: 93, scope: !523, inlinedAt: !521) +!535 = !DILocation(line: 699, scope: !206, inlinedAt: !522) +!536 = !DILocation(line: 6, scope: !537, inlinedAt: !539) +!537 = distinct !DISubprogram(name: "sync_workgroup;", linkageName: "sync_workgroup", scope: !538, file: !538, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!538 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl", directory: ".") +!539 = !DILocation(line: 162, scope: !540, inlinedAt: !541) +!540 = distinct !DISubprogram(name: "#__synchronize;", linkageName: "#__synchronize", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!541 = !DILocation(line: 290, scope: !404, inlinedAt: !542) +!542 = !DILocation(line: 94, scope: !407, inlinedAt: !409) +!543 = !DILocation(line: 86, scope: !208, inlinedAt: !544) +!544 = !DILocation(line: 1013, scope: !208, inlinedAt: !545) +!545 = !DILocation(line: 97, scope: !407, inlinedAt: !409) +!546 = !DILocation(line: 871, scope: !547, inlinedAt: !548) +!547 = distinct !DISubprogram(name: "toUInt64;", linkageName: "toUInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!548 = !DILocation(line: 897, scope: !549, inlinedAt: !550) +!549 = distinct !DISubprogram(name: "UInt64;", linkageName: "UInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!550 = !DILocation(line: 7, scope: !175, inlinedAt: !551) +!551 = !DILocation(line: 375, scope: !552, inlinedAt: !553) +!552 = distinct !DISubprogram(name: "_promote;", linkageName: "_promote", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!553 = !DILocation(line: 400, scope: !554, inlinedAt: !555) +!554 = distinct !DISubprogram(name: "promote;", linkageName: "promote", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!555 = !DILocation(line: 484, scope: !452, inlinedAt: !556) +!556 = !DILocation(line: 520, scope: !158, inlinedAt: !545) +!557 = !DILocation(line: 513, scope: !158, inlinedAt: !555) +!558 = !DILocation(line: 38, scope: !234, inlinedAt: !556) +!559 = !DILocation(line: 98, scope: !407, inlinedAt: !409) +!560 = !DILocation(line: 84, scope: !349, inlinedAt: !559) +!561 = !DILocation(line: 39, scope: !79, inlinedAt: !562) +!562 = !DILocation(line: 0, scope: !379, inlinedAt: !563) +!563 = !DILocation(line: 0, scope: !381, inlinedAt: !564) +!564 = !DILocation(line: 85, scope: !383, inlinedAt: !565) +!565 = !DILocation(line: 86, scope: !349, inlinedAt: !559) +!566 = !DILocation(line: 86, scope: !208, inlinedAt: !561) +!567 = !DILocation(line: 639, scope: !519, inlinedAt: !568) +!568 = !DILocation(line: 483, scope: !519, inlinedAt: !569) +!569 = !DILocation(line: 99, scope: !407, inlinedAt: !409) +!570 = !DILocation(line: 77, scope: !448, inlinedAt: !569) +!571 = !DILocation(line: 513, scope: !158, inlinedAt: !572) +!572 = !DILocation(line: 484, scope: !452, inlinedAt: !573) +!573 = !DILocation(line: 379, scope: !160, inlinedAt: !570) +!574 = !DILocation(line: 49, scope: !66, inlinedAt: !575) +!575 = !DILocation(line: 12, scope: !463, inlinedAt: !576) +!576 = !DILocation(line: 78, scope: !448, inlinedAt: !569) +!577 = !DILocation(line: 82, scope: !456, inlinedAt: !578) +!578 = !DILocation(line: 360, scope: !459, inlinedAt: !579) +!579 = !DILocation(line: 174, scope: !461, inlinedAt: !575) +!580 = !DILocation(line: 730, scope: !368, inlinedAt: !581) +!581 = !DILocation(line: 228, scope: !467, inlinedAt: !582) +!582 = !DILocation(line: 360, scope: !459, inlinedAt: !578) +!583 = !DILocation(line: 106, scope: !470, inlinedAt: !584) +!584 = !DILocation(line: 249, scope: !459, inlinedAt: !585) +!585 = !DILocation(line: 361, scope: !473, inlinedAt: !581) +!586 = !DILocation(line: 741, scope: !475, inlinedAt: !587) +!587 = !DILocation(line: 756, scope: !477, inlinedAt: !588) +!588 = !DILocation(line: 805, scope: !479, inlinedAt: !589) +!589 = !DILocation(line: 891, scope: !481, inlinedAt: !590) +!590 = !DILocation(line: 7, scope: !175, inlinedAt: !584) +!591 = !DILocation(line: 741, scope: !475, inlinedAt: !592) +!592 = !DILocation(line: 756, scope: !477, inlinedAt: !593) +!593 = !DILocation(line: 805, scope: !479, inlinedAt: !594) +!594 = !DILocation(line: 891, scope: !481, inlinedAt: !595) +!595 = !DILocation(line: 250, scope: !459, inlinedAt: !585) +!596 = !DILocation(line: 87, scope: !94, inlinedAt: !595) +!597 = !DILocation(line: 86, scope: !208, inlinedAt: !598) +!598 = !DILocation(line: 1013, scope: !208, inlinedAt: !599) +!599 = !DILocation(line: 251, scope: !459, inlinedAt: !585) +!600 = !DILocation(line: 554, scope: !446, inlinedAt: !601) +!601 = !DILocation(line: 1011, scope: !494, inlinedAt: !599) +!602 = !DILocation(line: 347, scope: !494, inlinedAt: !603) +!603 = !DILocation(line: 1013, scope: !494, inlinedAt: !599) +!604 = !DILocation(line: 87, scope: !94, inlinedAt: !599) +!605 = !DILocation(line: 515, scope: !227, inlinedAt: !606) +!606 = !DILocation(line: 426, scope: !500, inlinedAt: !599) +!607 = !DILocation(line: 796, scope: !502, inlinedAt: !599) +!608 = !DILocation(line: 529, scope: !504, inlinedAt: !609) +!609 = !DILocation(line: 252, scope: !459, inlinedAt: !585) +!610 = !DILocation(line: 178, scope: !507, inlinedAt: !609) +!611 = !DILocation(line: 49, scope: !66, inlinedAt: !612) +!612 = !DILocation(line: 10, scope: !512, inlinedAt: !576) +!613 = !DILocation(line: 491, scope: !509, inlinedAt: !612) +!614 = !DILocation(line: 7, scope: !390, inlinedAt: !612) +!615 = !DILocation(line: 528, scope: !515, inlinedAt: !616) +!616 = !DILocation(line: 79, scope: !448, inlinedAt: !569) +!617 = !DILocation(line: 81, scope: !448, inlinedAt: !569) +!618 = !DILocation(line: 100, scope: !407, inlinedAt: !409) +!619 = !DILocation(line: 639, scope: !519, inlinedAt: !620) +!620 = !DILocation(line: 21, scope: !241, inlinedAt: !243) +!621 = !DILocation(line: 49, scope: !66, inlinedAt: !620) +!622 = !DILocation(line: 491, scope: !509, inlinedAt: !620) +!623 = !DILocation(line: 90, scope: !523, inlinedAt: !620) +!624 = !DILocation(line: 697, scope: !206, inlinedAt: !623) +!625 = !DILocation(line: 49, scope: !66, inlinedAt: !626) +!626 = !DILocation(line: 69, scope: !353, inlinedAt: !627) +!627 = !DILocation(line: 98, scope: !355, inlinedAt: !628) +!628 = !DILocation(line: 137, scope: !357, inlinedAt: !629) +!629 = !DILocation(line: 389, scope: !359, inlinedAt: !630) +!630 = !DILocation(line: 689, scope: !206, inlinedAt: !631) +!631 = !DILocation(line: 699, scope: !206, inlinedAt: !623) +!632 = !DILocation(line: 31, scope: !153, inlinedAt: !633) +!633 = !DILocation(line: 355, scope: !196, inlinedAt: !627) +!634 = !DILocation(line: 86, scope: !208, inlinedAt: !635) +!635 = !DILocation(line: 754, scope: !366, inlinedAt: !630) +!636 = !DILocation(line: 730, scope: !368, inlinedAt: !637) +!637 = !DILocation(line: 668, scope: !371, inlinedAt: !635) +!638 = !DILocation(line: 513, scope: !158, inlinedAt: !635) +!639 = !DILocation(line: 49, scope: !66, inlinedAt: !640) +!640 = !DILocation(line: 64, scope: !375, inlinedAt: !641) +!641 = !DILocation(line: 92, scope: !523, inlinedAt: !620) +!642 = !DILocation(line: 39, scope: !79, inlinedAt: !643) +!643 = !DILocation(line: 0, scope: !379, inlinedAt: !644) +!644 = !DILocation(line: 0, scope: !527, inlinedAt: !645) +!645 = !DILocation(line: 88, scope: !529, inlinedAt: !641) +!646 = !DILocation(line: 86, scope: !208, inlinedAt: !642) +!647 = !DILocation(line: 93, scope: !523, inlinedAt: !620) +!648 = !DILocation(line: 99, scope: !75, inlinedAt: !77) +!649 = !DILocation(line: 87, scope: !94, inlinedAt: !650) +!650 = !DILocation(line: 1013, scope: !94, inlinedAt: !444) +!651 = !DILocation(line: 86, scope: !208, inlinedAt: !652) +!652 = !DILocation(line: 1013, scope: !208, inlinedAt: !653) +!653 = !DILocation(line: 89, scope: !407, inlinedAt: !409) +!654 = !DILocation(line: 297, scope: !655, inlinedAt: !653) +!655 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) +!656 = !DILocation(line: 87, scope: !94, inlinedAt: !657) +!657 = !DILocation(line: 1013, scope: !94, inlinedAt: !653) +!658 = !DILocation(line: 80, scope: !448, inlinedAt: !449) +!659 = !DILocation(line: 699, scope: !206, inlinedAt: !560) +!660 = !DILocation(line: 80, scope: !448, inlinedAt: !569) +!661 = !{!662, !662, i64 0} +!662 = !{!"bool", !663, i64 0} +!663 = !{!"omnipotent char", !664, i64 0} +!664 = !{!"Simple C/C++ TBAA"} +!665 = !{i8 0, i8 2} +!666 = !{!"exec_hi"} +!667 = !{!"exec_lo"} +!668 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_15612", scope: null, file: !669, line: 138, type: !46, scopeLine: 138, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !15, retainedNodes: !47) +!669 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl", directory: ".") +!670 = !DILocation(line: 138, scope: !668) +!671 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_15842", scope: null, file: !669, line: 112, type: !46, scopeLine: 112, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!672 = !DILocation(line: 39, scope: !673, inlinedAt: !674) +!673 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !80, file: !80, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!674 = !DILocation(line: 0, scope: !675, inlinedAt: !676) +!675 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!676 = !DILocation(line: 0, scope: !677, inlinedAt: !678) +!677 = distinct !DISubprogram(name: "kernel_state;", linkageName: "kernel_state", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!678 = !DILocation(line: 11, scope: !679, inlinedAt: !680) +!679 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !669, file: !669, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!680 = !DILocation(line: 113, scope: !671) +!681 = !DILocation(line: 49, scope: !682, inlinedAt: !678) +!682 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!683 = !DILocation(line: 180, scope: !684, inlinedAt: !686) +!684 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !685, file: !685, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!685 = !DIFile(filename: "pointer.jl", directory: ".") +!686 = !DILocation(line: 180, scope: !684, inlinedAt: !680) +!687 = !DILocation(line: 52, scope: !688, inlinedAt: !690) +!688 = distinct !DISubprogram(name: "endpgm;", linkageName: "endpgm", scope: !689, file: !689, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) +!689 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl", directory: ".") +!690 = !DILocation(line: 115, scope: !671) +!691 = !DILocation(line: 116, scope: !671) diff --git a/src/ROCKernels.jl b/src/ROCKernels.jl index 611f964a0..e9009c748 100644 --- a/src/ROCKernels.jl +++ b/src/ROCKernels.jl @@ -168,9 +168,9 @@ end # Reduction. -@device_override @inline KA.__supports_warp_reduction() = true +@device_override @inline KA.supports_warp_reduction() = true -@device_override @inline function KA.__shfl_down(val, offset) +function KA.shfl_down(val, offset) AMDGPU.Device.shfl_down(val, offset) end diff --git a/t.jl b/t.jl index 6bced4952..d05a3a121 100644 --- a/t.jl +++ b/t.jl @@ -1,17 +1,54 @@ using AMDGPU using KernelAbstractions -@kernel cpu=false function groupreduce_1!(y, x, op, neutral) +import KernelAbstractions as KA + +struct MD + m::Float32 + d::Float32 +end + +KA.shfl_down(md::MD, offset) = MD(KA.shfl_down(md.m, offset), KA.shfl_down(md.d, offset)) + +function md_reduce(a::MD, b::MD)::MD + bigger_m, smaller_m = (a.m > b.m) ? (a, b) : (b, a) + return MD( + bigger_m.m, + bigger_m.d + smaller_m.d * exp(smaller_m.m - bigger_m.m), + ) +end + +# struct A +# x::Float32 +# y::Float32 +# end +# Base.:(+)(a::A, b::A) = A(a.x + b.x, a.y + b.y) + +# KA.shfl_down(a::A, offset) = A(KA.shfl_down(a.x, offset), KA.shfl_down(a.y, offset)) + +# @kernel cpu=false function groupreduce_1!(y, x, op, neutral) +# i = @index(Global) +# val = i > length(x) ? neutral : x[i] +# x = A(val, val) +# nx = A(neutral, neutral) +# res = @warp_groupreduce op x nx +# # res = @groupreduce op x +# i == 1 && (y[1] = res.x + res.y) +# end + +@kernel cpu=false function groupreduce_2!(y, x) i = @index(Global) - val = i > length(x) ? neutral : x[i] - res = @groupreduce(op, val, neutral) - i == 1 && (y[1] = res) + nx = MD(-1f-6, 0f0) + x = MD(x[i], 1f0) + res = @warp_groupreduce md_reduce x nx + i == 1 && (y[1] = res.d) end function main() x = ROCArray(ones(Float32, 256)) y = ROCArray(zeros(Float32, 1)) - groupreduce_1!(ROCBackend(), 256)(y, x, +, 0f0; ndrange=256) + # groupreduce_1!(ROCBackend(), 256)(y, x, +, 0f0; ndrange=256) + groupreduce_2!(ROCBackend(), 256)(y, x; ndrange=256) @show y return end From 7854159658aa3d902b49b6b93837624a35d06a3a Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Thu, 20 Feb 2025 12:40:16 +0200 Subject: [PATCH 5/6] cleanup --- devcode/gpu_groupreduce_1!_1.asm | 3034 --------------------- devcode/gpu_groupreduce_1!_1.lowered.jl | 52 - devcode/gpu_groupreduce_1!_1.opt.ll | 1142 -------- devcode/gpu_groupreduce_1!_1.typed.jl | 1458 ---------- devcode/gpu_groupreduce_1!_1.unopt.ll | 3264 ----------------------- 5 files changed, 8950 deletions(-) delete mode 100644 devcode/gpu_groupreduce_1!_1.asm delete mode 100644 devcode/gpu_groupreduce_1!_1.lowered.jl delete mode 100644 devcode/gpu_groupreduce_1!_1.opt.ll delete mode 100644 devcode/gpu_groupreduce_1!_1.typed.jl delete mode 100644 devcode/gpu_groupreduce_1!_1.unopt.ll diff --git a/devcode/gpu_groupreduce_1!_1.asm b/devcode/gpu_groupreduce_1!_1.asm deleted file mode 100644 index 3b0db6f4d..000000000 --- a/devcode/gpu_groupreduce_1!_1.asm +++ /dev/null @@ -1,3034 +0,0 @@ - .text - .amdgcn_target "amdgcn-amd-amdhsa--gfx1100" - .globl _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ ; -- Begin function _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ - .p2align 8 - .type _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_,@function -_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_: ; @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ -.Lfunc_begin0: - .file 1 "." "none" - .loc 1 0 0 ; none:0:0 - .cfi_sections .debug_frame - .cfi_startproc -; %bb.0: ; %conversion - s_load_b64 s[4:5], s[0:1], 0x58 -.Ltmp0: - .file 2 "." "int.jl" - .loc 2 87 0 prologue_end ; int.jl:87:0 - v_add_nc_u32_e32 v1, 1, v0 - s_mov_b32 s2, s15 -.Ltmp1: - .file 3 "." "boot.jl" - .loc 3 816 0 ; boot.jl:816:0 - s_mov_b32 s3, 0 - s_delay_alu instid0(SALU_CYCLE_1) -.Ltmp2: - .loc 2 88 0 ; int.jl:88:0 - s_lshl_b64 s[6:7], s[2:3], 8 - s_delay_alu instid0(VALU_DEP_1) | instid1(SALU_CYCLE_1) -.Ltmp3: - .loc 2 87 0 ; int.jl:87:0 - v_add_co_u32 v1, s2, s6, v1 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) - v_add_co_ci_u32_e64 v2, null, s7, 0, s2 -.Ltmp4: - .file 4 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl" - .loc 4 96 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96:0 - s_mov_b32 s2, exec_lo -.Ltmp5: - .loc 2 514 0 ; int.jl:514:0 - s_waitcnt lgkmcnt(0) - v_cmpx_ge_i64_e64 s[4:5], v[1:2] -.Ltmp6: - .loc 4 96 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96:0 - s_cbranch_execz .LBB0_34 -; %bb.1: ; %L110 - .loc 4 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:0:0 - s_clause 0x2 - s_load_b64 s[10:11], s[0:1], 0x90 - s_load_b32 s8, s[0:1], 0x98 - s_load_b64 s[4:5], s[0:1], 0x0 - s_mov_b32 s9, -1 -.Ltmp7: - .file 5 "." "/home/pxlth/.julia/dev/AMDGPU/t.jl" - .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 - s_mov_b32 s2, exec_lo - s_waitcnt lgkmcnt(0) - v_mov_b32_e32 v3, s8 -.Ltmp8: - .loc 2 83 0 ; int.jl:83:0 - v_cmpx_ge_i64_e64 s[10:11], v[1:2] -.Ltmp9: - .loc 5 16 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 - s_cbranch_execz .LBB0_6 -; %bb.2: ; %L237 - .loc 5 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:0:0 - s_load_b64 s[10:11], s[0:1], 0x80 -.Ltmp10: - .loc 2 86 0 is_stmt 1 ; int.jl:86:0 - v_add_co_u32 v3, vcc_lo, v1, -1 - v_add_co_ci_u32_e32 v4, vcc_lo, -1, v2, vcc_lo - s_mov_b32 s9, 0 -.Ltmp11: - .loc 2 513 0 ; int.jl:513:0 - s_waitcnt lgkmcnt(0) - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) - v_cmp_le_u64_e32 vcc_lo, s[10:11], v[3:4] -.Ltmp12: - .file 6 "." "abstractarray.jl" - .loc 6 699 0 ; abstractarray.jl:699:0 - s_and_saveexec_b32 s10, vcc_lo - s_xor_b32 s10, exec_lo, s10 - s_cbranch_execnz .LBB0_24 -.LBB0_3: ; %Flow13 - s_or_saveexec_b32 s10, s10 - ; implicit-def: $vgpr3 - s_delay_alu instid0(SALU_CYCLE_1) - s_xor_b32 exec_lo, exec_lo, s10 - s_cbranch_execz .LBB0_5 -.Ltmp13: -; %bb.4: ; %L250 - .loc 6 0 0 is_stmt 0 ; abstractarray.jl:0:0 - s_load_b64 s[12:13], s[0:1], 0x88 - v_add_co_u32 v3, s6, s6, v0 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) - v_add_co_ci_u32_e64 v4, null, s7, 0, s6 - s_mov_b32 s9, exec_lo - v_lshlrev_b64 v[3:4], 2, v[3:4] -.Ltmp14: - .file 7 "." "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl" - .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - s_waitcnt lgkmcnt(0) - s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2) - v_add_co_u32 v3, vcc_lo, v3, s12 - v_add_co_ci_u32_e32 v4, vcc_lo, s13, v4, vcc_lo - global_load_b32 v3, v[3:4], off -.Ltmp15: -.LBB0_5: ; %Flow14 - .loc 7 0 0 is_stmt 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:0:0 - s_or_b32 exec_lo, exec_lo, s10 - s_delay_alu instid0(SALU_CYCLE_1) - s_and_b32 s3, s3, exec_lo - s_or_not1_b32 s9, s9, exec_lo -.LBB0_6: ; %Flow12 - s_or_b32 exec_lo, exec_lo, s2 - .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 - s_and_saveexec_b32 s2, s9 - s_cbranch_execz .LBB0_32 -; %bb.7: ; %L256 -.Ltmp16: - .file 8 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl" - .loc 8 106 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106:0 - v_mbcnt_lo_u32_b32 v4, exec_lo, 0 - s_mov_b32 s6, s3 -.Ltmp17: - .loc 3 756 0 ; boot.jl:756:0 - s_mov_b32 s7, exec_lo - s_delay_alu instid0(VALU_DEP_1) -.Ltmp18: - .loc 3 741 0 ; boot.jl:741:0 - v_cmpx_gt_i32_e32 0, v4 -.Ltmp19: - .loc 3 756 0 ; boot.jl:756:0 - s_xor_b32 s7, exec_lo, s7 - s_cbranch_execnz .LBB0_25 -; %bb.8: ; %Flow16 - s_and_not1_saveexec_b32 s7, s7 - s_cbranch_execz .LBB0_31 -.Ltmp20: -.LBB0_9: ; %L306 - .loc 2 87 0 ; int.jl:87:0 - v_add_nc_u32_e32 v5, 16, v4 -.Ltmp21: - .file 9 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl" - .loc 9 93 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93:0 - s_mov_b32 s9, exec_lo - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) - v_cmp_gt_u32_e32 vcc_lo, 32, v5 - v_cndmask_b32_e64 v5, 0, 1, vcc_lo -.Ltmp22: - .file 10 "." "essentials.jl" - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v5, 4, v5 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_4) | instid1(VALU_DEP_1) -.Ltmp23: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v5, v5, v4, 2 -.Ltmp24: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - s_waitcnt vmcnt(0) - ds_bpermute_b32 v5, v5, v3 -.Ltmp25: - .file 11 "." "float.jl" - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - v_dual_add_f32 v3, v3, v5 :: v_dual_add_nc_u32 v6, 8, v4 - v_cmp_gt_u32_e32 vcc_lo, 32, v6 - v_cndmask_b32_e64 v6, 0, 1, vcc_lo - s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) -.Ltmp26: - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v6, 3, v6 -.Ltmp27: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v6, v6, v4, 2 -.Ltmp28: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v5, v6, v3 -.Ltmp29: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - v_dual_add_f32 v3, v3, v5 :: v_dual_add_nc_u32 v6, 4, v4 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) - v_cmp_gt_u32_e32 vcc_lo, 32, v6 - v_cndmask_b32_e64 v6, 0, 1, vcc_lo -.Ltmp30: - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v6, 2, v6 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) -.Ltmp31: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v6, v6, v4, 2 -.Ltmp32: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v5, v6, v3 -.Ltmp33: - .loc 2 87 0 ; int.jl:87:0 - v_add_nc_u32_e32 v6, 2, v4 - v_cmp_gt_u32_e32 vcc_lo, 32, v6 - v_cndmask_b32_e64 v6, 0, 1, vcc_lo -.Ltmp34: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) - v_dual_add_f32 v3, v3, v5 :: v_dual_lshlrev_b32 v6, 1, v6 -.Ltmp35: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v6, v6, v4, 2 -.Ltmp36: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v5, v6, v3 -.Ltmp37: - .loc 2 87 0 ; int.jl:87:0 - v_add_nc_u32_e32 v6, 1, v4 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_1) -.Ltmp38: - .loc 2 515 0 ; int.jl:515:0 - v_cmp_gt_u32_e32 vcc_lo, 32, v6 -.Ltmp39: - .loc 10 796 0 ; essentials.jl:796:0 - v_add_co_ci_u32_e32 v4, vcc_lo, 0, v4, vcc_lo -.Ltmp40: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - v_dual_add_f32 v3, v3, v5 :: v_dual_lshlrev_b32 v4, 2, v4 -.Ltmp41: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v5, v4, v3 -.Ltmp42: - .loc 2 298 0 ; int.jl:298:0 - v_and_b32_e32 v4, 31, v0 - s_delay_alu instid0(VALU_DEP_1) -.Ltmp43: - .file 12 "." "promotion.jl" - .loc 12 639 0 ; promotion.jl:639:0 - v_cmpx_eq_u32_e32 0, v4 -.Ltmp44: - .loc 9 93 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93:0 - s_cbranch_execz .LBB0_11 -; %bb.10: ; %L389 -.Ltmp45: - .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - v_lshrrev_b32_e32 v6, 2, v0 -.Ltmp46: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - v_add_f32_e32 v5, v3, v5 - s_delay_alu instid0(VALU_DEP_1) -.Ltmp47: - .file 13 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl" - .loc 13 93 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93:0 - v_dual_mov_b32 v6, v5 :: v_dual_and_b32 v3, 0xf8, v6 - ds_store_b64 v3, v[5:6] -.Ltmp48: -.LBB0_11: ; %L395 - .loc 13 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:0:0 - s_or_b32 exec_lo, exec_lo, s9 - s_delay_alu instid0(SALU_CYCLE_1) - .loc 9 98 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 - s_mov_b32 s9, exec_lo -.Ltmp49: - .file 14 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl" - .loc 14 6 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6:0 - s_waitcnt lgkmcnt(0) - s_waitcnt_vscnt null, 0x0 - s_barrier -.Ltmp50: - ; implicit-def: $vgpr3 - .loc 2 513 0 ; int.jl:513:0 - v_cmpx_gt_u32_e32 8, v0 -.Ltmp51: - .loc 9 98 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 - s_xor_b32 s9, exec_lo, s9 - s_cbranch_execz .LBB0_13 -; %bb.12: ; %guard_pass37 -.Ltmp52: - .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - v_lshlrev_b32_e32 v3, 3, v4 - ds_load_b64 v[3:4], v3 -.Ltmp53: -.LBB0_13: ; %Flow - .loc 9 98 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98:0 - s_and_not1_saveexec_b32 s9, s9 - s_cbranch_execz .LBB0_15 -; %bb.14: ; %guard_pass41 - .loc 9 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:0:0 - s_waitcnt lgkmcnt(0) - v_dual_mov_b32 v4, s8 :: v_dual_mov_b32 v3, s8 -.LBB0_15: ; %L422 - s_or_b32 exec_lo, exec_lo, s9 - s_mov_b32 s9, -1 - s_mov_b32 s10, s6 - .loc 9 99 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99:0 - s_mov_b32 s8, exec_lo -.Ltmp54: - .loc 12 639 0 ; promotion.jl:639:0 - v_cmpx_gt_u32_e32 32, v0 - s_cbranch_execz .LBB0_20 -.Ltmp55: -; %bb.16: ; %guard_exit46 - .loc 8 106 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106:0 - v_mbcnt_lo_u32_b32 v0, exec_lo, 0 - s_mov_b32 s9, 0 - s_mov_b32 s10, s6 -.Ltmp56: - .loc 3 756 0 ; boot.jl:756:0 - s_mov_b32 s11, exec_lo - s_delay_alu instid0(VALU_DEP_1) -.Ltmp57: - .loc 3 741 0 ; boot.jl:741:0 - v_cmpx_gt_i32_e32 0, v0 -.Ltmp58: - .loc 3 756 0 ; boot.jl:756:0 - s_xor_b32 s11, exec_lo, s11 - s_cbranch_execnz .LBB0_35 -; %bb.17: ; %Flow19 - s_and_not1_saveexec_b32 s11, s11 - s_cbranch_execz .LBB0_19 -.Ltmp59: -.LBB0_18: ; %L452 - .loc 2 347 0 ; int.jl:347:0 - v_and_b32_e32 v5, 31, v0 - s_mov_b32 s9, exec_lo - s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) -.Ltmp60: - .loc 2 87 0 ; int.jl:87:0 - v_add_nc_u32_e32 v6, 16, v5 -.Ltmp61: - .loc 2 515 0 ; int.jl:515:0 - v_cmp_gt_u32_e32 vcc_lo, 32, v6 - v_cndmask_b32_e64 v6, 0, 1, vcc_lo - s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1) -.Ltmp62: - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v6, 4, v6 -.Ltmp63: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v6, v6, v0, 2 -.Ltmp64: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - s_waitcnt lgkmcnt(0) - ds_bpermute_b32 v7, v6, v3 - ds_bpermute_b32 v6, v6, v4 -.Ltmp65: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(1) - v_dual_add_f32 v3, v7, v3 :: v_dual_add_nc_u32 v8, 8, v5 - s_waitcnt lgkmcnt(0) - v_add_f32_e32 v4, v6, v4 - s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1) -.Ltmp66: - .loc 2 515 0 ; int.jl:515:0 - v_cmp_gt_u32_e32 vcc_lo, 32, v8 - v_cndmask_b32_e64 v8, 0, 1, vcc_lo -.Ltmp67: - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v8, 3, v8 - s_delay_alu instid0(VALU_DEP_1) -.Ltmp68: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v8, v8, v0, 2 -.Ltmp69: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v7, v8, v4 - ds_bpermute_b32 v6, v8, v3 -.Ltmp70: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(1) - v_add_f32_e32 v4, v4, v7 - s_waitcnt lgkmcnt(0) - v_dual_add_f32 v3, v3, v6 :: v_dual_add_nc_u32 v8, 4, v5 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1) -.Ltmp71: - .loc 2 515 0 ; int.jl:515:0 - v_cmp_gt_u32_e32 vcc_lo, 32, v8 - v_cndmask_b32_e64 v8, 0, 1, vcc_lo -.Ltmp72: - .loc 10 796 0 ; essentials.jl:796:0 - v_lshlrev_b32_e32 v8, 2, v8 - s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_4) | instid1(VALU_DEP_2) -.Ltmp73: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v8, v8, v0, 2 -.Ltmp74: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v6, v8, v3 - ds_bpermute_b32 v7, v8, v4 -.Ltmp75: - .loc 2 87 0 ; int.jl:87:0 - v_add_nc_u32_e32 v8, 2, v5 - v_add_nc_u32_e32 v5, 1, v5 -.Ltmp76: - .loc 2 515 0 ; int.jl:515:0 - v_cmp_gt_u32_e32 vcc_lo, 32, v8 - v_cndmask_b32_e64 v8, 0, 1, vcc_lo - s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_2) - v_cmp_gt_u32_e32 vcc_lo, 32, v5 -.Ltmp77: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(1) - v_dual_add_f32 v3, v3, v6 :: v_dual_lshlrev_b32 v8, 1, v8 - s_waitcnt lgkmcnt(0) - v_add_f32_e32 v4, v4, v7 - s_delay_alu instid0(VALU_DEP_2) -.Ltmp78: - .loc 2 529 0 ; int.jl:529:0 - v_add_lshl_u32 v8, v8, v0, 2 -.Ltmp79: - .loc 10 796 0 ; essentials.jl:796:0 - v_add_co_ci_u32_e32 v0, vcc_lo, 0, v0, vcc_lo -.Ltmp80: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v6, v8, v3 - ds_bpermute_b32 v7, v8, v4 -.Ltmp81: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(1) - v_dual_add_f32 v3, v3, v6 :: v_dual_lshlrev_b32 v0, 2, v0 - s_waitcnt lgkmcnt(0) - v_add_f32_e32 v4, v4, v7 -.Ltmp82: - .loc 8 178 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178:0 - ds_bpermute_b32 v5, v0, v3 - ds_bpermute_b32 v0, v0, v4 -.Ltmp83: - .loc 11 491 0 ; float.jl:491:0 - s_waitcnt lgkmcnt(0) - v_dual_add_f32 v3, v3, v5 :: v_dual_add_f32 v4, v4, v0 -.Ltmp84: -.LBB0_19: ; %Flow20 - .loc 11 0 0 is_stmt 0 ; float.jl:0:0 - s_or_b32 exec_lo, exec_lo, s11 - s_delay_alu instid0(SALU_CYCLE_1) - s_and_not1_b32 s11, s6, exec_lo - s_and_b32 s10, s10, exec_lo - s_or_not1_b32 s9, s9, exec_lo - s_or_b32 s10, s11, s10 -.LBB0_20: ; %Flow18 - s_or_b32 exec_lo, exec_lo, s8 - .loc 9 99 0 is_stmt 1 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99:0 - s_and_saveexec_b32 s8, s9 - s_cbranch_execz .LBB0_30 -.Ltmp85: -; %bb.21: ; %L522 - .loc 9 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:0:0 - s_mov_b32 s11, s10 - .loc 5 21 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:21:0 - s_mov_b32 s9, exec_lo -.Ltmp86: - .loc 12 639 0 ; promotion.jl:639:0 - v_cmpx_eq_u64_e32 1, v[1:2] - s_cbranch_execz .LBB0_29 -.Ltmp87: -; %bb.22: ; %L526 - .loc 12 0 0 is_stmt 0 ; promotion.jl:0:0 - s_load_b64 s[12:13], s[0:1], 0x68 -.Ltmp88: - .loc 2 513 0 is_stmt 1 ; int.jl:513:0 - s_waitcnt lgkmcnt(0) - s_cmp_lg_u64 s[12:13], 0 - s_cbranch_scc0 .LBB0_26 -.Ltmp89: -; %bb.23: ; %L544 - .loc 2 0 0 is_stmt 0 ; int.jl:0:0 - s_load_b64 s[12:13], s[0:1], 0x70 - v_dual_mov_b32 v0, 0 :: v_dual_add_f32 v1, v4, v3 - s_mov_b32 s0, 0 -.Ltmp90: - .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - s_waitcnt lgkmcnt(0) - global_store_b32 v0, v1, s[12:13] - s_branch .LBB0_27 -.Ltmp91: -.LBB0_24: ; %L247 - .loc 7 39 0 is_stmt 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - v_dual_mov_b32 v3, s4 :: v_dual_mov_b32 v6, 1 - v_dual_mov_b32 v5, 0 :: v_dual_mov_b32 v4, s5 -.Ltmp92: - .file 15 "." "pointer.jl" - .loc 15 180 0 is_stmt 1 ; pointer.jl:180:0 - s_clause 0x3 - flat_store_b8 v[3:4], v5 offset:3 - flat_store_b8 v[3:4], v5 offset:2 - flat_store_b8 v[3:4], v5 offset:1 - flat_store_b8 v[3:4], v6 -.Ltmp93: - .file 16 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl" - .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 - s_endpgm - s_mov_b32 s3, exec_lo - s_branch .LBB0_3 -.Ltmp94: -.LBB0_25: ; %L292 - .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - s_waitcnt vmcnt(0) - v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, 1 - v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s5 -.Ltmp95: - .loc 15 180 0 ; pointer.jl:180:0 - s_clause 0x3 - flat_store_b8 v[0:1], v2 offset:3 - flat_store_b8 v[0:1], v2 offset:2 - flat_store_b8 v[0:1], v2 offset:1 - flat_store_b8 v[0:1], v3 -.Ltmp96: - .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 - s_endpgm - s_or_b32 s6, s3, exec_lo -.Ltmp97: - ; implicit-def: $vgpr0 - ; implicit-def: $vgpr1_vgpr2 - ; implicit-def: $vgpr4 - ; implicit-def: $vgpr3 - .loc 3 756 0 ; boot.jl:756:0 - s_and_not1_saveexec_b32 s7, s7 - s_cbranch_execz .LBB0_31 - s_branch .LBB0_9 -.Ltmp98: -.LBB0_26: - .loc 3 0 0 is_stmt 0 ; boot.jl:0:0 - s_mov_b32 s0, -1 -.LBB0_27: ; %Flow23 - s_delay_alu instid0(SALU_CYCLE_1) -.Ltmp99: - .loc 6 699 0 is_stmt 1 ; abstractarray.jl:699:0 - s_and_not1_b32 vcc_lo, exec_lo, s0 - s_mov_b32 s0, s10 - s_cbranch_vccz .LBB0_36 -.Ltmp100: -.LBB0_28: ; %Flow24 - .loc 6 0 0 is_stmt 0 ; abstractarray.jl:0:0 - s_and_not1_b32 s1, s10, exec_lo - s_and_b32 s0, s0, exec_lo - s_delay_alu instid0(SALU_CYCLE_1) - s_or_b32 s11, s1, s0 -.LBB0_29: ; %Flow22 - s_or_b32 exec_lo, exec_lo, s9 - s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) - s_and_not1_b32 s0, s10, exec_lo - s_and_b32 s1, s11, exec_lo - s_or_b32 s10, s0, s1 -.LBB0_30: ; %Flow21 - s_or_b32 exec_lo, exec_lo, s8 - s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) - s_and_not1_b32 s0, s6, exec_lo - s_and_b32 s1, s10, exec_lo - s_or_b32 s6, s0, s1 -.LBB0_31: ; %Flow17 - s_or_b32 exec_lo, exec_lo, s7 - s_delay_alu instid0(SALU_CYCLE_1) | instskip(SKIP_1) | instid1(SALU_CYCLE_1) - s_and_not1_b32 s0, s3, exec_lo - s_and_b32 s1, s6, exec_lo - s_or_b32 s3, s0, s1 -.LBB0_32: ; %Flow15 - s_or_b32 exec_lo, exec_lo, s2 - s_delay_alu instid0(SALU_CYCLE_1) - .loc 5 16 0 is_stmt 1 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:16:0 - s_and_b32 exec_lo, exec_lo, s3 -; %bb.33: ; %UnifiedUnreachableBlock - ; divergent unreachable -.LBB0_34: ; %UnifiedReturnBlock - .loc 5 0 0 is_stmt 0 ; /home/pxlth/.julia/dev/AMDGPU/t.jl:0:0 - s_sendmsg sendmsg(MSG_DEALLOC_VGPRS) - s_endpgm -.LBB0_35: ; %L438 - s_waitcnt lgkmcnt(0) - v_dual_mov_b32 v0, 0 :: v_dual_mov_b32 v3, s4 -.Ltmp101: - .loc 7 39 0 is_stmt 1 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - v_dual_mov_b32 v4, s5 :: v_dual_mov_b32 v5, 1 -.Ltmp102: - .loc 15 180 0 ; pointer.jl:180:0 - s_clause 0x3 - flat_store_b8 v[3:4], v0 offset:3 - flat_store_b8 v[3:4], v0 offset:2 - flat_store_b8 v[3:4], v0 offset:1 - flat_store_b8 v[3:4], v5 -.Ltmp103: - .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 - s_endpgm - s_or_b32 s10, s6, exec_lo -.Ltmp104: - ; implicit-def: $vgpr0 - ; implicit-def: $vgpr3 - .loc 3 756 0 ; boot.jl:756:0 - s_and_not1_saveexec_b32 s11, s11 - s_cbranch_execz .LBB0_19 - s_branch .LBB0_18 -.Ltmp105: -.LBB0_36: ; %L541 - .loc 7 39 0 ; /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39:0 - v_dual_mov_b32 v0, s4 :: v_dual_mov_b32 v3, 1 - v_dual_mov_b32 v2, 0 :: v_dual_mov_b32 v1, s5 -.Ltmp106: - .loc 15 180 0 ; pointer.jl:180:0 - s_clause 0x3 - flat_store_b8 v[0:1], v2 offset:3 - flat_store_b8 v[0:1], v2 offset:2 - flat_store_b8 v[0:1], v2 offset:1 - flat_store_b8 v[0:1], v3 -.Ltmp107: - .loc 16 52 0 ; /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52:0 - s_endpgm - s_or_b32 s0, s10, exec_lo - s_branch .LBB0_28 -.Ltmp108: - .section .rodata,#alloc - .p2align 6, 0x0 - .amdhsa_kernel _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ - .amdhsa_group_segment_fixed_size 256 - .amdhsa_private_segment_fixed_size 0 - .amdhsa_kernarg_size 156 - .amdhsa_user_sgpr_count 15 - .amdhsa_user_sgpr_dispatch_ptr 0 - .amdhsa_user_sgpr_queue_ptr 0 - .amdhsa_user_sgpr_kernarg_segment_ptr 1 - .amdhsa_user_sgpr_dispatch_id 0 - .amdhsa_user_sgpr_private_segment_size 0 - .amdhsa_wavefront_size32 1 - .amdhsa_enable_private_segment 0 - .amdhsa_system_sgpr_workgroup_id_x 1 - .amdhsa_system_sgpr_workgroup_id_y 0 - .amdhsa_system_sgpr_workgroup_id_z 0 - .amdhsa_system_sgpr_workgroup_info 0 - .amdhsa_system_vgpr_workitem_id 0 - .amdhsa_next_free_vgpr 9 - .amdhsa_next_free_sgpr 16 - .amdhsa_float_round_mode_32 0 - .amdhsa_float_round_mode_16_64 0 - .amdhsa_float_denorm_mode_32 3 - .amdhsa_float_denorm_mode_16_64 3 - .amdhsa_dx10_clamp 1 - .amdhsa_ieee_mode 1 - .amdhsa_fp16_overflow 0 - .amdhsa_workgroup_processor_mode 1 - .amdhsa_memory_ordered 1 - .amdhsa_forward_progress 0 - .amdhsa_shared_vgpr_count 0 - .amdhsa_exception_fp_ieee_invalid_op 0 - .amdhsa_exception_fp_denorm_src 0 - .amdhsa_exception_fp_ieee_div_zero 0 - .amdhsa_exception_fp_ieee_overflow 0 - .amdhsa_exception_fp_ieee_underflow 0 - .amdhsa_exception_fp_ieee_inexact 0 - .amdhsa_exception_int_div_zero 0 - .end_amdhsa_kernel - .text -.Lfunc_end0: - .size _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_, .Lfunc_end0-_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ - .cfi_endproc - .file 17 "." "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl" - .file 18 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl" - .file 19 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl" - .file 20 "." "indices.jl" - .file 21 "." "number.jl" - .file 22 "." "ntuple.jl" - .file 23 "." "multidimensional.jl" - .file 24 "." "tuple.jl" - .file 25 "." "range.jl" - .file 26 "." "operators.jl" - .file 27 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl" - .file 28 "." "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl" - .file 29 "." "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl" - .file 30 "." "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl" - ; -- End function - .section .AMDGPU.csdata -; Kernel info: -; codeLenInByte = 1640 -; NumSgprs: 18 -; NumVgprs: 9 -; ScratchSize: 0 -; MemoryBound: 0 -; FloatMode: 240 -; IeeeMode: 1 -; LDSByteSize: 256 bytes/workgroup (compile time only) -; SGPRBlocks: 2 -; VGPRBlocks: 1 -; NumSGPRsForWavesPerEU: 18 -; NumVGPRsForWavesPerEU: 9 -; Occupancy: 16 -; WaveLimiterHint : 0 -; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0 -; COMPUTE_PGM_RSRC2:USER_SGPR: 15 -; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0 -; COMPUTE_PGM_RSRC2:TGID_X_EN: 1 -; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0 -; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0 -; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0 - .text - .p2alignl 7, 3214868480 - .fill 96, 4, 3214868480 - .section .debug_abbrev - .byte 1 ; Abbreviation Code - .byte 17 ; DW_TAG_compile_unit - .byte 1 ; DW_CHILDREN_yes - .byte 37 ; DW_AT_producer - .byte 14 ; DW_FORM_strp - .byte 19 ; DW_AT_language - .byte 5 ; DW_FORM_data2 - .byte 3 ; DW_AT_name - .byte 14 ; DW_FORM_strp - .byte 16 ; DW_AT_stmt_list - .byte 23 ; DW_FORM_sec_offset - .byte 27 ; DW_AT_comp_dir - .byte 14 ; DW_FORM_strp - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 2 ; Abbreviation Code - .byte 46 ; DW_TAG_subprogram - .byte 0 ; DW_CHILDREN_no - .byte 3 ; DW_AT_name - .byte 14 ; DW_FORM_strp - .byte 32 ; DW_AT_inline - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 3 ; Abbreviation Code - .byte 46 ; DW_TAG_subprogram - .byte 1 ; DW_CHILDREN_yes - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 3 ; DW_AT_name - .byte 14 ; DW_FORM_strp - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 4 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 5 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 85 ; DW_AT_ranges - .byte 23 ; DW_FORM_sec_offset - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 6 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 0 ; DW_CHILDREN_no - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 5 ; DW_FORM_data2 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 7 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 5 ; DW_FORM_data2 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 8 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 0 ; DW_CHILDREN_no - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 9 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 16 ; DW_FORM_ref_addr - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 5 ; DW_FORM_data2 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 10 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 16 ; DW_FORM_ref_addr - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 11 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 0 ; DW_CHILDREN_no - .byte 49 ; DW_AT_abstract_origin - .byte 16 ; DW_FORM_ref_addr - .byte 17 ; DW_AT_low_pc - .byte 1 ; DW_FORM_addr - .byte 18 ; DW_AT_high_pc - .byte 6 ; DW_FORM_data4 - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 12 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 1 ; DW_CHILDREN_yes - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 85 ; DW_AT_ranges - .byte 23 ; DW_FORM_sec_offset - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 5 ; DW_FORM_data2 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 13 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 0 ; DW_CHILDREN_no - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 85 ; DW_AT_ranges - .byte 23 ; DW_FORM_sec_offset - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 11 ; DW_FORM_data1 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 14 ; Abbreviation Code - .byte 29 ; DW_TAG_inlined_subroutine - .byte 0 ; DW_CHILDREN_no - .byte 49 ; DW_AT_abstract_origin - .byte 19 ; DW_FORM_ref4 - .byte 85 ; DW_AT_ranges - .byte 23 ; DW_FORM_sec_offset - .byte 88 ; DW_AT_call_file - .byte 11 ; DW_FORM_data1 - .byte 89 ; DW_AT_call_line - .byte 5 ; DW_FORM_data2 - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 15 ; Abbreviation Code - .byte 17 ; DW_TAG_compile_unit - .byte 1 ; DW_CHILDREN_yes - .byte 37 ; DW_AT_producer - .byte 14 ; DW_FORM_strp - .byte 19 ; DW_AT_language - .byte 5 ; DW_FORM_data2 - .byte 3 ; DW_AT_name - .byte 14 ; DW_FORM_strp - .byte 16 ; DW_AT_stmt_list - .byte 23 ; DW_FORM_sec_offset - .byte 27 ; DW_AT_comp_dir - .byte 14 ; DW_FORM_strp - .byte 0 ; EOM(1) - .byte 0 ; EOM(2) - .byte 0 ; EOM(3) - .section .debug_info -.Lcu_begin0: - .long .Ldebug_info_end0-.Ldebug_info_start0 ; Length of Unit -.Ldebug_info_start0: - .short 4 ; DWARF version number - .long .debug_abbrev ; Offset Into Abbrev. Section - .byte 8 ; Address Size (in bytes) - .byte 1 ; Abbrev [1] 0xb:0xc06 DW_TAG_compile_unit - .long .Linfo_string0 ; DW_AT_producer - .short 31 ; DW_AT_language - .long .Linfo_string0 ; DW_AT_name - .long .Lline_table_start0 ; DW_AT_stmt_list - .long .Linfo_string1 ; DW_AT_comp_dir - .quad .Lfunc_begin0 ; DW_AT_low_pc - .long .Lfunc_end0-.Lfunc_begin0 ; DW_AT_high_pc - .byte 2 ; Abbrev [2] 0x2a:0x6 DW_TAG_subprogram - .long .Linfo_string2 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x30:0x6 DW_TAG_subprogram - .long .Linfo_string3 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x36:0x6 DW_TAG_subprogram - .long .Linfo_string4 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x3c:0x6 DW_TAG_subprogram - .long .Linfo_string5 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x42:0x6 DW_TAG_subprogram - .long .Linfo_string6 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x48:0x6 DW_TAG_subprogram - .long .Linfo_string7 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x4e:0x6 DW_TAG_subprogram - .long .Linfo_string8 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x54:0x6 DW_TAG_subprogram - .long .Linfo_string9 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x5a:0x6 DW_TAG_subprogram - .long .Linfo_string10 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x60:0x6 DW_TAG_subprogram - .long .Linfo_string11 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x66:0x6 DW_TAG_subprogram - .long .Linfo_string12 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x6c:0x6 DW_TAG_subprogram - .long .Linfo_string13 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x72:0x6 DW_TAG_subprogram - .long .Linfo_string14 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x78:0x6 DW_TAG_subprogram - .long .Linfo_string15 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x7e:0x6 DW_TAG_subprogram - .long .Linfo_string16 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x84:0x6 DW_TAG_subprogram - .long .Linfo_string17 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x8a:0x6 DW_TAG_subprogram - .long .Linfo_string18 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x90:0x6 DW_TAG_subprogram - .long .Linfo_string19 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x96:0x6 DW_TAG_subprogram - .long .Linfo_string20 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x9c:0x6 DW_TAG_subprogram - .long .Linfo_string19 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xa2:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xa8:0x6 DW_TAG_subprogram - .long .Linfo_string22 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xae:0x6 DW_TAG_subprogram - .long .Linfo_string23 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xb4:0x6 DW_TAG_subprogram - .long .Linfo_string24 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xba:0x6 DW_TAG_subprogram - .long .Linfo_string25 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xc0:0x6 DW_TAG_subprogram - .long .Linfo_string26 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xc6:0x6 DW_TAG_subprogram - .long .Linfo_string27 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xcc:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xd2:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xd8:0x6 DW_TAG_subprogram - .long .Linfo_string28 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xde:0x6 DW_TAG_subprogram - .long .Linfo_string29 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xe4:0x6 DW_TAG_subprogram - .long .Linfo_string30 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xea:0x6 DW_TAG_subprogram - .long .Linfo_string31 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xf0:0x6 DW_TAG_subprogram - .long .Linfo_string32 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xf6:0x6 DW_TAG_subprogram - .long .Linfo_string33 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0xfc:0x6 DW_TAG_subprogram - .long .Linfo_string31 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x102:0x6 DW_TAG_subprogram - .long .Linfo_string31 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x108:0x6 DW_TAG_subprogram - .long .Linfo_string34 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x10e:0x6 DW_TAG_subprogram - .long .Linfo_string35 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x114:0x6 DW_TAG_subprogram - .long .Linfo_string36 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x11a:0x6 DW_TAG_subprogram - .long .Linfo_string37 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x120:0x6 DW_TAG_subprogram - .long .Linfo_string38 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x126:0x6 DW_TAG_subprogram - .long .Linfo_string39 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x12c:0x6 DW_TAG_subprogram - .long .Linfo_string40 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x132:0x6 DW_TAG_subprogram - .long .Linfo_string41 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x138:0x6 DW_TAG_subprogram - .long .Linfo_string42 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x13e:0x6 DW_TAG_subprogram - .long .Linfo_string2 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x144:0x6 DW_TAG_subprogram - .long .Linfo_string2 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x14a:0x6 DW_TAG_subprogram - .long .Linfo_string43 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x150:0x6 DW_TAG_subprogram - .long .Linfo_string44 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x156:0x6 DW_TAG_subprogram - .long .Linfo_string45 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x15c:0x6 DW_TAG_subprogram - .long .Linfo_string46 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x162:0x6 DW_TAG_subprogram - .long .Linfo_string47 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x168:0x6 DW_TAG_subprogram - .long .Linfo_string48 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x16e:0x6 DW_TAG_subprogram - .long .Linfo_string49 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x174:0x6 DW_TAG_subprogram - .long .Linfo_string50 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x17a:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x180:0x6 DW_TAG_subprogram - .long .Linfo_string22 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x186:0x6 DW_TAG_subprogram - .long .Linfo_string51 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 3 ; Abbrev [3] 0x18c:0xa84 DW_TAG_subprogram - .quad .Lfunc_begin0 ; DW_AT_low_pc - .long .Lfunc_end0-.Lfunc_begin0 ; DW_AT_high_pc - .long .Linfo_string58 ; DW_AT_name - .byte 4 ; Abbrev [4] 0x19d:0xa72 DW_TAG_inlined_subroutine - .long 72 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp108-.Ltmp0 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x1b0:0x1dd DW_TAG_inlined_subroutine - .long 66 ; DW_AT_abstract_origin - .long .Ldebug_ranges0 ; DW_AT_ranges - .byte 4 ; DW_AT_call_file - .byte 96 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x1bb:0x64 DW_TAG_inlined_subroutine - .long 60 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc - .byte 17 ; DW_AT_call_file - .byte 141 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x1ce:0x50 DW_TAG_inlined_subroutine - .long 54 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc - .byte 18 ; DW_AT_call_file - .byte 164 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x1e1:0x3c DW_TAG_inlined_subroutine - .long 48 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc - .byte 18 ; DW_AT_call_file - .byte 89 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x1f4:0x28 DW_TAG_inlined_subroutine - .long 42 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc - .byte 18 ; DW_AT_call_file - .byte 87 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x207:0x14 DW_TAG_inlined_subroutine - .long 42 ; DW_AT_abstract_origin - .quad .Ltmp0 ; DW_AT_low_pc - .long .Ltmp1-.Ltmp0 ; DW_AT_high_pc - .byte 2 ; DW_AT_call_file - .short 1013 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x21f:0x11b DW_TAG_inlined_subroutine - .long 114 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp4-.Ltmp1 ; DW_AT_high_pc - .byte 17 ; DW_AT_call_file - .byte 141 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x232:0xa5 DW_TAG_inlined_subroutine - .long 108 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 19 ; DW_AT_call_file - .byte 121 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x245:0x91 DW_TAG_inlined_subroutine - .long 102 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 1312 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x259:0x7c DW_TAG_inlined_subroutine - .long 102 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 20 ; DW_AT_call_file - .short 365 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x26d:0x67 DW_TAG_inlined_subroutine - .long 96 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 20 ; DW_AT_call_file - .short 368 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x281:0x52 DW_TAG_inlined_subroutine - .long 96 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 20 ; DW_AT_call_file - .short 292 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x295:0x3d DW_TAG_inlined_subroutine - .long 90 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 20 ; DW_AT_call_file - .short 307 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x2a9:0x28 DW_TAG_inlined_subroutine - .long 84 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 21 ; DW_AT_call_file - .byte 7 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x2bc:0x14 DW_TAG_inlined_subroutine - .long 78 ; DW_AT_abstract_origin - .quad .Ltmp1 ; DW_AT_low_pc - .long .Ltmp2-.Ltmp1 ; DW_AT_high_pc - .byte 3 ; DW_AT_call_file - .short 892 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x2d7:0x62 DW_TAG_inlined_subroutine - .long 114 ; DW_AT_abstract_origin - .quad .Ltmp2 ; DW_AT_low_pc - .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc - .byte 19 ; DW_AT_call_file - .byte 121 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x2ea:0x4e DW_TAG_inlined_subroutine - .long 132 ; DW_AT_abstract_origin - .quad .Ltmp2 ; DW_AT_low_pc - .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc - .byte 19 ; DW_AT_call_file - .byte 75 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x2fd:0x3a DW_TAG_inlined_subroutine - .long 126 ; DW_AT_abstract_origin - .quad .Ltmp2 ; DW_AT_low_pc - .long .Ltmp4-.Ltmp2 ; DW_AT_high_pc - .byte 22 ; DW_AT_call_file - .byte 48 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x310:0x13 DW_TAG_inlined_subroutine - .long 120 ; DW_AT_abstract_origin - .quad .Ltmp2 ; DW_AT_low_pc - .long .Ltmp3-.Ltmp2 ; DW_AT_high_pc - .byte 19 ; DW_AT_call_file - .byte 79 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x323:0x13 DW_TAG_inlined_subroutine - .long 42 ; DW_AT_abstract_origin - .quad .Ltmp3 ; DW_AT_low_pc - .long .Ltmp4-.Ltmp3 ; DW_AT_high_pc - .byte 19 ; DW_AT_call_file - .byte 79 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x33a:0x52 DW_TAG_inlined_subroutine - .long 156 ; DW_AT_abstract_origin - .quad .Ltmp5 ; DW_AT_low_pc - .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc - .byte 17 ; DW_AT_call_file - .byte 142 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x34d:0x3e DW_TAG_inlined_subroutine - .long 150 ; DW_AT_abstract_origin - .quad .Ltmp5 ; DW_AT_low_pc - .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc - .byte 23 ; DW_AT_call_file - .short 477 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x361:0x29 DW_TAG_inlined_subroutine - .long 144 ; DW_AT_abstract_origin - .quad .Ltmp5 ; DW_AT_low_pc - .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc - .byte 24 ; DW_AT_call_file - .short 382 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x375:0x14 DW_TAG_inlined_subroutine - .long 138 ; DW_AT_abstract_origin - .quad .Ltmp5 ; DW_AT_low_pc - .long .Ltmp6-.Ltmp5 ; DW_AT_high_pc - .byte 25 ; DW_AT_call_file - .short 1426 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x38d:0x881 DW_TAG_inlined_subroutine - .long 162 ; DW_AT_abstract_origin - .quad .Ltmp7 ; DW_AT_low_pc - .long .Ltmp108-.Ltmp7 ; DW_AT_high_pc - .byte 4 ; DW_AT_call_file - .byte 97 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x3a0:0x28 DW_TAG_inlined_subroutine - .long 174 ; DW_AT_abstract_origin - .quad .Ltmp8 ; DW_AT_low_pc - .long .Ltmp9-.Ltmp8 ; DW_AT_high_pc - .byte 5 ; DW_AT_call_file - .byte 16 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x3b3:0x14 DW_TAG_inlined_subroutine - .long 168 ; DW_AT_abstract_origin - .quad .Ltmp8 ; DW_AT_low_pc - .long .Ltmp9-.Ltmp8 ; DW_AT_high_pc - .byte 26 ; DW_AT_call_file - .short 379 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0x3c8:0x16b DW_TAG_inlined_subroutine - .long 198 ; DW_AT_abstract_origin - .long .Ldebug_ranges1 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 16 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x3d3:0x110 DW_TAG_inlined_subroutine - .long 192 ; DW_AT_abstract_origin - .long .Ldebug_ranges2 ; DW_AT_ranges - .byte 13 ; DW_AT_call_file - .byte 84 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x3de:0x52 DW_TAG_inlined_subroutine - .long 192 ; DW_AT_abstract_origin - .quad .Ltmp10 ; DW_AT_low_pc - .long .Ltmp12-.Ltmp10 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 699 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x3f2:0x3d DW_TAG_inlined_subroutine - .long 186 ; DW_AT_abstract_origin - .quad .Ltmp10 ; DW_AT_low_pc - .long .Ltmp12-.Ltmp10 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 689 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x406:0x14 DW_TAG_inlined_subroutine - .long 180 ; DW_AT_abstract_origin - .quad .Ltmp10 ; DW_AT_low_pc - .long .Ltmp11-.Ltmp10 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 754 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x41a:0x14 DW_TAG_inlined_subroutine - .long 168 ; DW_AT_abstract_origin - .quad .Ltmp11 ; DW_AT_low_pc - .long .Ltmp12-.Ltmp11 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 754 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 9 ; Abbrev [9] 0x430:0xb2 DW_TAG_inlined_subroutine - .long .debug_info+3192 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp94-.Ltmp91 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 699 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x444:0x9d DW_TAG_inlined_subroutine - .long .debug_info+3143 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp94-.Ltmp91 ; DW_AT_high_pc - .byte 27 ; DW_AT_call_file - .byte 8 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x457:0x4f DW_TAG_inlined_subroutine - .long .debug_info+3137 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x46a:0x3b DW_TAG_inlined_subroutine - .long .debug_info+3131 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 11 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x47d:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3125 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x490:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3119 ; DW_AT_abstract_origin - .quad .Ltmp91 ; DW_AT_low_pc - .long .Ltmp92-.Ltmp91 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 10 ; Abbrev [10] 0x4a6:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp92 ; DW_AT_low_pc - .long .Ltmp93-.Ltmp92 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x4b9:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp92 ; DW_AT_low_pc - .long .Ltmp93-.Ltmp92 ; DW_AT_high_pc - .byte 15 ; DW_AT_call_file - .byte 180 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 11 ; Abbrev [11] 0x4cd:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3155 ; DW_AT_abstract_origin - .quad .Ltmp93 ; DW_AT_low_pc - .long .Ltmp94-.Ltmp93 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 115 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x4e3:0x4f DW_TAG_inlined_subroutine - .long 222 ; DW_AT_abstract_origin - .quad .Ltmp14 ; DW_AT_low_pc - .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc - .byte 13 ; DW_AT_call_file - .byte 86 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x4f6:0x3b DW_TAG_inlined_subroutine - .long 216 ; DW_AT_abstract_origin - .quad .Ltmp14 ; DW_AT_low_pc - .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc - .byte 29 ; DW_AT_call_file - .byte 85 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x509:0x27 DW_TAG_inlined_subroutine - .long 210 ; DW_AT_abstract_origin - .quad .Ltmp14 ; DW_AT_low_pc - .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x51c:0x13 DW_TAG_inlined_subroutine - .long 204 ; DW_AT_abstract_origin - .quad .Ltmp14 ; DW_AT_low_pc - .long .Ltmp15-.Ltmp14 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0x533:0x570 DW_TAG_inlined_subroutine - .long 270 ; DW_AT_abstract_origin - .long .Ldebug_ranges3 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 19 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x53e:0x1d9 DW_TAG_inlined_subroutine - .long 264 ; DW_AT_abstract_origin - .long .Ldebug_ranges4 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 92 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x549:0x1b6 DW_TAG_inlined_subroutine - .long 258 ; DW_AT_abstract_origin - .long .Ldebug_ranges5 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 78 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x554:0x1aa DW_TAG_inlined_subroutine - .long 252 ; DW_AT_abstract_origin - .long .Ldebug_ranges6 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 12 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x55f:0x19e DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges7 ; DW_AT_ranges - .byte 17 ; DW_AT_call_file - .byte 174 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x56a:0x192 DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges8 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 360 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x576:0x185 DW_TAG_inlined_subroutine - .long 246 ; DW_AT_abstract_origin - .long .Ldebug_ranges9 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 360 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x582:0x178 DW_TAG_inlined_subroutine - .long 240 ; DW_AT_abstract_origin - .long .Ldebug_ranges10 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 228 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x58d:0x16c DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges11 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 361 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x599:0x13 DW_TAG_inlined_subroutine - .long 228 ; DW_AT_abstract_origin - .quad .Ltmp16 ; DW_AT_low_pc - .long .Ltmp17-.Ltmp16 ; DW_AT_high_pc - .byte 8 ; DW_AT_call_file - .byte 249 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x5ac:0xf8 DW_TAG_inlined_subroutine - .long 90 ; DW_AT_abstract_origin - .long .Ldebug_ranges12 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 249 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x5b7:0xec DW_TAG_inlined_subroutine - .long 288 ; DW_AT_abstract_origin - .long .Ldebug_ranges13 ; DW_AT_ranges - .byte 21 ; DW_AT_call_file - .byte 7 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x5c2:0xe0 DW_TAG_inlined_subroutine - .long 282 ; DW_AT_abstract_origin - .long .Ldebug_ranges14 ; DW_AT_ranges - .byte 3 ; DW_AT_call_file - .short 891 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x5ce:0xd3 DW_TAG_inlined_subroutine - .long 276 ; DW_AT_abstract_origin - .long .Ldebug_ranges15 ; DW_AT_ranges - .byte 3 ; DW_AT_call_file - .short 805 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x5da:0x14 DW_TAG_inlined_subroutine - .long 294 ; DW_AT_abstract_origin - .quad .Ltmp18 ; DW_AT_low_pc - .long .Ltmp19-.Ltmp18 ; DW_AT_high_pc - .byte 3 ; DW_AT_call_file - .short 756 ; DW_AT_call_line - .byte 9 ; Abbrev [9] 0x5ee:0xb2 DW_TAG_inlined_subroutine - .long .debug_info+3229 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp97-.Ltmp94 ; DW_AT_high_pc - .byte 3 ; DW_AT_call_file - .short 756 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x602:0x9d DW_TAG_inlined_subroutine - .long .debug_info+3143 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp97-.Ltmp94 ; DW_AT_high_pc - .byte 27 ; DW_AT_call_file - .byte 8 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x615:0x4f DW_TAG_inlined_subroutine - .long .debug_info+3137 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x628:0x3b DW_TAG_inlined_subroutine - .long .debug_info+3131 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 11 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x63b:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3125 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x64e:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3119 ; DW_AT_abstract_origin - .quad .Ltmp94 ; DW_AT_low_pc - .long .Ltmp95-.Ltmp94 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 10 ; Abbrev [10] 0x664:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp95 ; DW_AT_low_pc - .long .Ltmp96-.Ltmp95 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x677:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp95 ; DW_AT_low_pc - .long .Ltmp96-.Ltmp95 ; DW_AT_high_pc - .byte 15 ; DW_AT_call_file - .byte 180 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 11 ; Abbrev [11] 0x68b:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3155 ; DW_AT_abstract_origin - .quad .Ltmp96 ; DW_AT_low_pc - .long .Ltmp97-.Ltmp96 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 115 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 13 ; Abbrev [13] 0x6a4:0xb DW_TAG_inlined_subroutine - .long 42 ; DW_AT_abstract_origin - .long .Ldebug_ranges16 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0x6af:0xb DW_TAG_inlined_subroutine - .long 300 ; DW_AT_abstract_origin - .long .Ldebug_ranges17 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0x6ba:0xb DW_TAG_inlined_subroutine - .long 306 ; DW_AT_abstract_origin - .long .Ldebug_ranges18 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 252 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0x6c5:0xb DW_TAG_inlined_subroutine - .long 312 ; DW_AT_abstract_origin - .long .Ldebug_ranges19 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 252 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x6d0:0x28 DW_TAG_inlined_subroutine - .long 330 ; DW_AT_abstract_origin - .quad .Ltmp38 ; DW_AT_low_pc - .long .Ltmp39-.Ltmp38 ; DW_AT_high_pc - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x6e3:0x14 DW_TAG_inlined_subroutine - .long 138 ; DW_AT_abstract_origin - .quad .Ltmp38 ; DW_AT_low_pc - .long .Ltmp39-.Ltmp38 ; DW_AT_high_pc - .byte 26 ; DW_AT_call_file - .short 426 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0x6ff:0x17 DW_TAG_inlined_subroutine - .long 324 ; DW_AT_abstract_origin - .long .Ldebug_ranges20 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 78 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0x70a:0xb DW_TAG_inlined_subroutine - .long 318 ; DW_AT_abstract_origin - .long .Ldebug_ranges21 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 10 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 8 ; Abbrev [8] 0x717:0x13 DW_TAG_inlined_subroutine - .long 336 ; DW_AT_abstract_origin - .quad .Ltmp42 ; DW_AT_low_pc - .long .Ltmp43-.Ltmp42 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 88 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x72a:0x28 DW_TAG_inlined_subroutine - .long 342 ; DW_AT_abstract_origin - .quad .Ltmp43 ; DW_AT_low_pc - .long .Ltmp44-.Ltmp43 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 93 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x73d:0x14 DW_TAG_inlined_subroutine - .long 342 ; DW_AT_abstract_origin - .quad .Ltmp43 ; DW_AT_low_pc - .long .Ltmp44-.Ltmp43 ; DW_AT_high_pc - .byte 12 ; DW_AT_call_file - .short 483 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0x752:0x5b DW_TAG_inlined_subroutine - .long 360 ; DW_AT_abstract_origin - .long .Ldebug_ranges22 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 93 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x75d:0x4f DW_TAG_inlined_subroutine - .long 354 ; DW_AT_abstract_origin - .quad .Ltmp45 ; DW_AT_low_pc - .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc - .byte 13 ; DW_AT_call_file - .byte 92 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x770:0x3b DW_TAG_inlined_subroutine - .long 348 ; DW_AT_abstract_origin - .quad .Ltmp45 ; DW_AT_low_pc - .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc - .byte 29 ; DW_AT_call_file - .byte 88 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x783:0x27 DW_TAG_inlined_subroutine - .long 210 ; DW_AT_abstract_origin - .quad .Ltmp45 ; DW_AT_low_pc - .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x796:0x13 DW_TAG_inlined_subroutine - .long 204 ; DW_AT_abstract_origin - .quad .Ltmp45 ; DW_AT_low_pc - .long .Ltmp46-.Ltmp45 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x7ad:0x3c DW_TAG_inlined_subroutine - .long 378 ; DW_AT_abstract_origin - .quad .Ltmp49 ; DW_AT_low_pc - .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 94 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x7c0:0x28 DW_TAG_inlined_subroutine - .long 372 ; DW_AT_abstract_origin - .quad .Ltmp49 ; DW_AT_low_pc - .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc - .byte 30 ; DW_AT_call_file - .short 290 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x7d4:0x13 DW_TAG_inlined_subroutine - .long 366 ; DW_AT_abstract_origin - .quad .Ltmp49 ; DW_AT_low_pc - .long .Ltmp50-.Ltmp49 ; DW_AT_high_pc - .byte 17 ; DW_AT_call_file - .byte 162 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x7e9:0x3d DW_TAG_inlined_subroutine - .long 168 ; DW_AT_abstract_origin - .quad .Ltmp50 ; DW_AT_low_pc - .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 97 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0x7fc:0x29 DW_TAG_inlined_subroutine - .long 384 ; DW_AT_abstract_origin - .quad .Ltmp50 ; DW_AT_low_pc - .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc - .byte 2 ; DW_AT_call_file - .short 520 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x810:0x14 DW_TAG_inlined_subroutine - .long 168 ; DW_AT_abstract_origin - .quad .Ltmp50 ; DW_AT_low_pc - .long .Ltmp51-.Ltmp50 ; DW_AT_high_pc - .byte 12 ; DW_AT_call_file - .short 484 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x826:0x63 DW_TAG_inlined_subroutine - .long 198 ; DW_AT_abstract_origin - .quad .Ltmp52 ; DW_AT_low_pc - .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 98 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x839:0x4f DW_TAG_inlined_subroutine - .long 222 ; DW_AT_abstract_origin - .quad .Ltmp52 ; DW_AT_low_pc - .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc - .byte 13 ; DW_AT_call_file - .byte 86 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x84c:0x3b DW_TAG_inlined_subroutine - .long 216 ; DW_AT_abstract_origin - .quad .Ltmp52 ; DW_AT_low_pc - .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc - .byte 29 ; DW_AT_call_file - .byte 85 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0x85f:0x27 DW_TAG_inlined_subroutine - .long 210 ; DW_AT_abstract_origin - .quad .Ltmp52 ; DW_AT_low_pc - .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x872:0x13 DW_TAG_inlined_subroutine - .long 204 ; DW_AT_abstract_origin - .quad .Ltmp52 ; DW_AT_low_pc - .long .Ltmp53-.Ltmp52 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0x889:0x28 DW_TAG_inlined_subroutine - .long 342 ; DW_AT_abstract_origin - .quad .Ltmp54 ; DW_AT_low_pc - .long .Ltmp55-.Ltmp54 ; DW_AT_high_pc - .byte 9 ; DW_AT_call_file - .byte 99 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x89c:0x14 DW_TAG_inlined_subroutine - .long 342 ; DW_AT_abstract_origin - .quad .Ltmp54 ; DW_AT_low_pc - .long .Ltmp55-.Ltmp54 ; DW_AT_high_pc - .byte 12 ; DW_AT_call_file - .short 483 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0x8b1:0x1f1 DW_TAG_inlined_subroutine - .long 264 ; DW_AT_abstract_origin - .long .Ldebug_ranges23 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 99 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x8bc:0x1ce DW_TAG_inlined_subroutine - .long 258 ; DW_AT_abstract_origin - .long .Ldebug_ranges24 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 78 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x8c7:0x1c2 DW_TAG_inlined_subroutine - .long 252 ; DW_AT_abstract_origin - .long .Ldebug_ranges25 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 12 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x8d2:0x1b6 DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges26 ; DW_AT_ranges - .byte 17 ; DW_AT_call_file - .byte 174 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x8dd:0x1aa DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges27 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 360 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x8e9:0x19d DW_TAG_inlined_subroutine - .long 246 ; DW_AT_abstract_origin - .long .Ldebug_ranges28 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 360 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x8f5:0x190 DW_TAG_inlined_subroutine - .long 240 ; DW_AT_abstract_origin - .long .Ldebug_ranges29 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 228 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x900:0x184 DW_TAG_inlined_subroutine - .long 234 ; DW_AT_abstract_origin - .long .Ldebug_ranges30 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .short 361 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0x90c:0x13 DW_TAG_inlined_subroutine - .long 228 ; DW_AT_abstract_origin - .quad .Ltmp55 ; DW_AT_low_pc - .long .Ltmp56-.Ltmp55 ; DW_AT_high_pc - .byte 8 ; DW_AT_call_file - .byte 249 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x91f:0xf8 DW_TAG_inlined_subroutine - .long 90 ; DW_AT_abstract_origin - .long .Ldebug_ranges31 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 249 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0x92a:0xec DW_TAG_inlined_subroutine - .long 288 ; DW_AT_abstract_origin - .long .Ldebug_ranges32 ; DW_AT_ranges - .byte 21 ; DW_AT_call_file - .byte 7 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x935:0xe0 DW_TAG_inlined_subroutine - .long 282 ; DW_AT_abstract_origin - .long .Ldebug_ranges33 ; DW_AT_ranges - .byte 3 ; DW_AT_call_file - .short 891 ; DW_AT_call_line - .byte 12 ; Abbrev [12] 0x941:0xd3 DW_TAG_inlined_subroutine - .long 276 ; DW_AT_abstract_origin - .long .Ldebug_ranges34 ; DW_AT_ranges - .byte 3 ; DW_AT_call_file - .short 805 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0x94d:0x14 DW_TAG_inlined_subroutine - .long 294 ; DW_AT_abstract_origin - .quad .Ltmp57 ; DW_AT_low_pc - .long .Ltmp58-.Ltmp57 ; DW_AT_high_pc - .byte 3 ; DW_AT_call_file - .short 756 ; DW_AT_call_line - .byte 9 ; Abbrev [9] 0x961:0xb2 DW_TAG_inlined_subroutine - .long .debug_info+3229 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp104-.Ltmp101 ; DW_AT_high_pc - .byte 3 ; DW_AT_call_file - .short 756 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x975:0x9d DW_TAG_inlined_subroutine - .long .debug_info+3143 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp104-.Ltmp101 ; DW_AT_high_pc - .byte 27 ; DW_AT_call_file - .byte 8 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x988:0x4f DW_TAG_inlined_subroutine - .long .debug_info+3137 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x99b:0x3b DW_TAG_inlined_subroutine - .long .debug_info+3131 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 11 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0x9ae:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3125 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x9c1:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3119 ; DW_AT_abstract_origin - .quad .Ltmp101 ; DW_AT_low_pc - .long .Ltmp102-.Ltmp101 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 10 ; Abbrev [10] 0x9d7:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp102 ; DW_AT_low_pc - .long .Ltmp103-.Ltmp102 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0x9ea:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp102 ; DW_AT_low_pc - .long .Ltmp103-.Ltmp102 ; DW_AT_high_pc - .byte 15 ; DW_AT_call_file - .byte 180 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 11 ; Abbrev [11] 0x9fe:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3155 ; DW_AT_abstract_origin - .quad .Ltmp103 ; DW_AT_low_pc - .long .Ltmp104-.Ltmp103 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 115 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0xa17:0x28 DW_TAG_inlined_subroutine - .long 390 ; DW_AT_abstract_origin - .quad .Ltmp59 ; DW_AT_low_pc - .long .Ltmp60-.Ltmp59 ; DW_AT_high_pc - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0xa2a:0x14 DW_TAG_inlined_subroutine - .long 390 ; DW_AT_abstract_origin - .quad .Ltmp59 ; DW_AT_low_pc - .long .Ltmp60-.Ltmp59 ; DW_AT_high_pc - .byte 2 ; DW_AT_call_file - .short 1013 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 13 ; Abbrev [13] 0xa3f:0xb DW_TAG_inlined_subroutine - .long 42 ; DW_AT_abstract_origin - .long .Ldebug_ranges35 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0xa4a:0x18 DW_TAG_inlined_subroutine - .long 330 ; DW_AT_abstract_origin - .long .Ldebug_ranges36 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 14 ; Abbrev [14] 0xa55:0xc DW_TAG_inlined_subroutine - .long 138 ; DW_AT_abstract_origin - .long .Ldebug_ranges37 ; DW_AT_ranges - .byte 26 ; DW_AT_call_file - .short 426 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 13 ; Abbrev [13] 0xa62:0xb DW_TAG_inlined_subroutine - .long 300 ; DW_AT_abstract_origin - .long .Ldebug_ranges38 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 251 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0xa6d:0xb DW_TAG_inlined_subroutine - .long 306 ; DW_AT_abstract_origin - .long .Ldebug_ranges39 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 252 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0xa78:0xb DW_TAG_inlined_subroutine - .long 312 ; DW_AT_abstract_origin - .long .Ldebug_ranges40 ; DW_AT_ranges - .byte 8 ; DW_AT_call_file - .byte 252 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 5 ; Abbrev [5] 0xa8a:0x17 DW_TAG_inlined_subroutine - .long 324 ; DW_AT_abstract_origin - .long .Ldebug_ranges41 ; DW_AT_ranges - .byte 9 ; DW_AT_call_file - .byte 78 ; DW_AT_call_line - .byte 13 ; Abbrev [13] 0xa95:0xb DW_TAG_inlined_subroutine - .long 318 ; DW_AT_abstract_origin - .long .Ldebug_ranges42 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 10 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 8 ; Abbrev [8] 0xaa3:0x13 DW_TAG_inlined_subroutine - .long 342 ; DW_AT_abstract_origin - .quad .Ltmp86 ; DW_AT_low_pc - .long .Ltmp87-.Ltmp86 ; DW_AT_high_pc - .byte 5 ; DW_AT_call_file - .byte 21 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0xab6:0x157 DW_TAG_inlined_subroutine - .long 360 ; DW_AT_abstract_origin - .long .Ldebug_ranges43 ; DW_AT_ranges - .byte 5 ; DW_AT_call_file - .byte 21 ; DW_AT_call_line - .byte 5 ; Abbrev [5] 0xac1:0xfc DW_TAG_inlined_subroutine - .long 192 ; DW_AT_abstract_origin - .long .Ldebug_ranges44 ; DW_AT_ranges - .byte 13 ; DW_AT_call_file - .byte 90 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0xacc:0x3e DW_TAG_inlined_subroutine - .long 192 ; DW_AT_abstract_origin - .quad .Ltmp88 ; DW_AT_low_pc - .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 699 ; DW_AT_call_line - .byte 7 ; Abbrev [7] 0xae0:0x29 DW_TAG_inlined_subroutine - .long 186 ; DW_AT_abstract_origin - .quad .Ltmp88 ; DW_AT_low_pc - .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 689 ; DW_AT_call_line - .byte 6 ; Abbrev [6] 0xaf4:0x14 DW_TAG_inlined_subroutine - .long 168 ; DW_AT_abstract_origin - .quad .Ltmp88 ; DW_AT_low_pc - .long .Ltmp89-.Ltmp88 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 754 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 9 ; Abbrev [9] 0xb0a:0xb2 DW_TAG_inlined_subroutine - .long .debug_info+3192 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp108-.Ltmp105 ; DW_AT_high_pc - .byte 6 ; DW_AT_call_file - .short 699 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0xb1e:0x9d DW_TAG_inlined_subroutine - .long .debug_info+3143 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp108-.Ltmp105 ; DW_AT_high_pc - .byte 27 ; DW_AT_call_file - .byte 8 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0xb31:0x4f DW_TAG_inlined_subroutine - .long .debug_info+3137 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0xb44:0x3b DW_TAG_inlined_subroutine - .long .debug_info+3131 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 11 ; DW_AT_call_line - .byte 10 ; Abbrev [10] 0xb57:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3125 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0xb6a:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3119 ; DW_AT_abstract_origin - .quad .Ltmp105 ; DW_AT_low_pc - .long .Ltmp106-.Ltmp105 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 10 ; Abbrev [10] 0xb80:0x27 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp106 ; DW_AT_low_pc - .long .Ltmp107-.Ltmp106 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 113 ; DW_AT_call_line - .byte 11 ; Abbrev [11] 0xb93:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3149 ; DW_AT_abstract_origin - .quad .Ltmp106 ; DW_AT_low_pc - .long .Ltmp107-.Ltmp106 ; DW_AT_high_pc - .byte 15 ; DW_AT_call_file - .byte 180 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 11 ; Abbrev [11] 0xba7:0x13 DW_TAG_inlined_subroutine - .long .debug_info+3155 ; DW_AT_abstract_origin - .quad .Ltmp107 ; DW_AT_low_pc - .long .Ltmp108-.Ltmp107 ; DW_AT_high_pc - .byte 28 ; DW_AT_call_file - .byte 115 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 4 ; Abbrev [4] 0xbbd:0x4f DW_TAG_inlined_subroutine - .long 354 ; DW_AT_abstract_origin - .quad .Ltmp90 ; DW_AT_low_pc - .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc - .byte 13 ; DW_AT_call_file - .byte 92 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0xbd0:0x3b DW_TAG_inlined_subroutine - .long 348 ; DW_AT_abstract_origin - .quad .Ltmp90 ; DW_AT_low_pc - .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc - .byte 29 ; DW_AT_call_file - .byte 88 ; DW_AT_call_line - .byte 4 ; Abbrev [4] 0xbe3:0x27 DW_TAG_inlined_subroutine - .long 210 ; DW_AT_abstract_origin - .quad .Ltmp90 ; DW_AT_low_pc - .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 8 ; Abbrev [8] 0xbf6:0x13 DW_TAG_inlined_subroutine - .long 204 ; DW_AT_abstract_origin - .quad .Ltmp90 ; DW_AT_low_pc - .long .Ltmp91-.Ltmp90 ; DW_AT_high_pc - .byte 1 ; DW_AT_call_file - .byte 0 ; DW_AT_call_line - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark - .byte 0 ; End Of Children Mark -.Ldebug_info_end0: -.Lcu_begin1: - .long .Ldebug_info_end1-.Ldebug_info_start1 ; Length of Unit -.Ldebug_info_start1: - .short 4 ; DWARF version number - .long .debug_abbrev ; Offset Into Abbrev. Section - .byte 8 ; Address Size (in bytes) - .byte 15 ; Abbrev [15] 0xb:0x3e DW_TAG_compile_unit - .long .Linfo_string0 ; DW_AT_producer - .short 31 ; DW_AT_language - .long .Linfo_string0 ; DW_AT_name - .long .Lline_table_start0 ; DW_AT_stmt_list - .long .Linfo_string1 ; DW_AT_comp_dir - .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x24:0x6 DW_TAG_subprogram - .long .Linfo_string21 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x2a:0x6 DW_TAG_subprogram - .long .Linfo_string52 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x30:0x6 DW_TAG_subprogram - .long .Linfo_string53 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x36:0x6 DW_TAG_subprogram - .long .Linfo_string54 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x3c:0x6 DW_TAG_subprogram - .long .Linfo_string47 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 2 ; Abbrev [2] 0x42:0x6 DW_TAG_subprogram - .long .Linfo_string56 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 0 ; End Of Children Mark -.Ldebug_info_end1: -.Lcu_begin2: - .long .Ldebug_info_end2-.Ldebug_info_start2 ; Length of Unit -.Ldebug_info_start2: - .short 4 ; DWARF version number - .long .debug_abbrev ; Offset Into Abbrev. Section - .byte 8 ; Address Size (in bytes) - .byte 15 ; Abbrev [15] 0xb:0x1a DW_TAG_compile_unit - .long .Linfo_string0 ; DW_AT_producer - .short 31 ; DW_AT_language - .long .Linfo_string0 ; DW_AT_name - .long .Lline_table_start0 ; DW_AT_stmt_list - .long .Linfo_string1 ; DW_AT_comp_dir - .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram - .long .Linfo_string55 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 0 ; End Of Children Mark -.Ldebug_info_end2: -.Lcu_begin3: - .long .Ldebug_info_end3-.Ldebug_info_start3 ; Length of Unit -.Ldebug_info_start3: - .short 4 ; DWARF version number - .long .debug_abbrev ; Offset Into Abbrev. Section - .byte 8 ; Address Size (in bytes) - .byte 15 ; Abbrev [15] 0xb:0x1a DW_TAG_compile_unit - .long .Linfo_string0 ; DW_AT_producer - .short 31 ; DW_AT_language - .long .Linfo_string0 ; DW_AT_name - .long .Lline_table_start0 ; DW_AT_stmt_list - .long .Linfo_string1 ; DW_AT_comp_dir - .byte 2 ; Abbrev [2] 0x1e:0x6 DW_TAG_subprogram - .long .Linfo_string57 ; DW_AT_name - .byte 1 ; DW_AT_inline - .byte 0 ; End Of Children Mark -.Ldebug_info_end3: - .section .debug_ranges -.Ldebug_ranges0: - .quad .Ltmp0-.Lfunc_begin0 - .quad .Ltmp4-.Lfunc_begin0 - .quad .Ltmp5-.Lfunc_begin0 - .quad .Ltmp6-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges1: - .quad .Ltmp10-.Lfunc_begin0 - .quad .Ltmp15-.Lfunc_begin0 - .quad .Ltmp91-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges2: - .quad .Ltmp10-.Lfunc_begin0 - .quad .Ltmp13-.Lfunc_begin0 - .quad .Ltmp91-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges3: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp85-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges4: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp46-.Lfunc_begin0 - .quad .Ltmp47-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges5: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges6: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges7: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges8: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges9: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges10: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges11: - .quad .Ltmp16-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges12: - .quad .Ltmp17-.Lfunc_begin0 - .quad .Ltmp20-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges13: - .quad .Ltmp17-.Lfunc_begin0 - .quad .Ltmp20-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges14: - .quad .Ltmp17-.Lfunc_begin0 - .quad .Ltmp20-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges15: - .quad .Ltmp17-.Lfunc_begin0 - .quad .Ltmp20-.Lfunc_begin0 - .quad .Ltmp94-.Lfunc_begin0 - .quad .Ltmp98-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges16: - .quad .Ltmp20-.Lfunc_begin0 - .quad .Ltmp21-.Lfunc_begin0 - .quad .Ltmp33-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp37-.Lfunc_begin0 - .quad .Ltmp38-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges17: - .quad .Ltmp22-.Lfunc_begin0 - .quad .Ltmp23-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp27-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp31-.Lfunc_begin0 - .quad .Ltmp39-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges18: - .quad .Ltmp23-.Lfunc_begin0 - .quad .Ltmp24-.Lfunc_begin0 - .quad .Ltmp27-.Lfunc_begin0 - .quad .Ltmp28-.Lfunc_begin0 - .quad .Ltmp31-.Lfunc_begin0 - .quad .Ltmp32-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp36-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges19: - .quad .Ltmp24-.Lfunc_begin0 - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp28-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp32-.Lfunc_begin0 - .quad .Ltmp33-.Lfunc_begin0 - .quad .Ltmp36-.Lfunc_begin0 - .quad .Ltmp37-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp42-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges20: - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp46-.Lfunc_begin0 - .quad .Ltmp47-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges21: - .quad .Ltmp25-.Lfunc_begin0 - .quad .Ltmp26-.Lfunc_begin0 - .quad .Ltmp29-.Lfunc_begin0 - .quad .Ltmp30-.Lfunc_begin0 - .quad .Ltmp34-.Lfunc_begin0 - .quad .Ltmp35-.Lfunc_begin0 - .quad .Ltmp40-.Lfunc_begin0 - .quad .Ltmp41-.Lfunc_begin0 - .quad .Ltmp46-.Lfunc_begin0 - .quad .Ltmp47-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges22: - .quad .Ltmp45-.Lfunc_begin0 - .quad .Ltmp46-.Lfunc_begin0 - .quad .Ltmp47-.Lfunc_begin0 - .quad .Ltmp48-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges23: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp84-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges24: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges25: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges26: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges27: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges28: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges29: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges30: - .quad .Ltmp55-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges31: - .quad .Ltmp56-.Lfunc_begin0 - .quad .Ltmp59-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges32: - .quad .Ltmp56-.Lfunc_begin0 - .quad .Ltmp59-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges33: - .quad .Ltmp56-.Lfunc_begin0 - .quad .Ltmp59-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges34: - .quad .Ltmp56-.Lfunc_begin0 - .quad .Ltmp59-.Lfunc_begin0 - .quad .Ltmp101-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges35: - .quad .Ltmp60-.Lfunc_begin0 - .quad .Ltmp61-.Lfunc_begin0 - .quad .Ltmp75-.Lfunc_begin0 - .quad .Ltmp76-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges36: - .quad .Ltmp61-.Lfunc_begin0 - .quad .Ltmp62-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp67-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp72-.Lfunc_begin0 - .quad .Ltmp76-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges37: - .quad .Ltmp61-.Lfunc_begin0 - .quad .Ltmp62-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp67-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp72-.Lfunc_begin0 - .quad .Ltmp76-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges38: - .quad .Ltmp62-.Lfunc_begin0 - .quad .Ltmp63-.Lfunc_begin0 - .quad .Ltmp67-.Lfunc_begin0 - .quad .Ltmp68-.Lfunc_begin0 - .quad .Ltmp72-.Lfunc_begin0 - .quad .Ltmp73-.Lfunc_begin0 - .quad .Ltmp79-.Lfunc_begin0 - .quad .Ltmp80-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges39: - .quad .Ltmp63-.Lfunc_begin0 - .quad .Ltmp64-.Lfunc_begin0 - .quad .Ltmp68-.Lfunc_begin0 - .quad .Ltmp69-.Lfunc_begin0 - .quad .Ltmp73-.Lfunc_begin0 - .quad .Ltmp74-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp79-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges40: - .quad .Ltmp64-.Lfunc_begin0 - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp69-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp74-.Lfunc_begin0 - .quad .Ltmp75-.Lfunc_begin0 - .quad .Ltmp80-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges41: - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp84-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges42: - .quad .Ltmp65-.Lfunc_begin0 - .quad .Ltmp66-.Lfunc_begin0 - .quad .Ltmp70-.Lfunc_begin0 - .quad .Ltmp71-.Lfunc_begin0 - .quad .Ltmp77-.Lfunc_begin0 - .quad .Ltmp78-.Lfunc_begin0 - .quad .Ltmp81-.Lfunc_begin0 - .quad .Ltmp82-.Lfunc_begin0 - .quad .Ltmp83-.Lfunc_begin0 - .quad .Ltmp84-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges43: - .quad .Ltmp88-.Lfunc_begin0 - .quad .Ltmp91-.Lfunc_begin0 - .quad .Ltmp99-.Lfunc_begin0 - .quad .Ltmp100-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad .Ltmp108-.Lfunc_begin0 - .quad 0 - .quad 0 -.Ldebug_ranges44: - .quad .Ltmp88-.Lfunc_begin0 - .quad .Ltmp89-.Lfunc_begin0 - .quad .Ltmp99-.Lfunc_begin0 - .quad .Ltmp100-.Lfunc_begin0 - .quad .Ltmp105-.Lfunc_begin0 - .quad .Ltmp108-.Lfunc_begin0 - .quad 0 - .quad 0 - .section .debug_str,"MS",@progbits,1 -.Linfo_string0: - .asciz "julia" ; string offset=0 -.Linfo_string1: - .asciz "." ; string offset=6 -.Linfo_string2: - .asciz "+;" ; string offset=8 -.Linfo_string3: - .asciz "workitemIdx_x;" ; string offset=11 -.Linfo_string4: - .asciz "threadIdx_x;" ; string offset=26 -.Linfo_string5: - .asciz "threadIdx;" ; string offset=39 -.Linfo_string6: - .asciz "#__validindex;" ; string offset=50 -.Linfo_string7: - .asciz "gpu_groupreduce_1!;" ; string offset=65 -.Linfo_string8: - .asciz "toInt64;" ; string offset=85 -.Linfo_string9: - .asciz "Int64;" ; string offset=94 -.Linfo_string10: - .asciz "convert;" ; string offset=101 -.Linfo_string11: - .asciz "to_index;" ; string offset=110 -.Linfo_string12: - .asciz "to_indices;" ; string offset=120 -.Linfo_string13: - .asciz "getindex;" ; string offset=132 -.Linfo_string14: - .asciz "expand;" ; string offset=142 -.Linfo_string15: - .asciz "*;" ; string offset=150 -.Linfo_string16: - .asciz "#1;" ; string offset=153 -.Linfo_string17: - .asciz "ntuple;" ; string offset=157 -.Linfo_string18: - .asciz "<=;" ; string offset=165 -.Linfo_string19: - .asciz "in;" ; string offset=169 -.Linfo_string20: - .asciz "map;" ; string offset=173 -.Linfo_string21: - .asciz "macro expansion;" ; string offset=178 -.Linfo_string22: - .asciz "<;" ; string offset=195 -.Linfo_string23: - .asciz ">;" ; string offset=198 -.Linfo_string24: - .asciz "-;" ; string offset=201 -.Linfo_string25: - .asciz "checkindex;" ; string offset=204 -.Linfo_string26: - .asciz "checkbounds;" ; string offset=216 -.Linfo_string27: - .asciz "#getindex;" ; string offset=229 -.Linfo_string28: - .asciz "pointerref;" ; string offset=240 -.Linfo_string29: - .asciz "unsafe_load;" ; string offset=252 -.Linfo_string30: - .asciz "activelane;" ; string offset=265 -.Linfo_string31: - .asciz "shfl_down;" ; string offset=277 -.Linfo_string32: - .asciz "#19;" ; string offset=288 -.Linfo_string33: - .asciz "_shfl;" ; string offset=293 -.Linfo_string34: - .asciz "__warp_reduce;" ; string offset=300 -.Linfo_string35: - .asciz "__warp_groupreduce;" ; string offset=315 -.Linfo_string36: - .asciz "check_sign_bit;" ; string offset=335 -.Linfo_string37: - .asciz "toInt32;" ; string offset=351 -.Linfo_string38: - .asciz "Int32;" ; string offset=360 -.Linfo_string39: - .asciz "is_top_bit_set;" ; string offset=367 -.Linfo_string40: - .asciz "ifelse;" ; string offset=383 -.Linfo_string41: - .asciz "<<;" ; string offset=391 -.Linfo_string42: - .asciz "bpermute;" ; string offset=395 -.Linfo_string43: - .asciz ">=;" ; string offset=405 -.Linfo_string44: - .asciz "rem;" ; string offset=409 -.Linfo_string45: - .asciz "==;" ; string offset=414 -.Linfo_string46: - .asciz "pointerset;" ; string offset=418 -.Linfo_string47: - .asciz "unsafe_store!;" ; string offset=430 -.Linfo_string48: - .asciz "#setindex!;" ; string offset=445 -.Linfo_string49: - .asciz "sync_workgroup;" ; string offset=457 -.Linfo_string50: - .asciz "#__synchronize;" ; string offset=473 -.Linfo_string51: - .asciz "&;" ; string offset=489 -.Linfo_string52: - .asciz "kernel_state;" ; string offset=492 -.Linfo_string53: - .asciz "exception_flag;" ; string offset=506 -.Linfo_string54: - .asciz "signal_exception" ; string offset=522 -.Linfo_string55: - .asciz "#throw_boundserror" ; string offset=539 -.Linfo_string56: - .asciz "endpgm;" ; string offset=558 -.Linfo_string57: - .asciz "#throw_inexacterror" ; string offset=566 -.Linfo_string58: - .asciz "gpu_groupreduce_1!" ; string offset=586 - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .ident "clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)" - .section ".note.GNU-stack" - .amdgpu_metadata ---- -amdhsa.kernels: - - .args: - - .name: state - .offset: 0 - .size: 88 - .value_kind: by_value - - .offset: 88 - .size: 16 - .value_kind: by_value - - .offset: 104 - .size: 24 - .value_kind: by_value - - .offset: 128 - .size: 24 - .value_kind: by_value - - .offset: 152 - .size: 4 - .value_kind: by_value - .group_segment_fixed_size: 256 - .kernarg_segment_align: 8 - .kernarg_segment_size: 156 - .language: OpenCL C - .language_version: - - 2 - - 0 - .max_flat_workgroup_size: 1024 - .name: _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_ - .private_segment_fixed_size: 0 - .sgpr_count: 18 - .sgpr_spill_count: 0 - .symbol: _Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_.kd - .vgpr_count: 9 - .vgpr_spill_count: 0 - .wavefront_size: 32 -amdhsa.target: amdgcn-amd-amdhsa--gfx1100 -amdhsa.version: - - 1 - - 1 -... - - .end_amdgpu_metadata - .section .debug_line -.Lline_table_start0: diff --git a/devcode/gpu_groupreduce_1!_1.lowered.jl b/devcode/gpu_groupreduce_1!_1.lowered.jl deleted file mode 100644 index d4f7d6c6a..000000000 --- a/devcode/gpu_groupreduce_1!_1.lowered.jl +++ /dev/null @@ -1,52 +0,0 @@ -CodeInfo( -1 ─ x@_11 = x@_4 -│ Core.NewvarNode(:(res)) -│ Core.NewvarNode(:(nx)) -│ Core.NewvarNode(:(val)) -│ Core.NewvarNode(:(i)) -│ %6 = (KernelAbstractions.__validindex)(__ctx__) -└── goto #7 if not %6 -2 ─ i = KernelAbstractions.__index_Global_Linear(__ctx__) -│ %9 = Main.:> -│ %10 = i -│ %11 = Main.length -│ %12 = x@_11 -│ %13 = (%11)(%12) -│ %14 = (%9)(%10, %13) -└── goto #4 if not %14 -3 ─ %16 = neutral -│ @_12 = %16 -└── goto #5 -4 ─ %19 = x@_11 -│ %20 = i -└── @_12 = Base.getindex(%19, %20) -5 ┄ %22 = @_12 -│ val = %22 -│ %24 = val -│ %25 = val -│ x@_11 = Main.A(%24, %25) -│ nx = Main.A(neutral, neutral) -│ %28 = KernelAbstractions.__warp_groupreduce -│ %29 = x@_11 -│ %30 = nx -│ %31 = KernelAbstractions.Val -│ %32 = KernelAbstractions.prod -│ %33 = (KernelAbstractions.groupsize)(__ctx__) -│ %34 = (%32)(%33) -│ %35 = (%31)(%34) -│ res = (%28)(__ctx__, op, %29, %30, %35) -│ %37 = Main.:(==) -│ %38 = i -│ %39 = (%37)(%38, 1) -└── goto #7 if not %39 -6 ─ %41 = Main.:+ -│ %42 = res -│ %43 = Base.getproperty(%42, :x) -│ %44 = res -│ %45 = Base.getproperty(%44, :y) -│ %46 = (%41)(%43, %45) -│ Base.setindex!(y, %46, 1) -└── goto #7 -7 ┄ %49 = Main.nothing -└── return %49 -) diff --git a/devcode/gpu_groupreduce_1!_1.opt.ll b/devcode/gpu_groupreduce_1!_1.opt.ll deleted file mode 100644 index 07572e012..000000000 --- a/devcode/gpu_groupreduce_1!_1.opt.ll +++ /dev/null @@ -1,1142 +0,0 @@ -; ModuleID = 'start' -source_filename = "start" -target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32: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:10:11:12:13" -target triple = "amdgcn-amd-amdhsa" - -@"alloc_special_##static_shmem#231" = external local_unnamed_addr addrspace(3) global [32 x [2 x float]], align 32 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.wavefrontsize() #0 - -; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) -declare i32 @llvm.amdgcn.ds.bpermute(i32, i32) #1 - -; Function Attrs: convergent nocallback nofree nounwind willreturn -declare void @llvm.amdgcn.s.barrier() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workgroup.id.x() #0 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workitem.id.x() #0 - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) -declare void @llvm.assume(i1 noundef) #3 - -; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(read) -declare i32 @llvm.read_register.i32(metadata) #4 - -; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) -declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #5 - -; Function Attrs: cold nocallback nofree noreturn nounwind -declare void @llvm.amdgcn.endpgm() #6 - -; @ none within `gpu_groupreduce_1!` -define amdgpu_kernel void @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_({ i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } %2, float %3) local_unnamed_addr #7 !dbg !44 { -conversion: - %.fca.0.0.0.0.extract = extractvalue { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, 0, 0, 0, 0 - %.fca.1.0.0.0.0.extract = extractvalue { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, 1, 0, 0, 0, 0 - %.fca.0.0.extract41 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %1, 0, 0 - %.fca.1.extract43 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %1, 1 - %.fca.0.0.extract = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 0, 0 - %.fca.1.extract39 = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 1 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %4 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !48, !range !69 -; │└└└└└ -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %5 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !70, !range !79 -; ││││└└ -; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %6 = add nuw nsw i32 %5, 1, !dbg !80 -; │└└└└ -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -; │││┌ @ ntuple.jl:48 within `ntuple` -; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -; │││││┌ @ operators.jl:379 within `>` -; ││││││┌ @ int.jl:83 within `<` - %7 = icmp sgt i64 %.fca.1.0.0.0.0.extract, 0, !dbg !84 -; │││││└└ -; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` - call void @llvm.assume(i1 %7), !dbg !99 -; ││└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -; ││┌ @ abstractarray.jl:1312 within `getindex` -; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -; │││││┌ @ number.jl:7 within `convert` -; ││││││┌ @ boot.jl:892 within `Int64` -; │││││││┌ @ boot.jl:816 within `toInt64` - %8 = zext i32 %6 to i64, !dbg !101 -; ││└└└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 -; ││┌ @ ntuple.jl:48 within `ntuple` -; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` -; ││││┌ @ int.jl:86 within `-` - %9 = zext i32 %4 to i64, !dbg !120 -; ││││└ -; ││││┌ @ int.jl:88 within `*` - %10 = shl nuw nsw i64 %9, 8, !dbg !126 -; ││││└ -; ││││┌ @ int.jl:87 within `+` - %11 = add nuw nsw i64 %10, %8, !dbg !128 -; │└└└└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` -; │┌ @ multidimensional.jl:477 within `in` -; ││┌ @ tuple.jl:382 within `map` -; │││┌ @ range.jl:1426 within `in` -; ││││┌ @ int.jl:514 within `<=` - %.not = icmp sgt i64 %11, %.fca.0.0.0.0.extract, !dbg !129 -; └└└└└ - br i1 %.not, label %L550, label %L110, !dbg !65 - -L110: ; preds = %conversion - %.fca.2.extract = extractvalue { [1 x i64], i8 addrspace(1)*, i64 } %2, 2 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` -; │┌ @ operators.jl:379 within `>` -; ││┌ @ int.jl:83 within `<` - %.not223 = icmp slt i64 %.fca.2.extract, %11, !dbg !141 -; │└└ - br i1 %.not223, label %L256, label %L237, !dbg !143 - -L237: ; preds = %L110 -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` -; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -; │││┌ @ abstractarray.jl:754 within `checkindex` -; ││││┌ @ int.jl:86 within `-` - %12 = add nsw i64 %11, -1, !dbg !147 -; ││││└ -; ││││┌ @ int.jl:513 within `<` - %.not252 = icmp ult i64 %12, %.fca.0.0.extract, !dbg !156 -; │││└└ -; │││ @ abstractarray.jl:699 within `checkbounds` - br i1 %.not252, label %L250, label %L247, !dbg !152 - -L247: ; preds = %L237 -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` -; ││││││┌ @ none within `kernel_state` -; │││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %state.i.fca.0.extract.i = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !157 -; │││││└└└ -; │││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 - %13 = inttoptr i64 %state.i.fca.0.extract.i to i32*, !dbg !172 - store i32 1, i32* %13, align 1, !dbg !172 -; │││││└ -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` - call void @llvm.amdgcn.endpgm(), !dbg !176 -; │││││└ -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` - unreachable, !dbg !180 - -L250: ; preds = %L237 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` -; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -; │││┌ @ none within `pointerref` -; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %14 = bitcast i8 addrspace(1)* %.fca.1.extract39 to float addrspace(1)*, !dbg !181 - %15 = getelementptr inbounds float, float addrspace(1)* %14, i64 %12, !dbg !181 - %16 = load float, float addrspace(1)* %15, align 4, !dbg !181, !tbaa !190 - br label %L256, !dbg !181 - -L256: ; preds = %L250, %L110 - %value_phi = phi float [ %16, %L250 ], [ %3, %L110 ] -; │└└└└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` -; ││┌ @ int.jl:298 within `rem` - %17 = and i32 %5, 31, !dbg !193 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` -; ││┌ @ int.jl:297 within `div` - %18 = lshr i32 %5, 5, !dbg !199 - %19 = call i32 @llvm.amdgcn.wavefrontsize() - %20 = add i32 %19, -1 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %21 = call i32 @llvm.read_register.i32(metadata !202) #8, !dbg !203 - %22 = call i32 @llvm.amdgcn.mbcnt.lo(i32 %21, i32 0), !dbg !203 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %.not225 = icmp sgt i32 %22, -1, !dbg !221 -; │││││││││││└ - br i1 %.not225, label %L306, label %L292, !dbg !223 - -L292: ; preds = %L256 -; │││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` -; ││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` -; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` -; ││││││││││││││┌ @ none within `kernel_state` -; │││││││││││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %state.i.fca.0.extract.i95 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !230 -; │││││││││││││└└└ -; │││││││││││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 - %23 = inttoptr i64 %state.i.fca.0.extract.i95 to i32*, !dbg !238 - store i32 1, i32* %23, align 1, !dbg !238 -; │││││││││││││└ -; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` -; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` - call void @llvm.amdgcn.endpgm(), !dbg !240 -; │││││││││││││└ -; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` - unreachable, !dbg !242 - -L306: ; preds = %L256 -; │││││└└└└└└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %24 = bitcast float %value_phi to i32, !dbg !243 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `&` @ int.jl:347 - %25 = and i32 %22, %20, !dbg !246 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %26 = add nuw i32 %25, 16, !dbg !250 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not227 = icmp ugt i32 %19, %26, !dbg !251 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %27 = select i1 %.not227, i32 16, i32 0, !dbg !254 - %28 = add nuw i32 %27, %22, !dbg !254 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %29 = shl i32 %28, 2, !dbg !256 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %30 = call i32 @llvm.amdgcn.ds.bpermute(i32 %29, i32 %24), !dbg !259 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %31 = bitcast i32 %30 to float, !dbg !243 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %32 = fadd float %value_phi, %31, !dbg !261 -; │││└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %33 = bitcast float %32 to i32, !dbg !243 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %34 = add nuw i32 %25, 8, !dbg !250 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not227.1 = icmp ugt i32 %19, %34, !dbg !251 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %35 = select i1 %.not227.1, i32 8, i32 0, !dbg !254 - %36 = add nuw i32 %35, %22, !dbg !254 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %37 = shl i32 %36, 2, !dbg !256 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %38 = call i32 @llvm.amdgcn.ds.bpermute(i32 %37, i32 %33), !dbg !259 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %39 = bitcast i32 %38 to float, !dbg !243 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %40 = fadd float %32, %39, !dbg !261 -; │││└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %41 = bitcast float %40 to i32, !dbg !243 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %42 = add nuw i32 %25, 4, !dbg !250 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not227.2 = icmp ugt i32 %19, %42, !dbg !251 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %43 = select i1 %.not227.2, i32 4, i32 0, !dbg !254 - %44 = add nuw i32 %43, %22, !dbg !254 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %45 = shl i32 %44, 2, !dbg !256 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %46 = call i32 @llvm.amdgcn.ds.bpermute(i32 %45, i32 %41), !dbg !259 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %47 = bitcast i32 %46 to float, !dbg !243 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %48 = fadd float %40, %47, !dbg !261 -; │││└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %49 = bitcast float %48 to i32, !dbg !243 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %50 = add nuw i32 %25, 2, !dbg !250 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not227.3 = icmp ugt i32 %19, %50, !dbg !251 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %51 = select i1 %.not227.3, i32 2, i32 0, !dbg !254 - %52 = add nuw i32 %51, %22, !dbg !254 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %53 = shl i32 %52, 2, !dbg !256 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %54 = call i32 @llvm.amdgcn.ds.bpermute(i32 %53, i32 %49), !dbg !259 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %55 = bitcast i32 %54 to float, !dbg !243 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %56 = fadd float %48, %55, !dbg !261 -; │││└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %57 = bitcast float %56 to i32, !dbg !243 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %58 = add nuw i32 %25, 1, !dbg !250 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not227.4 = icmp ugt i32 %19, %58, !dbg !251 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %59 = zext i1 %.not227.4 to i32, !dbg !254 - %60 = add nuw i32 %22, %59, !dbg !254 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %61 = shl i32 %60, 2, !dbg !256 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %62 = call i32 @llvm.amdgcn.ds.bpermute(i32 %61, i32 %57), !dbg !259 -; ││└└└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` -; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 - %.not231 = icmp eq i32 %17, 0, !dbg !266 -; ││└ - br i1 %.not231, label %L389, label %L395, !dbg !270 - -L389: ; preds = %L306 -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %63 = bitcast i32 %62 to float, !dbg !243 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %64 = fadd float %56, %63, !dbg !261 -; ││└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` -; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` -; ││││┌ @ none within `pointerset` -; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %.repack = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %18, i32 0, !dbg !271 - store float %64, float addrspace(3)* %.repack, align 8, !dbg !271, !tbaa !279 - %.repack232 = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %18, i32 1, !dbg !271 - store float %64, float addrspace(3)* %.repack232, align 4, !dbg !271, !tbaa !279 -; │││└└└ -; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` - br label %L395, !dbg !281 - -L395: ; preds = %L389, %L306 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` - call void @llvm.amdgcn.s.barrier(), !dbg !282 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` -; ││┌ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 - %65 = icmp ugt i32 %5, 7, !dbg !291 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` - br i1 %65, label %guard_pass41, label %guard_pass37, !dbg !296 - -L422: ; preds = %guard_pass41, %guard_pass37 - %.sroa.6.0437 = phi i32 [ %134, %guard_pass41 ], [ %.unpack235439, %guard_pass37 ] - %.sroa.0426.0 = phi i32 [ %134, %guard_pass41 ], [ %.unpack438, %guard_pass37 ] -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 - %66 = icmp ugt i32 %5, 31, !dbg !297 -; ││└ - %67 = bitcast i32 %.sroa.0426.0 to float, !dbg !299 - %68 = bitcast i32 %.sroa.6.0437 to float, !dbg !299 - br i1 %66, label %L522, label %guard_exit46, !dbg !299 - -L438: ; preds = %guard_exit46 -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` -; ││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` -; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` -; ││││││││││││││┌ @ none within `kernel_state` -; │││││││││││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %state.i.fca.0.extract.i155 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !300 -; │││││││││││││└└└ -; │││││││││││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 - %69 = inttoptr i64 %state.i.fca.0.extract.i155 to i32*, !dbg !318 - store i32 1, i32* %69, align 1, !dbg !318 -; │││││││││││││└ -; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` -; │││││││││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` - call void @llvm.amdgcn.endpgm(), !dbg !320 -; │││││││││││││└ -; │││││││││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` - unreachable, !dbg !322 - -L452: ; preds = %guard_exit46 -; │││││││└└└└└└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `&` @ int.jl:347 - %70 = and i32 %136, %20, !dbg !323 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %71 = add nuw i32 %70, 16, !dbg !326 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not243 = icmp ugt i32 %19, %71, !dbg !327 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %72 = select i1 %.not243, i32 16, i32 0, !dbg !329 - %73 = add nuw i32 %72, %136, !dbg !329 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %74 = shl i32 %73, 2, !dbg !330 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %75 = call i32 @llvm.amdgcn.ds.bpermute(i32 %74, i32 %.sroa.0426.0), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %76 = bitcast i32 %75 to float, !dbg !333 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %77 = call i32 @llvm.amdgcn.ds.bpermute(i32 %74, i32 %.sroa.6.0437), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %78 = bitcast i32 %77 to float, !dbg !333 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %79 = fadd float %76, %67, !dbg !334 - %80 = fadd float %78, %68, !dbg !334 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %81 = bitcast float %79 to i32, !dbg !336 - %82 = bitcast float %80 to i32, !dbg !336 -; │││└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %83 = add nuw i32 %70, 8, !dbg !326 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not243.1 = icmp ugt i32 %19, %83, !dbg !327 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %84 = select i1 %.not243.1, i32 8, i32 0, !dbg !329 - %85 = add nuw i32 %84, %136, !dbg !329 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %86 = shl i32 %85, 2, !dbg !330 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %87 = call i32 @llvm.amdgcn.ds.bpermute(i32 %86, i32 %81), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %88 = bitcast i32 %87 to float, !dbg !333 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %89 = call i32 @llvm.amdgcn.ds.bpermute(i32 %86, i32 %82), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %90 = bitcast i32 %89 to float, !dbg !333 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %91 = fadd float %79, %88, !dbg !334 - %92 = fadd float %80, %90, !dbg !334 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %93 = bitcast float %91 to i32, !dbg !336 - %94 = bitcast float %92 to i32, !dbg !336 -; │││└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %95 = add nuw i32 %70, 4, !dbg !326 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not243.2 = icmp ugt i32 %19, %95, !dbg !327 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %96 = select i1 %.not243.2, i32 4, i32 0, !dbg !329 - %97 = add nuw i32 %96, %136, !dbg !329 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %98 = shl i32 %97, 2, !dbg !330 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %99 = call i32 @llvm.amdgcn.ds.bpermute(i32 %98, i32 %93), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %100 = bitcast i32 %99 to float, !dbg !333 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %101 = call i32 @llvm.amdgcn.ds.bpermute(i32 %98, i32 %94), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %102 = bitcast i32 %101 to float, !dbg !333 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %103 = fadd float %91, %100, !dbg !334 - %104 = fadd float %92, %102, !dbg !334 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %105 = bitcast float %103 to i32, !dbg !336 - %106 = bitcast float %104 to i32, !dbg !336 -; │││└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %107 = add nuw i32 %70, 2, !dbg !326 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not243.3 = icmp ugt i32 %19, %107, !dbg !327 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %108 = select i1 %.not243.3, i32 2, i32 0, !dbg !329 - %109 = add nuw i32 %108, %136, !dbg !329 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %110 = shl i32 %109, 2, !dbg !330 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %111 = call i32 @llvm.amdgcn.ds.bpermute(i32 %110, i32 %105), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %112 = bitcast i32 %111 to float, !dbg !333 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %113 = call i32 @llvm.amdgcn.ds.bpermute(i32 %110, i32 %106), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %114 = bitcast i32 %113 to float, !dbg !333 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %115 = fadd float %103, %112, !dbg !334 - %116 = fadd float %104, %114, !dbg !334 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %117 = bitcast float %115 to i32, !dbg !336 - %118 = bitcast float %116 to i32, !dbg !336 -; │││└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:87 within `+` - %119 = add nuw i32 %70, 1, !dbg !326 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %.not243.4 = icmp ugt i32 %19, %119, !dbg !327 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %120 = zext i1 %.not243.4 to i32, !dbg !329 - %121 = add nuw i32 %136, %120, !dbg !329 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %122 = shl i32 %121, 2, !dbg !330 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %123 = call i32 @llvm.amdgcn.ds.bpermute(i32 %122, i32 %117), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %124 = bitcast i32 %123 to float, !dbg !333 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %125 = call i32 @llvm.amdgcn.ds.bpermute(i32 %122, i32 %118), !dbg !332 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %126 = bitcast i32 %125 to float, !dbg !333 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %127 = fadd float %115, %124, !dbg !334 - %128 = fadd float %116, %126, !dbg !334 - br label %L522 - -L522: ; preds = %L452, %L422 - %.sroa.6.0 = phi float [ %128, %L452 ], [ %68, %L422 ] - %.sroa.05.0 = phi float [ %127, %L452 ], [ %67, %L422 ] -; │└└└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` -; │┌ @ promotion.jl:639 within `==` - %.not248 = icmp eq i64 %11, 1, !dbg !338 -; │└ - br i1 %.not248, label %L526, label %L550, !dbg !339 - -L526: ; preds = %L522 -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` -; ││┌ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -; │││┌ @ abstractarray.jl:754 within `checkindex` -; ││││┌ @ int.jl:513 within `<` - %.not249 = icmp eq i64 %.fca.0.0.extract41, 0, !dbg !340 -; │││└└ -; │││ @ abstractarray.jl:699 within `checkbounds` - br i1 %.not249, label %L541, label %L544, !dbg !343 - -L541: ; preds = %L526 -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` -; ││││││┌ @ none within `kernel_state` -; │││││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %state.i.fca.0.extract.i80 = extractvalue { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state, 0, !dbg !345 -; │││││└└└ -; │││││┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 - %129 = inttoptr i64 %state.i.fca.0.extract.i80 to i32*, !dbg !352 - store i32 1, i32* %129, align 1, !dbg !352 -; │││││└ -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` - call void @llvm.amdgcn.endpgm(), !dbg !354 -; │││││└ -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` - unreachable, !dbg !356 - -L544: ; preds = %L526 -; │└└└└ -; │┌ @ float.jl:491 within `+` - %130 = fadd float %.sroa.6.0, %.sroa.05.0, !dbg !357 -; │└ -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` -; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` -; │││┌ @ none within `pointerset` -; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %131 = bitcast i8 addrspace(1)* %.fca.1.extract43 to float addrspace(1)*, !dbg !358 - store float %130, float addrspace(1)* %131, align 4, !dbg !358, !tbaa !190 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` - br label %L550, !dbg !363 - -L550: ; preds = %L544, %L522, %conversion -; └└ -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 - ret void, !dbg !364 - -guard_pass37: ; preds = %L395 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` -; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -; ││││┌ @ none within `pointerref` -; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %.elt234 = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %17, i32 1, !dbg !365 - %132 = bitcast float addrspace(3)* %.elt234 to i32 addrspace(3)*, !dbg !365 - %.unpack235439 = load i32, i32 addrspace(3)* %132, align 4, !dbg !365, !tbaa !279 - %.elt = getelementptr inbounds [32 x [2 x float]], [32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231", i32 0, i32 %17, i32 0, !dbg !365 - %133 = bitcast float addrspace(3)* %.elt to i32 addrspace(3)*, !dbg !365 - %.unpack438 = load i32, i32 addrspace(3)* %133, align 8, !dbg !365, !tbaa !279 - br label %L422 - -guard_pass41: ; preds = %L395 -; └└└└└└ -; @ none within `gpu_groupreduce_1!` - %134 = bitcast float %3 to i32, !dbg !68 - br label %L422 - -guard_exit46: ; preds = %L422 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %135 = call i32 @llvm.read_register.i32(metadata !202) #8, !dbg !370 - %136 = call i32 @llvm.amdgcn.mbcnt.lo(i32 %135, i32 0), !dbg !370 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %.not241 = icmp sgt i32 %136, -1, !dbg !371 -; │││││││││││└ - br i1 %.not241, label %L452, label %L438, !dbg !372 -; └└└└└└└└└└└ -} - -attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } -attributes #1 = { convergent nocallback nofree nounwind willreturn memory(none) } -attributes #2 = { convergent nocallback nofree nounwind willreturn } -attributes #3 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } -attributes #4 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(read) } -attributes #5 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(none) } -attributes #6 = { cold nocallback nofree noreturn nounwind } -attributes #7 = { "amdgpu-unsafe-fp-atomics"="true" "target-cpu"="gfx1100" "target-features"="+wavefrontsize32,-wavefrontsize64" } -attributes #8 = { convergent } - -!llvm.module.flags = !{!0, !1, !2, !3} -!llvm.dbg.cu = !{!4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40} -!opencl.ocl.version = !{!41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41} -!llvm.ident = !{!42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42} -!julia.kernel = !{!43} - -!0 = !{i32 2, !"Dwarf Version", i32 4} -!1 = !{i32 2, !"Debug Info Version", i32 3} -!2 = !{i32 1, !"wchar_size", i32 4} -!3 = !{i32 8, !"PIC Level", i32 0} -!4 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!5 = !DIFile(filename: "julia", directory: ".") -!6 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!9 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!10 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!11 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!12 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!13 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!14 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!15 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!16 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!17 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!18 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!19 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!20 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!21 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!22 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!23 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!24 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!25 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!26 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!27 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!28 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!29 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!30 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!31 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!32 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!33 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!34 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!35 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!36 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!37 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!38 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!39 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!40 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!41 = !{i32 2, i32 0} -!42 = !{!"clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)"} -!43 = !{void ({ i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 }, float)* @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_} -!44 = distinct !DISubprogram(name: "gpu_groupreduce_1!", linkageName: "julia_gpu_groupreduce_1!_15079", scope: null, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!45 = !DIFile(filename: "none", directory: ".") -!46 = !DISubroutineType(types: !47) -!47 = !{} -!48 = !DILocation(line: 39, scope: !49, inlinedAt: !51) -!49 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !50, file: !50, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!50 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl", directory: ".") -!51 = !DILocation(line: 3, scope: !52, inlinedAt: !54) -!52 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!53 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl", directory: ".") -!54 = !DILocation(line: 3, scope: !55, inlinedAt: !56) -!55 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!56 = !DILocation(line: 93, scope: !57, inlinedAt: !58) -!57 = distinct !DISubprogram(name: "workgroupIdx_x;", linkageName: "workgroupIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!58 = !DILocation(line: 95, scope: !59, inlinedAt: !60) -!59 = distinct !DISubprogram(name: "blockIdx_x;", linkageName: "blockIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!60 = !DILocation(line: 172, scope: !61, inlinedAt: !62) -!61 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!62 = !DILocation(line: 141, scope: !63, inlinedAt: !65) -!63 = distinct !DISubprogram(name: "#__validindex;", linkageName: "#__validindex", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!64 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl", directory: ".") -!65 = !DILocation(line: 96, scope: !66, inlinedAt: !68) -!66 = distinct !DISubprogram(name: "gpu_groupreduce_1!;", linkageName: "gpu_groupreduce_1!", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!67 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl", directory: ".") -!68 = !DILocation(line: 0, scope: !44) -!69 = !{i32 0, i32 -2} -!70 = !DILocation(line: 39, scope: !49, inlinedAt: !71) -!71 = !DILocation(line: 3, scope: !52, inlinedAt: !72) -!72 = !DILocation(line: 3, scope: !55, inlinedAt: !73) -!73 = !DILocation(line: 87, scope: !74, inlinedAt: !75) -!74 = distinct !DISubprogram(name: "workitemIdx_x;", linkageName: "workitemIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!75 = !DILocation(line: 89, scope: !76, inlinedAt: !77) -!76 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!77 = !DILocation(line: 164, scope: !78, inlinedAt: !62) -!78 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !53, file: !53, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!79 = !{i32 0, i32 1023} -!80 = !DILocation(line: 87, scope: !81, inlinedAt: !83) -!81 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!82 = !DIFile(filename: "int.jl", directory: ".") -!83 = !DILocation(line: 1013, scope: !81, inlinedAt: !73) -!84 = !DILocation(line: 83, scope: !85, inlinedAt: !86) -!85 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!86 = !DILocation(line: 379, scope: !87, inlinedAt: !89) -!87 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !88, file: !88, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!88 = !DIFile(filename: "operators.jl", directory: ".") -!89 = !DILocation(line: 111, scope: !90, inlinedAt: !92) -!90 = distinct !DISubprogram(name: "#3;", linkageName: "#3", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!91 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl", directory: ".") -!92 = !DILocation(line: 48, scope: !93, inlinedAt: !95) -!93 = distinct !DISubprogram(name: "ntuple;", linkageName: "ntuple", scope: !94, file: !94, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!94 = !DIFile(filename: "ntuple.jl", directory: ".") -!95 = !DILocation(line: 108, scope: !96, inlinedAt: !97) -!96 = distinct !DISubprogram(name: "assume_nonzero;", linkageName: "assume_nonzero", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!97 = !DILocation(line: 119, scope: !98, inlinedAt: !62) -!98 = distinct !DISubprogram(name: "expand;", linkageName: "expand", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!99 = !DILocation(line: 91, scope: !100, inlinedAt: !89) -!100 = distinct !DISubprogram(name: "assume;", linkageName: "assume", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!101 = !DILocation(line: 816, scope: !102, inlinedAt: !104) -!102 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!103 = !DIFile(filename: "boot.jl", directory: ".") -!104 = !DILocation(line: 892, scope: !105, inlinedAt: !106) -!105 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!106 = !DILocation(line: 7, scope: !107, inlinedAt: !109) -!107 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !108, file: !108, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!108 = !DIFile(filename: "number.jl", directory: ".") -!109 = !DILocation(line: 307, scope: !110, inlinedAt: !112) -!110 = distinct !DISubprogram(name: "to_index;", linkageName: "to_index", scope: !111, file: !111, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!111 = !DIFile(filename: "indices.jl", directory: ".") -!112 = !DILocation(line: 292, scope: !110, inlinedAt: !113) -!113 = !DILocation(line: 368, scope: !114, inlinedAt: !115) -!114 = distinct !DISubprogram(name: "to_indices;", linkageName: "to_indices", scope: !111, file: !111, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!115 = !DILocation(line: 365, scope: !114, inlinedAt: !116) -!116 = !DILocation(line: 1312, scope: !117, inlinedAt: !119) -!117 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!118 = !DIFile(filename: "abstractarray.jl", directory: ".") -!119 = !DILocation(line: 121, scope: !98, inlinedAt: !62) -!120 = !DILocation(line: 86, scope: !121, inlinedAt: !122) -!121 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!122 = !DILocation(line: 79, scope: !123, inlinedAt: !124) -!123 = distinct !DISubprogram(name: "#1;", linkageName: "#1", scope: !91, file: !91, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!124 = !DILocation(line: 48, scope: !93, inlinedAt: !125) -!125 = !DILocation(line: 75, scope: !98, inlinedAt: !119) -!126 = !DILocation(line: 88, scope: !127, inlinedAt: !122) -!127 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!128 = !DILocation(line: 87, scope: !81, inlinedAt: !122) -!129 = !DILocation(line: 514, scope: !130, inlinedAt: !131) -!130 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!131 = !DILocation(line: 1426, scope: !132, inlinedAt: !134) -!132 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !133, file: !133, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!133 = !DIFile(filename: "range.jl", directory: ".") -!134 = !DILocation(line: 382, scope: !135, inlinedAt: !137) -!135 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !136, file: !136, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!136 = !DIFile(filename: "tuple.jl", directory: ".") -!137 = !DILocation(line: 477, scope: !138, inlinedAt: !140) -!138 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !139, file: !139, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!139 = !DIFile(filename: "multidimensional.jl", directory: ".") -!140 = !DILocation(line: 142, scope: !63, inlinedAt: !65) -!141 = !DILocation(line: 83, scope: !85, inlinedAt: !142) -!142 = !DILocation(line: 379, scope: !87, inlinedAt: !143) -!143 = !DILocation(line: 16, scope: !144, inlinedAt: !146) -!144 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!145 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/t.jl", directory: ".") -!146 = !DILocation(line: 97, scope: !66, inlinedAt: !68) -!147 = !DILocation(line: 86, scope: !121, inlinedAt: !148) -!148 = !DILocation(line: 754, scope: !149, inlinedAt: !150) -!149 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!150 = !DILocation(line: 689, scope: !151, inlinedAt: !152) -!151 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !118, file: !118, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!152 = !DILocation(line: 699, scope: !151, inlinedAt: !153) -!153 = !DILocation(line: 84, scope: !154, inlinedAt: !143) -!154 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !155, file: !155, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!155 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl", directory: ".") -!156 = !DILocation(line: 513, scope: !85, inlinedAt: !148) -!157 = !DILocation(line: 39, scope: !158, inlinedAt: !159) -!158 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !50, file: !50, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!159 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !161) -!160 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!161 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !163) -!162 = distinct !DISubprogram(name: "kernel_state;", linkageName: "kernel_state", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!163 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !166) -!164 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !165, file: !165, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!165 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl", directory: ".") -!166 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !168) -!167 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_15842", scope: null, file: !165, line: 112, type: !46, scopeLine: 112, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!168 = distinct !DILocation(line: 8, scope: !169, inlinedAt: !171) -!169 = distinct !DISubprogram(name: "#throw_boundserror", linkageName: "julia_#throw_boundserror_15166", scope: null, file: !170, line: 44, type: !46, scopeLine: 44, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, retainedNodes: !47) -!170 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl", directory: ".") -!171 = distinct !DILocation(line: 699, scope: !151, inlinedAt: !153) -!172 = !DILocation(line: 180, scope: !173, inlinedAt: !175) -!173 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !174, file: !174, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!174 = !DIFile(filename: "pointer.jl", directory: ".") -!175 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !166) -!176 = !DILocation(line: 52, scope: !177, inlinedAt: !179) -!177 = distinct !DISubprogram(name: "endpgm;", linkageName: "endpgm", scope: !178, file: !178, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!178 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl", directory: ".") -!179 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !168) -!180 = !DILocation(line: 116, scope: !167, inlinedAt: !168) -!181 = !DILocation(line: 39, scope: !49, inlinedAt: !182) -!182 = !DILocation(line: 0, scope: !183, inlinedAt: !184) -!183 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!184 = !DILocation(line: 0, scope: !185, inlinedAt: !186) -!185 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!186 = !DILocation(line: 85, scope: !187, inlinedAt: !189) -!187 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !188, file: !188, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!188 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl", directory: ".") -!189 = !DILocation(line: 86, scope: !154, inlinedAt: !143) -!190 = !{!191, !191, i64 0, i64 0} -!191 = !{!"custom_tbaa_addrspace(1)", !192, i64 0} -!192 = !{!"custom_tbaa"} -!193 = !DILocation(line: 298, scope: !194, inlinedAt: !195) -!194 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!195 = !DILocation(line: 88, scope: !196, inlinedAt: !198) -!196 = distinct !DISubprogram(name: "__warp_groupreduce;", linkageName: "__warp_groupreduce", scope: !197, file: !197, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!197 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl", directory: ".") -!198 = !DILocation(line: 19, scope: !144, inlinedAt: !146) -!199 = !DILocation(line: 297, scope: !200, inlinedAt: !201) -!200 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!201 = !DILocation(line: 89, scope: !196, inlinedAt: !198) -!202 = !{!"exec_lo"} -!203 = !DILocation(line: 106, scope: !204, inlinedAt: !206) -!204 = distinct !DISubprogram(name: "activelane;", linkageName: "activelane", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!205 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl", directory: ".") -!206 = !DILocation(line: 249, scope: !207, inlinedAt: !208) -!207 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!208 = !DILocation(line: 361, scope: !209, inlinedAt: !210) -!209 = distinct !DISubprogram(name: "#19;", linkageName: "#19", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!210 = !DILocation(line: 228, scope: !211, inlinedAt: !212) -!211 = distinct !DISubprogram(name: "_shfl;", linkageName: "_shfl", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!212 = !DILocation(line: 360, scope: !207, inlinedAt: !213) -!213 = !DILocation(line: 360, scope: !207, inlinedAt: !214) -!214 = !DILocation(line: 174, scope: !215, inlinedAt: !216) -!215 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!216 = !DILocation(line: 12, scope: !217, inlinedAt: !218) -!217 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!218 = !DILocation(line: 78, scope: !219, inlinedAt: !220) -!219 = distinct !DISubprogram(name: "__warp_reduce;", linkageName: "__warp_reduce", scope: !197, file: !197, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!220 = !DILocation(line: 92, scope: !196, inlinedAt: !198) -!221 = !DILocation(line: 741, scope: !222, inlinedAt: !223) -!222 = distinct !DISubprogram(name: "is_top_bit_set;", linkageName: "is_top_bit_set", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!223 = !DILocation(line: 756, scope: !224, inlinedAt: !225) -!224 = distinct !DISubprogram(name: "check_sign_bit;", linkageName: "check_sign_bit", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!225 = !DILocation(line: 805, scope: !226, inlinedAt: !227) -!226 = distinct !DISubprogram(name: "toInt32;", linkageName: "toInt32", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!227 = !DILocation(line: 891, scope: !228, inlinedAt: !229) -!228 = distinct !DISubprogram(name: "Int32;", linkageName: "Int32", scope: !103, file: !103, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!229 = !DILocation(line: 7, scope: !107, inlinedAt: !206) -!230 = !DILocation(line: 39, scope: !158, inlinedAt: !231) -!231 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !232) -!232 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !233) -!233 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !234) -!234 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !235) -!235 = distinct !DILocation(line: 8, scope: !236, inlinedAt: !237) -!236 = distinct !DISubprogram(name: "#throw_inexacterror", linkageName: "julia_#throw_inexacterror_15168", scope: null, file: !170, line: 40, type: !46, scopeLine: 40, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !6, retainedNodes: !47) -!237 = distinct !DILocation(line: 756, scope: !224, inlinedAt: !225) -!238 = !DILocation(line: 180, scope: !173, inlinedAt: !239) -!239 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !234) -!240 = !DILocation(line: 52, scope: !177, inlinedAt: !241) -!241 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !235) -!242 = !DILocation(line: 116, scope: !167, inlinedAt: !235) -!243 = !DILocation(line: 730, scope: !244, inlinedAt: !210) -!244 = distinct !DISubprogram(name: "reinterpret;", linkageName: "reinterpret", scope: !245, file: !245, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!245 = !DIFile(filename: "essentials.jl", directory: ".") -!246 = !DILocation(line: 347, scope: !247, inlinedAt: !248) -!247 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!248 = !DILocation(line: 1013, scope: !247, inlinedAt: !249) -!249 = !DILocation(line: 251, scope: !207, inlinedAt: !208) -!250 = !DILocation(line: 87, scope: !81, inlinedAt: !249) -!251 = !DILocation(line: 515, scope: !130, inlinedAt: !252) -!252 = !DILocation(line: 426, scope: !253, inlinedAt: !249) -!253 = distinct !DISubprogram(name: ">=;", linkageName: ">=", scope: !88, file: !88, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!254 = !DILocation(line: 796, scope: !255, inlinedAt: !249) -!255 = distinct !DISubprogram(name: "ifelse;", linkageName: "ifelse", scope: !245, file: !245, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!256 = !DILocation(line: 529, scope: !257, inlinedAt: !258) -!257 = distinct !DISubprogram(name: "<<;", linkageName: "<<", scope: !82, file: !82, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!258 = !DILocation(line: 252, scope: !207, inlinedAt: !208) -!259 = !DILocation(line: 178, scope: !260, inlinedAt: !258) -!260 = distinct !DISubprogram(name: "bpermute;", linkageName: "bpermute", scope: !205, file: !205, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!261 = !DILocation(line: 491, scope: !262, inlinedAt: !264) -!262 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !263, file: !263, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!263 = !DIFile(filename: "float.jl", directory: ".") -!264 = !DILocation(line: 10, scope: !265, inlinedAt: !218) -!265 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!266 = !DILocation(line: 639, scope: !267, inlinedAt: !269) -!267 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !268, file: !268, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!268 = !DIFile(filename: "promotion.jl", directory: ".") -!269 = !DILocation(line: 483, scope: !267, inlinedAt: !270) -!270 = !DILocation(line: 93, scope: !196, inlinedAt: !198) -!271 = !DILocation(line: 39, scope: !49, inlinedAt: !272) -!272 = !DILocation(line: 0, scope: !183, inlinedAt: !273) -!273 = !DILocation(line: 0, scope: !274, inlinedAt: !275) -!274 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!275 = !DILocation(line: 88, scope: !276, inlinedAt: !277) -!276 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !188, file: !188, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!277 = !DILocation(line: 92, scope: !278, inlinedAt: !270) -!278 = distinct !DISubprogram(name: "#setindex!;", linkageName: "#setindex!", scope: !155, file: !155, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!279 = !{!280, !280, i64 0, i64 0} -!280 = !{!"custom_tbaa_addrspace(3)", !192, i64 0} -!281 = !DILocation(line: 93, scope: !278, inlinedAt: !270) -!282 = !DILocation(line: 6, scope: !283, inlinedAt: !285) -!283 = distinct !DISubprogram(name: "sync_workgroup;", linkageName: "sync_workgroup", scope: !284, file: !284, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!284 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl", directory: ".") -!285 = !DILocation(line: 162, scope: !286, inlinedAt: !287) -!286 = distinct !DISubprogram(name: "#__synchronize;", linkageName: "#__synchronize", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!287 = !DILocation(line: 290, scope: !288, inlinedAt: !290) -!288 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !289, file: !289, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!289 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl", directory: ".") -!290 = !DILocation(line: 94, scope: !196, inlinedAt: !198) -!291 = !DILocation(line: 513, scope: !85, inlinedAt: !292) -!292 = !DILocation(line: 484, scope: !293, inlinedAt: !294) -!293 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !268, file: !268, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!294 = !DILocation(line: 520, scope: !85, inlinedAt: !295) -!295 = !DILocation(line: 97, scope: !196, inlinedAt: !198) -!296 = !DILocation(line: 98, scope: !196, inlinedAt: !198) -!297 = !DILocation(line: 639, scope: !267, inlinedAt: !298) -!298 = !DILocation(line: 483, scope: !267, inlinedAt: !299) -!299 = !DILocation(line: 99, scope: !196, inlinedAt: !198) -!300 = !DILocation(line: 39, scope: !158, inlinedAt: !301) -!301 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !302) -!302 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !303) -!303 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !304) -!304 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !305) -!305 = distinct !DILocation(line: 8, scope: !236, inlinedAt: !306) -!306 = distinct !DILocation(line: 756, scope: !224, inlinedAt: !307) -!307 = !DILocation(line: 805, scope: !226, inlinedAt: !308) -!308 = !DILocation(line: 891, scope: !228, inlinedAt: !309) -!309 = !DILocation(line: 7, scope: !107, inlinedAt: !310) -!310 = !DILocation(line: 249, scope: !207, inlinedAt: !311) -!311 = !DILocation(line: 361, scope: !209, inlinedAt: !312) -!312 = !DILocation(line: 228, scope: !211, inlinedAt: !313) -!313 = !DILocation(line: 360, scope: !207, inlinedAt: !314) -!314 = !DILocation(line: 360, scope: !207, inlinedAt: !315) -!315 = !DILocation(line: 174, scope: !215, inlinedAt: !316) -!316 = !DILocation(line: 12, scope: !217, inlinedAt: !317) -!317 = !DILocation(line: 78, scope: !219, inlinedAt: !299) -!318 = !DILocation(line: 180, scope: !173, inlinedAt: !319) -!319 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !304) -!320 = !DILocation(line: 52, scope: !177, inlinedAt: !321) -!321 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !305) -!322 = !DILocation(line: 116, scope: !167, inlinedAt: !305) -!323 = !DILocation(line: 347, scope: !247, inlinedAt: !324) -!324 = !DILocation(line: 1013, scope: !247, inlinedAt: !325) -!325 = !DILocation(line: 251, scope: !207, inlinedAt: !311) -!326 = !DILocation(line: 87, scope: !81, inlinedAt: !325) -!327 = !DILocation(line: 515, scope: !130, inlinedAt: !328) -!328 = !DILocation(line: 426, scope: !253, inlinedAt: !325) -!329 = !DILocation(line: 796, scope: !255, inlinedAt: !325) -!330 = !DILocation(line: 529, scope: !257, inlinedAt: !331) -!331 = !DILocation(line: 252, scope: !207, inlinedAt: !311) -!332 = !DILocation(line: 178, scope: !260, inlinedAt: !331) -!333 = !DILocation(line: 730, scope: !244, inlinedAt: !312) -!334 = !DILocation(line: 491, scope: !262, inlinedAt: !335) -!335 = !DILocation(line: 10, scope: !265, inlinedAt: !317) -!336 = !DILocation(line: 7, scope: !337, inlinedAt: !335) -!337 = distinct !DISubprogram(name: "A;", linkageName: "A", scope: !145, file: !145, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!338 = !DILocation(line: 639, scope: !267, inlinedAt: !339) -!339 = !DILocation(line: 21, scope: !144, inlinedAt: !146) -!340 = !DILocation(line: 513, scope: !85, inlinedAt: !341) -!341 = !DILocation(line: 754, scope: !149, inlinedAt: !342) -!342 = !DILocation(line: 689, scope: !151, inlinedAt: !343) -!343 = !DILocation(line: 699, scope: !151, inlinedAt: !344) -!344 = !DILocation(line: 90, scope: !278, inlinedAt: !339) -!345 = !DILocation(line: 39, scope: !158, inlinedAt: !346) -!346 = distinct !DILocation(line: 0, scope: !160, inlinedAt: !347) -!347 = distinct !DILocation(line: 0, scope: !162, inlinedAt: !348) -!348 = distinct !DILocation(line: 11, scope: !164, inlinedAt: !349) -!349 = distinct !DILocation(line: 113, scope: !167, inlinedAt: !350) -!350 = distinct !DILocation(line: 8, scope: !169, inlinedAt: !351) -!351 = distinct !DILocation(line: 699, scope: !151, inlinedAt: !344) -!352 = !DILocation(line: 180, scope: !173, inlinedAt: !353) -!353 = distinct !DILocation(line: 180, scope: !173, inlinedAt: !349) -!354 = !DILocation(line: 52, scope: !177, inlinedAt: !355) -!355 = distinct !DILocation(line: 115, scope: !167, inlinedAt: !350) -!356 = !DILocation(line: 116, scope: !167, inlinedAt: !350) -!357 = !DILocation(line: 491, scope: !262, inlinedAt: !339) -!358 = !DILocation(line: 39, scope: !49, inlinedAt: !359) -!359 = !DILocation(line: 0, scope: !183, inlinedAt: !360) -!360 = !DILocation(line: 0, scope: !274, inlinedAt: !361) -!361 = !DILocation(line: 88, scope: !276, inlinedAt: !362) -!362 = !DILocation(line: 92, scope: !278, inlinedAt: !339) -!363 = !DILocation(line: 93, scope: !278, inlinedAt: !339) -!364 = !DILocation(line: 99, scope: !66, inlinedAt: !68) -!365 = !DILocation(line: 39, scope: !49, inlinedAt: !366) -!366 = !DILocation(line: 0, scope: !183, inlinedAt: !367) -!367 = !DILocation(line: 0, scope: !185, inlinedAt: !368) -!368 = !DILocation(line: 85, scope: !187, inlinedAt: !369) -!369 = !DILocation(line: 86, scope: !154, inlinedAt: !296) -!370 = !DILocation(line: 106, scope: !204, inlinedAt: !310) -!371 = !DILocation(line: 741, scope: !222, inlinedAt: !372) -!372 = !DILocation(line: 756, scope: !224, inlinedAt: !307) diff --git a/devcode/gpu_groupreduce_1!_1.typed.jl b/devcode/gpu_groupreduce_1!_1.typed.jl deleted file mode 100644 index 7843c08d3..000000000 --- a/devcode/gpu_groupreduce_1!_1.typed.jl +++ /dev/null @@ -1,1458 +0,0 @@ -CodeInfo( - @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 within `gpu_groupreduce_1!` - ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` - │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` - ││┌ @ Base.jl:49 within `getproperty` -1 ───│││ %1 = Base.getfield(__ctx__, :iterspace)::KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.StaticSize{(256,)}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, Nothing} -│ │└└ -│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %2 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ ││││││ %3 = Base.llvmcall(%2, UInt32, Tuple{})::UInt32 -│ ││││└└ -│ ││││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ │││││ %4 = Base.add_int(%3, 0x00000001)::UInt32 -│ ││└└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %5 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%5, UInt32, Tuple{})::UInt32 -│ ││└└└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %7 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%7, UInt32, Tuple{})::UInt32 -│ │└└└└└ -│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %9 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││ %10 = Base.llvmcall(%9, UInt32, Tuple{})::UInt32 -│ ││││└└ -│ ││││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ │││││ %11 = Base.add_int(%10, 0x00000001)::UInt32 -│ ││└└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %12 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%12, UInt32, Tuple{})::UInt32 -│ ││└└└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %14 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%14, UInt32, Tuple{})::UInt32 -│ │└└└└└ -│ │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` -│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` -│ │││┌ @ Base.jl:49 within `getproperty` -│ ││││ %16 = Base.getfield(%1, :blocks)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} -│ ││└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` -│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -│ │││┌ @ ntuple.jl:48 within `ntuple` -│ ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` -│ │││││┌ @ Base.jl:49 within `getproperty` -│ ││││││ %17 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} -│ │││││└ -│ │││││┌ @ tuple.jl:31 within `getindex` -│ ││││││ %18 = $(Expr(:boundscheck, true))::Bool -│ ││││││ %19 = Base.getfield(%17, 1, %18)::Base.OneTo{Int64} -│ │││││└ -│ │││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -│ │││││┌ @ Base.jl:49 within `getproperty` -│ ││││││ %20 = Base.getfield(%19, :stop)::Int64 -│ │││││└ -│ │││││┌ @ operators.jl:379 within `>` -│ ││││││┌ @ int.jl:83 within `<` -│ │││││││ %21 = Base.slt_int(0, %20)::Bool -│ │││││└└ -│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` -│ ││││││ %22 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%22, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, %21)::Nothing -│ ││└└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` -│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -│ │││┌ @ ntuple.jl:48 within `ntuple` -│ ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` -│ ││││││ %24 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} -│ ││││││ Base.llvmcall(%24, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, true)::Nothing -│ ││└└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -│ ││┌ @ abstractarray.jl:1312 within `getindex` -│ │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -│ ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -│ │││││┌ @ number.jl:7 within `convert` -│ ││││││┌ @ boot.jl:892 within `Int64` -│ │││││││┌ @ boot.jl:816 within `toInt64` -│ ││││││││ %26 = Core.zext_int(Core.Int64, %4)::Int64 -│ │││└└└└└ -│ │││┌ @ abstractarray.jl:1358 within `_getindex` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` -│ │││││ %27 = $(Expr(:boundscheck, false))::Bool -└────│││││ goto #6 if not %27 - │││││┌ @ abstractarray.jl:697 within `checkbounds` -2 ───││││││ %29 = Core.tuple(%26)::Tuple{Int64} -│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││││┌ @ abstractarray.jl:389 within `eachindex` -│ │││││││┌ @ abstractarray.jl:137 within `axes1` -│ ││││││││┌ @ multidimensional.jl:358 within `axes` -│ │││││││││┌ @ Base.jl:49 within `getproperty` -│ ││││││││││ %30 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} -│ │││││││││└ -│ │││││││││┌ @ tuple.jl:355 within `map` -│ ││││││││││┌ @ tuple.jl:31 within `getindex` -│ │││││││││││ %31 = $(Expr(:boundscheck, true))::Bool -│ │││││││││││ %32 = Base.getfield(%30, 1, %31)::Base.OneTo{Int64} -│ ││││││││││└ -│ ││││││││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││││││││┌ @ abstractarray.jl:98 within `axes` -│ ││││││││││││┌ @ range.jl:676 within `size` -│ │││││││││││││┌ @ range.jl:786 within `length` -│ ││││││││││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││││││││││ %33 = Base.getfield(%32, :stop)::Int64 -│ ││││││└└└└└└└└└ -│ ││││││┌ @ abstractarray.jl:754 within `checkindex` -│ │││││││┌ @ int.jl:86 within `-` -│ ││││││││ %34 = Base.sub_int(%26, 1)::Int64 -│ │││││││└ -│ │││││││┌ @ essentials.jl:668 within `unsigned` -│ ││││││││┌ @ essentials.jl:730 within `reinterpret` -│ │││││││││ %35 = Base.bitcast(UInt64, %34)::UInt64 -│ │││││││││ @ essentials.jl:730 within `reinterpret` -│ │││││││││ %36 = Base.bitcast(UInt64, %33)::UInt64 -│ │││││││└└ -│ │││││││┌ @ int.jl:513 within `<` -│ ││││││││ %37 = Base.ult_int(%35, %36)::Bool -│ ││││││└└ -│ ││││││ @ abstractarray.jl:699 within `checkbounds` -└────││││││ goto #4 if not %37 -3 ───││││││ goto #5 -4 ───││││││ invoke Base.throw_boundserror(%16::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %29::Tuple{Int64})::Union{} -└────││││││ unreachable -5 ───││││││ nothing::Nothing - │││││└ - │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` - │││││┌ @ Base.jl:49 within `getproperty` -6 ┄──││││││ %43 = Base.getfield(%16, :indices)::Tuple{Base.OneTo{Int64}} -│ │││││└ -│ │││││┌ @ tuple.jl:382 within `map` -│ ││││││┌ @ tuple.jl:31 within `getindex` -│ │││││││ %44 = $(Expr(:boundscheck, true))::Bool -│ │││││││ %45 = Base.getfield(%43, 1, %44)::Base.OneTo{Int64} -│ ││││││└ -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -│ │││││││┌ @ array.jl:3076 within `getindex` -│ ││││││││┌ @ range.jl:922 within `_getindex` -│ │││││││││ %46 = $(Expr(:boundscheck, false))::Bool -└────│││││││││ goto #11 if not %46 - │││││││││┌ @ abstractarray.jl:697 within `checkbounds` -7 ───││││││││││ %48 = Core.tuple(%26)::Tuple{Int64} -│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││││││││┌ @ abstractarray.jl:389 within `eachindex` -│ │││││││││││┌ @ abstractarray.jl:137 within `axes1` -│ ││││││││││││┌ @ abstractarray.jl:98 within `axes` -│ │││││││││││││┌ @ range.jl:676 within `size` -│ ││││││││││││││┌ @ range.jl:786 within `length` -│ │││││││││││││││┌ @ Base.jl:49 within `getproperty` -│ ││││││││││││││││ %49 = Base.getfield(%45, :stop)::Int64 -│ ││││││││││└└└└└└ -│ ││││││││││┌ @ abstractarray.jl:754 within `checkindex` -│ │││││││││││┌ @ int.jl:86 within `-` -│ ││││││││││││ %50 = Base.sub_int(%26, 1)::Int64 -│ │││││││││││└ -│ │││││││││││┌ @ essentials.jl:668 within `unsigned` -│ ││││││││││││┌ @ essentials.jl:730 within `reinterpret` -│ │││││││││││││ %51 = Base.bitcast(UInt64, %50)::UInt64 -│ │││││││││││││ @ essentials.jl:730 within `reinterpret` -│ │││││││││││││ %52 = Base.bitcast(UInt64, %49)::UInt64 -│ │││││││││││└└ -│ │││││││││││┌ @ int.jl:513 within `<` -│ ││││││││││││ %53 = Base.ult_int(%51, %52)::Bool -│ ││││││││││└└ -│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` -└────││││││││││ goto #9 if not %53 -8 ───││││││││││ goto #10 -9 ───││││││││││ invoke Base.throw_boundserror(%45::Base.OneTo{Int64}, %48::Tuple{Int64})::Union{} -└────││││││││││ unreachable -10 ──││││││││││ nothing::Nothing -11 ┄─││││││││││ goto #12 -12 ──││││││││││ goto #13 -13 ──││││││││││ goto #14 -14 ──││││││││││ goto #15 -15 ──││││││││││ goto #16 -16 ──││││││││││ goto #17 -17 ──││││││││││ goto #18 - │││└└└└└└└ - │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 - ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 - │││││┌ @ number.jl:7 within `convert` - ││││││┌ @ boot.jl:892 within `Int64` - │││││││┌ @ boot.jl:816 within `toInt64` -18 ──││││││││ %66 = Core.zext_int(Core.Int64, %11)::Int64 -│ │││└└└└└ -│ │││┌ @ abstractarray.jl:1358 within `_getindex` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` -│ │││││ %67 = $(Expr(:boundscheck, false))::Bool -└────│││││ goto #23 if not %67 - │││││┌ @ abstractarray.jl:697 within `checkbounds` -19 ──││││││ %69 = Core.tuple(%66)::Tuple{Int64} -│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││││┌ @ abstractarray.jl:754 within `checkindex` -│ │││││││┌ @ int.jl:86 within `-` -│ ││││││││ %70 = Base.sub_int(%66, 1)::Int64 -│ │││││││└ -│ │││││││┌ @ essentials.jl:668 within `unsigned` -│ ││││││││┌ @ essentials.jl:730 within `reinterpret` -│ │││││││││ %71 = Base.bitcast(UInt64, %70)::UInt64 -│ │││││││└└ -│ │││││││┌ @ int.jl:513 within `<` -│ ││││││││ %72 = Base.ult_int(%71, 0x0000000000000100)::Bool -│ ││││││└└ -│ ││││││ @ abstractarray.jl:699 within `checkbounds` -└────││││││ goto #21 if not %72 -20 ──││││││ goto #22 -21 ──││││││ invoke Base.throw_boundserror($(QuoteNode(CartesianIndices((256,))))::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %69::Tuple{Int64})::Union{} -└────││││││ unreachable -22 ──││││││ nothing::Nothing - │││││└ - │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` - │││││┌ @ tuple.jl:382 within `map` - ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` - │││││││┌ @ array.jl:3076 within `getindex` - ││││││││┌ @ range.jl:922 within `_getindex` -23 ┄─│││││││││ %78 = $(Expr(:boundscheck, false))::Bool -└────│││││││││ goto #28 if not %78 - │││││││││┌ @ abstractarray.jl:697 within `checkbounds` -24 ──││││││││││ %80 = Core.tuple(%66)::Tuple{Int64} -│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││││││││┌ @ abstractarray.jl:754 within `checkindex` -│ │││││││││││┌ @ int.jl:86 within `-` -│ ││││││││││││ %81 = Base.sub_int(%66, 1)::Int64 -│ │││││││││││└ -│ │││││││││││┌ @ essentials.jl:668 within `unsigned` -│ ││││││││││││┌ @ essentials.jl:730 within `reinterpret` -│ │││││││││││││ %82 = Base.bitcast(UInt64, %81)::UInt64 -│ │││││││││││└└ -│ │││││││││││┌ @ int.jl:513 within `<` -│ ││││││││││││ %83 = Base.ult_int(%82, 0x0000000000000100)::Bool -│ ││││││││││└└ -│ ││││││││││ @ abstractarray.jl:699 within `checkbounds` -└────││││││││││ goto #26 if not %83 -25 ──││││││││││ goto #27 -26 ──││││││││││ invoke Base.throw_boundserror($(QuoteNode(Base.OneTo(256)))::Base.OneTo{Int64}, %80::Tuple{Int64})::Union{} -└────││││││││││ unreachable -27 ──││││││││││ nothing::Nothing -28 ┄─││││││││││ goto #29 -29 ──││││││││││ goto #30 -30 ──││││││││││ goto #31 -31 ──││││││││││ goto #32 -32 ──││││││││││ goto #33 -33 ──││││││││││ goto #34 -34 ──││││││││││ goto #35 - ││└└└└└└└└ - ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 - ││┌ @ ntuple.jl:48 within `ntuple` - │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` - ││││┌ @ int.jl:86 within `-` -35 ──│││││ %96 = Base.sub_int(%26, 1)::Int64 -│ ││││└ -│ ││││┌ @ int.jl:88 within `*` -│ │││││ %97 = Base.mul_int(%96, 256)::Int64 -│ ││││└ -│ ││││┌ @ int.jl:87 within `+` -│ │││││ %98 = Base.add_int(%97, %66)::Int64 -│ ││└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -└────││ goto #36 - │└ - │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` - │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` - ││┌ @ Base.jl:49 within `getproperty` -36 ──│││ %100 = Base.getfield(__ctx__, :ndrange)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} -│ │└└ -│ │┌ @ multidimensional.jl:477 within `in` -│ ││┌ @ Base.jl:49 within `getproperty` -│ │││ %101 = Base.getfield(%100, :indices)::Tuple{Base.OneTo{Int64}} -│ ││└ -│ ││┌ @ tuple.jl:382 within `map` -│ │││┌ @ tuple.jl:31 within `getindex` -│ ││││ %102 = $(Expr(:boundscheck, true))::Bool -│ ││││ %103 = Base.getfield(%101, 1, %102)::Base.OneTo{Int64} -│ │││└ -│ │││┌ @ range.jl:1426 within `in` -│ ││││┌ @ int.jl:514 within `<=` -│ │││││ %104 = Base.sle_int(1, %98)::Bool -│ ││││└ -│ ││││┌ @ range.jl:846 within `last` -│ │││││┌ @ Base.jl:49 within `getproperty` -│ ││││││ %105 = Base.getfield(%103, :stop)::Int64 -│ ││││└└ -│ ││││┌ @ int.jl:514 within `<=` -│ │││││ %106 = Base.sle_int(%98, %105)::Bool -│ ││││└ -│ ││││┌ @ bool.jl:38 within `&` -│ │││││ %107 = Base.and_int(%104, %106)::Bool -│ │└└└└ -└────│ goto #37 - └ -37 ── goto #198 if not %107 - @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 within `gpu_groupreduce_1!` - ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:15 within `macro expansion` - │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:122 within `#__index_Global_Linear` - ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` - │││┌ @ Base.jl:49 within `getproperty` -38 ──││││ %110 = Base.getfield(__ctx__, :iterspace)::KernelAbstractions.NDIteration.NDRange{1, KernelAbstractions.NDIteration.DynamicSize, KernelAbstractions.NDIteration.StaticSize{(256,)}, CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, Nothing} -│ ││└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %111 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ │││││││ %112 = Base.llvmcall(%111, UInt32, Tuple{})::UInt32 -│ │││││└└ -│ │││││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ ││││││ %113 = Base.add_int(%112, 0x00000001)::UInt32 -│ │││└└└ -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %114 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%114, UInt32, Tuple{})::UInt32 -│ │││└└└└ -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %116 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workgroup.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workgroup.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 -2}\n", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%116, UInt32, Tuple{})::UInt32 -│ ││└└└└└ -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %118 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ │││││││ %119 = Base.llvmcall(%118, UInt32, Tuple{})::UInt32 -│ │││││└└ -│ │││││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ ││││││ %120 = Base.add_int(%119, 0x00000001)::UInt32 -│ │││└└└ -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %121 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%121, UInt32, Tuple{})::UInt32 -│ │││└└└└ -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││││ %123 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%123, UInt32, Tuple{})::UInt32 -│ ││└└└└└ -│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` -│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` -│ ││││┌ @ Base.jl:49 within `getproperty` -│ │││││ %125 = Base.getfield(%110, :blocks)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} -│ │││└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` -│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -│ ││││┌ @ ntuple.jl:48 within `ntuple` -│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` -│ ││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││ %126 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} -│ ││││││└ -│ ││││││┌ @ tuple.jl:31 within `getindex` -│ │││││││ %127 = $(Expr(:boundscheck, true))::Bool -│ │││││││ %128 = Base.getfield(%126, 1, %127)::Base.OneTo{Int64} -│ ││││││└ -│ ││││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -│ ││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││ %129 = Base.getfield(%128, :stop)::Int64 -│ ││││││└ -│ ││││││┌ @ operators.jl:379 within `>` -│ │││││││┌ @ int.jl:83 within `<` -│ ││││││││ %130 = Base.slt_int(0, %129)::Bool -│ ││││││└└ -│ ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` -│ │││││││ %131 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%131, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, %130)::Nothing -│ │││└└└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` -│ │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -│ ││││┌ @ ntuple.jl:48 within `ntuple` -│ │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -│ ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` -│ │││││││ %133 = Core.tuple("declare void @llvm.assume(i1)\n\ndefine void @entry(i8) #0 {\n %cond = icmp eq i8 %0, 1\n call void @llvm.assume(i1 %cond)\n ret void\n}\n\nattributes #0 = { alwaysinline }", "entry")::Tuple{String, String} -│ │││││││ Base.llvmcall(%133, KernelAbstractions.NDIteration.Nothing, Tuple{Bool}, true)::Nothing -│ │││└└└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -│ │││┌ @ abstractarray.jl:1312 within `getindex` -│ ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -│ │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -│ ││││││┌ @ number.jl:7 within `convert` -│ │││││││┌ @ boot.jl:892 within `Int64` -│ ││││││││┌ @ boot.jl:816 within `toInt64` -│ │││││││││ %135 = Core.zext_int(Core.Int64, %113)::Int64 -│ ││││└└└└└ -│ ││││┌ @ abstractarray.jl:1358 within `_getindex` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` -│ ││││││ %136 = $(Expr(:boundscheck, false))::Bool -└────││││││ goto #43 if not %136 - ││││││┌ @ abstractarray.jl:697 within `checkbounds` -39 ──│││││││ %138 = Core.tuple(%135)::Tuple{Int64} -│ │││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││││││┌ @ abstractarray.jl:389 within `eachindex` -│ ││││││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││││││┌ @ multidimensional.jl:358 within `axes` -│ ││││││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││││││ %139 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} -│ ││││││││││└ -│ ││││││││││┌ @ tuple.jl:355 within `map` -│ │││││││││││┌ @ tuple.jl:31 within `getindex` -│ ││││││││││││ %140 = $(Expr(:boundscheck, true))::Bool -│ ││││││││││││ %141 = Base.getfield(%139, 1, %140)::Base.OneTo{Int64} -│ │││││││││││└ -│ │││││││││││┌ @ abstractarray.jl:137 within `axes1` -│ ││││││││││││┌ @ abstractarray.jl:98 within `axes` -│ │││││││││││││┌ @ range.jl:676 within `size` -│ ││││││││││││││┌ @ range.jl:786 within `length` -│ │││││││││││││││┌ @ Base.jl:49 within `getproperty` -│ ││││││││││││││││ %142 = Base.getfield(%141, :stop)::Int64 -│ │││││││└└└└└└└└└ -│ │││││││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││││││┌ @ int.jl:86 within `-` -│ │││││││││ %143 = Base.sub_int(%135, 1)::Int64 -│ ││││││││└ -│ ││││││││┌ @ essentials.jl:668 within `unsigned` -│ │││││││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││││││ %144 = Base.bitcast(UInt64, %143)::UInt64 -│ ││││││││││ @ essentials.jl:730 within `reinterpret` -│ ││││││││││ %145 = Base.bitcast(UInt64, %142)::UInt64 -│ ││││││││└└ -│ ││││││││┌ @ int.jl:513 within `<` -│ │││││││││ %146 = Base.ult_int(%144, %145)::Bool -│ │││││││└└ -│ │││││││ @ abstractarray.jl:699 within `checkbounds` -└────│││││││ goto #41 if not %146 -40 ──│││││││ goto #42 -41 ──│││││││ invoke Base.throw_boundserror(%125::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %138::Tuple{Int64})::Union{} -└────│││││││ unreachable -42 ──│││││││ nothing::Nothing - ││││││└ - ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` - ││││││┌ @ Base.jl:49 within `getproperty` -43 ┄─│││││││ %152 = Base.getfield(%125, :indices)::Tuple{Base.OneTo{Int64}} -│ ││││││└ -│ ││││││┌ @ tuple.jl:382 within `map` -│ │││││││┌ @ tuple.jl:31 within `getindex` -│ ││││││││ %153 = $(Expr(:boundscheck, true))::Bool -│ ││││││││ %154 = Base.getfield(%152, 1, %153)::Base.OneTo{Int64} -│ │││││││└ -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -│ ││││││││┌ @ array.jl:3076 within `getindex` -│ │││││││││┌ @ range.jl:922 within `_getindex` -│ ││││││││││ %155 = $(Expr(:boundscheck, false))::Bool -└────││││││││││ goto #48 if not %155 - ││││││││││┌ @ abstractarray.jl:697 within `checkbounds` -44 ──│││││││││││ %157 = Core.tuple(%135)::Tuple{Int64} -│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││││││││││┌ @ abstractarray.jl:389 within `eachindex` -│ ││││││││││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││││││││││┌ @ abstractarray.jl:98 within `axes` -│ ││││││││││││││┌ @ range.jl:676 within `size` -│ │││││││││││││││┌ @ range.jl:786 within `length` -│ ││││││││││││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││││││││││││ %158 = Base.getfield(%154, :stop)::Int64 -│ │││││││││││└└└└└└ -│ │││││││││││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││││││││││┌ @ int.jl:86 within `-` -│ │││││││││││││ %159 = Base.sub_int(%135, 1)::Int64 -│ ││││││││││││└ -│ ││││││││││││┌ @ essentials.jl:668 within `unsigned` -│ │││││││││││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││││││││││ %160 = Base.bitcast(UInt64, %159)::UInt64 -│ ││││││││││││││ @ essentials.jl:730 within `reinterpret` -│ ││││││││││││││ %161 = Base.bitcast(UInt64, %158)::UInt64 -│ ││││││││││││└└ -│ ││││││││││││┌ @ int.jl:513 within `<` -│ │││││││││││││ %162 = Base.ult_int(%160, %161)::Bool -│ │││││││││││└└ -│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` -└────│││││││││││ goto #46 if not %162 -45 ──│││││││││││ goto #47 -46 ──│││││││││││ invoke Base.throw_boundserror(%154::Base.OneTo{Int64}, %157::Tuple{Int64})::Union{} -└────│││││││││││ unreachable -47 ──│││││││││││ nothing::Nothing -48 ┄─│││││││││││ goto #49 -49 ──│││││││││││ goto #50 -50 ──│││││││││││ goto #51 -51 ──│││││││││││ goto #52 -52 ──│││││││││││ goto #53 -53 ──│││││││││││ goto #54 -54 ──│││││││││││ goto #55 - ││││└└└└└└└ - ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 - │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 - ││││││┌ @ number.jl:7 within `convert` - │││││││┌ @ boot.jl:892 within `Int64` - ││││││││┌ @ boot.jl:816 within `toInt64` -55 ──│││││││││ %175 = Core.zext_int(Core.Int64, %120)::Int64 -│ ││││└└└└└ -│ ││││┌ @ abstractarray.jl:1358 within `_getindex` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` -│ ││││││ %176 = $(Expr(:boundscheck, false))::Bool -└────││││││ goto #60 if not %176 - ││││││┌ @ abstractarray.jl:697 within `checkbounds` -56 ──│││││││ %178 = Core.tuple(%175)::Tuple{Int64} -│ │││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││││││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││││││┌ @ int.jl:86 within `-` -│ │││││││││ %179 = Base.sub_int(%175, 1)::Int64 -│ ││││││││└ -│ ││││││││┌ @ essentials.jl:668 within `unsigned` -│ │││││││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││││││ %180 = Base.bitcast(UInt64, %179)::UInt64 -│ ││││││││└└ -│ ││││││││┌ @ int.jl:513 within `<` -│ │││││││││ %181 = Base.ult_int(%180, 0x0000000000000100)::Bool -│ │││││││└└ -│ │││││││ @ abstractarray.jl:699 within `checkbounds` -└────│││││││ goto #58 if not %181 -57 ──│││││││ goto #59 -58 ──│││││││ invoke Base.throw_boundserror($(QuoteNode(CartesianIndices((256,))))::CartesianIndices{1, Tuple{Base.OneTo{Int64}}}, %178::Tuple{Int64})::Union{} -└────│││││││ unreachable -59 ──│││││││ nothing::Nothing - ││││││└ - ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` - ││││││┌ @ tuple.jl:382 within `map` - │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` - ││││││││┌ @ array.jl:3076 within `getindex` - │││││││││┌ @ range.jl:922 within `_getindex` -60 ┄─││││││││││ %187 = $(Expr(:boundscheck, false))::Bool -└────││││││││││ goto #65 if not %187 - ││││││││││┌ @ abstractarray.jl:697 within `checkbounds` -61 ──│││││││││││ %189 = Core.tuple(%175)::Tuple{Int64} -│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││││││││││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││││││││││┌ @ int.jl:86 within `-` -│ │││││││││││││ %190 = Base.sub_int(%175, 1)::Int64 -│ ││││││││││││└ -│ ││││││││││││┌ @ essentials.jl:668 within `unsigned` -│ │││││││││││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││││││││││ %191 = Base.bitcast(UInt64, %190)::UInt64 -│ ││││││││││││└└ -│ ││││││││││││┌ @ int.jl:513 within `<` -│ │││││││││││││ %192 = Base.ult_int(%191, 0x0000000000000100)::Bool -│ │││││││││││└└ -│ │││││││││││ @ abstractarray.jl:699 within `checkbounds` -└────│││││││││││ goto #63 if not %192 -62 ──│││││││││││ goto #64 -63 ──│││││││││││ invoke Base.throw_boundserror($(QuoteNode(Base.OneTo(256)))::Base.OneTo{Int64}, %189::Tuple{Int64})::Union{} -└────│││││││││││ unreachable -64 ──│││││││││││ nothing::Nothing -65 ┄─│││││││││││ goto #66 -66 ──│││││││││││ goto #67 -67 ──│││││││││││ goto #68 -68 ──│││││││││││ goto #69 -69 ──│││││││││││ goto #70 -70 ──│││││││││││ goto #71 -71 ──│││││││││││ goto #72 - │││└└└└└└└└ - │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 - │││┌ @ ntuple.jl:48 within `ntuple` - ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` - │││││┌ @ int.jl:86 within `-` -72 ──││││││ %205 = Base.sub_int(%135, 1)::Int64 -│ │││││└ -│ │││││┌ @ int.jl:88 within `*` -│ ││││││ %206 = Base.mul_int(%205, 256)::Int64 -│ │││││└ -│ │││││┌ @ int.jl:87 within `+` -│ ││││││ %207 = Base.add_int(%206, %175)::Int64 -│ │││└└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -└────│││ goto #73 - ││└ - ││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:124 within `#__index_Global_Linear` - ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` - │││┌ @ Base.jl:49 within `getproperty` -73 ──││││ %209 = Base.getfield(__ctx__, :ndrange)::CartesianIndices{1, Tuple{Base.OneTo{Int64}}} -│ ││└└ -│ ││┌ @ multidimensional.jl:582 within `LinearIndices` -│ │││┌ @ Base.jl:49 within `getproperty` -│ ││││ %210 = Base.getfield(%209, :indices)::Tuple{Base.OneTo{Int64}} -│ │││└ -│ │││ @ multidimensional.jl:582 within `LinearIndices` @ indices.jl:484 -│ │││ %211 = %new(LinearIndices{1, Tuple{Base.OneTo{Int64}}}, %210)::LinearIndices{1, Tuple{Base.OneTo{Int64}}} -│ ││└ -│ ││┌ @ abstractarray.jl:1312 within `getindex` -│ │││┌ @ abstractarray.jl:1336 within `_getindex` -│ ││││┌ @ indices.jl:518 within `getindex` -│ │││││ %212 = $(Expr(:boundscheck, false))::Bool -└────│││││ goto #78 if not %212 - │││││┌ @ abstractarray.jl:697 within `checkbounds` -74 ──││││││ %214 = Core.tuple(%207)::Tuple{Int64} -│ ││││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││││┌ @ abstractarray.jl:389 within `eachindex` -│ │││││││┌ @ abstractarray.jl:137 within `axes1` -│ ││││││││┌ @ indices.jl:513 within `axes` -│ │││││││││┌ @ tuple.jl:355 within `map` -│ ││││││││││┌ @ tuple.jl:31 within `getindex` -│ │││││││││││ %215 = $(Expr(:boundscheck, true))::Bool -│ │││││││││││ %216 = Base.getfield(%210, 1, %215)::Base.OneTo{Int64} -│ ││││││││││└ -│ ││││││││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││││││││┌ @ abstractarray.jl:98 within `axes` -│ ││││││││││││┌ @ range.jl:676 within `size` -│ │││││││││││││┌ @ range.jl:786 within `length` -│ ││││││││││││││┌ @ Base.jl:49 within `getproperty` -│ │││││││││││││││ %217 = Base.getfield(%216, :stop)::Int64 -│ ││││││└└└└└└└└└ -│ ││││││┌ @ abstractarray.jl:754 within `checkindex` -│ │││││││┌ @ int.jl:86 within `-` -│ ││││││││ %218 = Base.sub_int(%207, 1)::Int64 -│ │││││││└ -│ │││││││┌ @ essentials.jl:668 within `unsigned` -│ ││││││││┌ @ essentials.jl:730 within `reinterpret` -│ │││││││││ %219 = Base.bitcast(UInt64, %218)::UInt64 -│ │││││││││ @ essentials.jl:730 within `reinterpret` -│ │││││││││ %220 = Base.bitcast(UInt64, %217)::UInt64 -│ │││││││└└ -│ │││││││┌ @ int.jl:513 within `<` -│ ││││││││ %221 = Base.ult_int(%219, %220)::Bool -│ ││││││└└ -│ ││││││ @ abstractarray.jl:699 within `checkbounds` -└────││││││ goto #76 if not %221 -75 ──││││││ goto #77 -76 ──││││││ invoke Base.throw_boundserror(%211::LinearIndices{1, Tuple{Base.OneTo{Int64}}}, %214::Tuple{Int64})::Union{} -└────││││││ unreachable -77 ──││││││ nothing::Nothing -78 ┄─││││││ goto #79 -79 ──││││││ goto #80 -80 ──││││││ goto #81 -81 ──││││││ goto #82 - │└└└└└ - │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` - │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:71 within `length` - ││┌ @ Base.jl:49 within `getproperty` -82 ──│││ %231 = Base.getfield(x, :len)::Int64 -│ │└└ -│ │┌ @ operators.jl:379 within `>` -│ ││┌ @ int.jl:83 within `<` -│ │││ %232 = Base.slt_int(%231, %207)::Bool -│ │└└ -└────│ goto #84 if not %232 -83 ──│ goto #91 - │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` -84 ──││ %235 = $(Expr(:boundscheck, true))::Bool -└────││ goto #89 if not %235 - ││┌ @ abstractarray.jl:697 within `checkbounds` -85 ──│││ %237 = Core.tuple(%207)::Tuple{Int64} -│ │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││┌ @ abstractarray.jl:389 within `eachindex` -│ ││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││┌ @ abstractarray.jl:98 within `axes` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` -│ │││││││┌ @ Base.jl:49 within `getproperty` -│ ││││││││ %238 = Base.getfield(x, :dims)::Tuple{Int64} -│ ││││││└└ -│ ││││││┌ @ tuple.jl:355 within `map` -│ │││││││┌ @ tuple.jl:31 within `getindex` -│ ││││││││ %239 = $(Expr(:boundscheck, true))::Bool -│ ││││││││ %240 = Base.getfield(%238, 1, %239)::Int64 -│ │││└└└└└ -│ │││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││┌ @ int.jl:86 within `-` -│ │││││ %241 = Base.sub_int(%207, 1)::Int64 -│ ││││└ -│ ││││┌ @ essentials.jl:668 within `unsigned` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %242 = Base.bitcast(UInt64, %241)::UInt64 -│ ││││││ @ essentials.jl:730 within `reinterpret` -│ ││││││ %243 = Base.bitcast(UInt64, %240)::UInt64 -│ ││││└└ -│ ││││┌ @ int.jl:513 within `<` -│ │││││ %244 = Base.ult_int(%242, %243)::Bool -│ │││└└ -│ │││ @ abstractarray.jl:699 within `checkbounds` -└────│││ goto #87 if not %244 -86 ──│││ goto #88 -87 ──│││ invoke Base.throw_boundserror(x::AMDGPU.Device.ROCDeviceVector{Float32, 1}, %237::Tuple{Int64})::Union{} -└────│││ unreachable -88 ──│││ nothing::Nothing - ││└ - ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` - ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` - │││┌ @ Base.jl:49 within `getproperty` -89 ┄─││││ %250 = Base.getfield(x, :ptr)::Core.LLVMPtr{Float32, 1} -│ ││└└ -│ ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -│ │││┌ @ none within `pointerref` -│ ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││ %251 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine float @entry(i8 addrspace(1)* %0, i64 %1) #0 {\nentry:\n %2 = bitcast i8 addrspace(1)* %0 to float addrspace(1)*\n %3 = getelementptr inbounds float, float addrspace(1)* %2, i64 %1\n %4 = load float, float addrspace(1)* %3, align 4, !tbaa !0\n ret float %4\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(1)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} -│ │││││┌ @ int.jl:86 within `-` -│ ││││││ %252 = Base.sub_int(%207, 1)::Int64 -│ │││││└ -│ │││││ %253 = Base.llvmcall(%251, Float32, Tuple{Core.LLVMPtr{Float32, 1}, Int64}, %250, %252)::Float32 -└────│││││ goto #90 -90 ──│││││ nothing::Nothing - │└└└└ -91 ┄─│ %256 = φ (#83 => neutral, #90 => %253)::Float32 -│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:17 within `macro expansion` -│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` -│ ││ %257 = %new(Main.A, %256, %256)::A -│ │└ -│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:18 within `macro expansion` -│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` -│ ││ %258 = %new(Main.A, neutral, neutral)::A -│ │└ -│ │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -│ │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:85 within `__warp_groupreduce` -│ ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:236 within `macro expansion` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:151 within `#SharedMemory` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `alloc_special` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││ %259 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n@\"alloc_special_##static_shmem#231\" = external addrspace(3) global [32 x [2 x float]], align 32\n\n; Function Attrs: alwaysinline\ndefine i8 addrspace(3)* @entry() #0 {\nentry:\n ret i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @\"alloc_special_##static_shmem#231\" to i8 addrspace(3)*)\n}\n\nattributes #0 = { alwaysinline }\n", "entry")::Tuple{String, String} -│ ││││││ %260 = Base.llvmcall(%259, Core.LLVMPtr{A, 3}, Tuple{})::Core.LLVMPtr{A, 3} -│ ││││└└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:152 within `#SharedMemory` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:50 within `ROCDeviceArray` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:59 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:36 -│ │││││ %261 = %new(AMDGPU.Device.ROCDeviceVector{A, 3}, (32,), %260, 32)::AMDGPU.Device.ROCDeviceVector{A, 3} -│ ││└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:87 within `__warp_groupreduce` -│ ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:114 within `#__index_Local_Linear` -│ │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││││ %262 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.x(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.x() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││││ %263 = Base.llvmcall(%262, UInt32, Tuple{})::UInt32 -│ ││││││└└ -│ ││││││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ │││││││ %264 = Base.add_int(%263, 0x00000001)::UInt32 -│ ││││└└└ -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││││ %265 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.y(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.y() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││││ Base.llvmcall(%265, UInt32, Tuple{})::UInt32 -│ ││││└└└└ -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ ││││││││ %267 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine i32 @entry() #0 {\nentry:\n %0 = call i32 @llvm.amdgcn.workitem.id.z(), !range !0\n ret i32 %0\n}\n\n; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)\ndeclare i32 @llvm.amdgcn.workitem.id.z() #1\n\nattributes #0 = { alwaysinline }\nattributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }\n\n!0 = !{i32 0, i32 1023}\n", "entry")::Tuple{String, String} -│ ││││││││ Base.llvmcall(%267, UInt32, Tuple{})::UInt32 -│ ││└└└└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` -│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ │││ %269 = Base.sub_int(%264, 0x00000001)::UInt32 -│ ││└ -│ ││ %270 = KernelAbstractions.__warpsize::UInt32 -│ ││┌ @ int.jl:298 within `rem` -│ │││ %271 = Base.checked_urem_int(%269, %270)::UInt32 -│ ││└ -│ ││┌ @ int.jl:1013 within `+` @ int.jl:87 -│ │││ %272 = Base.add_int(%271, 0x00000001)::UInt32 -│ ││└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` -│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ │││ %273 = Base.sub_int(%264, 0x00000001)::UInt32 -│ ││└ -│ ││ %274 = KernelAbstractions.__warpsize::UInt32 -│ ││┌ @ int.jl:297 within `div` -│ │││ %275 = Base.checked_udiv_int(%273, %274)::UInt32 -│ ││└ -│ ││┌ @ int.jl:1013 within `+` @ int.jl:87 -└────│││ %276 = Base.add_int(%275, 0x00000001)::UInt32 - ││└ - ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` - ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` -92 ┄─│││ %277 = φ (#91 => 0x00000010, #128 => %369)::UInt32 -│ │││ %278 = φ (#91 => %256, #128 => %366)::Float32 -│ │││ %279 = φ (#91 => %256, #128 => %367)::Float32 -│ │││ %280 = φ (#91 => %256, #128 => %366)::Float32 -│ │││ %281 = φ (#91 => %256, #128 => %367)::Float32 -│ │││ %282 = φ (#91 => %257, #128 => %368)::A -│ │││┌ @ operators.jl:379 within `>` -│ ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 -│ │││││ %283 = Base.ult_int(0x00000000, %277)::Bool -│ │││└└ -└────│││ goto #129 if not %283 - │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` - │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 - ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` -93 ──│││││ %285 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %286 = Base.bitcast(Int32, %278)::Int32 -│ │││││└ -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` -│ ││││││││ %287 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ │││││││└ -│ │││││││┌ @ number.jl:7 within `convert` -│ ││││││││┌ @ boot.jl:891 within `Int32` -│ │││││││││┌ @ boot.jl:805 within `toInt32` -│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -│ ││││││││││││ %288 = Core.lshr_int(%287, 31)::UInt32 -│ ││││││││││││ %289 = Core.trunc_int(Core.UInt8, %288)::UInt8 -│ ││││││││││││ %290 = Core.eq_int(%289, 0x01)::Bool -│ │││││││││││└ -└────│││││││││││ goto #95 if not %290 -94 ──│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %287::UInt32)::Union{} -└────│││││││││││ unreachable -95 ──│││││││││││ goto #96 - ││││││││││└ -96 ──││││││││││ %295 = Core.bitcast(Core.Int32, %287)::Int32 -└────││││││││││ goto #97 -97 ──││││││││││ goto #98 -98 ──││││││││││ goto #99 - │││││││└└└ - │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` - │││││││┌ @ boot.jl:891 within `Int32` - ││││││││┌ @ boot.jl:805 within `toInt32` - │││││││││┌ @ boot.jl:756 within `check_sign_bit` - ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -99 ──│││││││││││ %299 = Core.lshr_int(%277, 31)::UInt32 -│ │││││││││││ %300 = Core.trunc_int(Core.UInt8, %299)::UInt8 -│ │││││││││││ %301 = Core.eq_int(%300, 0x01)::Bool -│ ││││││││││└ -└────││││││││││ goto #101 if not %301 -100 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %277::UInt32)::Union{} -└────││││││││││ unreachable -101 ─││││││││││ goto #102 - │││││││││└ -102 ─│││││││││ %306 = Core.bitcast(Core.Int32, %277)::Int32 -└────│││││││││ goto #103 -103 ─│││││││││ goto #104 - │││││││└└ - │││││││┌ @ int.jl:87 within `+` -104 ─││││││││ %309 = Base.add_int(%295, %306)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ ││││││││ %310 = Base.sub_int(%285, 0x00000001)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:1011 within `&` -│ ││││││││┌ @ int.jl:554 within `rem` -│ │││││││││ %311 = Base.bitcast(UInt32, %295)::UInt32 -│ ││││││││└ -│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 -│ ││││││││ %312 = Base.and_int(%311, %310)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:87 within `+` -│ ││││││││ %313 = Base.add_int(%312, %277)::UInt32 -│ │││││││└ -│ │││││││┌ @ operators.jl:426 within `>=` -│ ││││││││┌ @ int.jl:515 within `<=` -│ │││││││││ %314 = Base.ule_int(%285, %313)::Bool -│ │││││││└└ -│ │││││││┌ @ essentials.jl:796 within `ifelse` -│ ││││││││ %315 = Core.ifelse(%314, %295, %309)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -│ │││││││┌ @ int.jl:529 within `<<` -│ ││││││││ %316 = Base.shl_int(%315, 0x02)::Int32 -│ │││││││└ -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` -│ ││││││││ %317 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%316), :(%286), :(%286), :(%316)))::Int32 -└────││││││││ goto #105 -105 ─││││││││ goto #106 - │││││└└└ - │││││┌ @ essentials.jl:730 within `reinterpret` -106 ─││││││ %320 = Base.bitcast(Float32, %317)::Float32 -└────││││││ goto #107 -107 ─││││││ goto #108 -108 ─││││││ goto #109 -109 ─││││││ goto #110 - ││││└└ - ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 - ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` -110 ─│││││ %325 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %326 = Base.bitcast(Int32, %279)::Int32 -│ │││││└ -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` -│ ││││││││ %327 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ │││││││└ -│ │││││││┌ @ number.jl:7 within `convert` -│ ││││││││┌ @ boot.jl:891 within `Int32` -│ │││││││││┌ @ boot.jl:805 within `toInt32` -│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -│ ││││││││││││ %328 = Core.lshr_int(%327, 31)::UInt32 -│ ││││││││││││ %329 = Core.trunc_int(Core.UInt8, %328)::UInt8 -│ ││││││││││││ %330 = Core.eq_int(%329, 0x01)::Bool -│ │││││││││││└ -└────│││││││││││ goto #112 if not %330 -111 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %327::UInt32)::Union{} -└────│││││││││││ unreachable -112 ─│││││││││││ goto #113 - ││││││││││└ -113 ─││││││││││ %335 = Core.bitcast(Core.Int32, %327)::Int32 -└────││││││││││ goto #114 -114 ─││││││││││ goto #115 -115 ─││││││││││ goto #116 - │││││││└└└ - │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` - │││││││┌ @ boot.jl:891 within `Int32` - ││││││││┌ @ boot.jl:805 within `toInt32` - │││││││││┌ @ boot.jl:756 within `check_sign_bit` - ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -116 ─│││││││││││ %339 = Core.lshr_int(%277, 31)::UInt32 -│ │││││││││││ %340 = Core.trunc_int(Core.UInt8, %339)::UInt8 -│ │││││││││││ %341 = Core.eq_int(%340, 0x01)::Bool -│ ││││││││││└ -└────││││││││││ goto #118 if not %341 -117 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %277::UInt32)::Union{} -└────││││││││││ unreachable -118 ─││││││││││ goto #119 - │││││││││└ -119 ─│││││││││ %346 = Core.bitcast(Core.Int32, %277)::Int32 -└────│││││││││ goto #120 -120 ─│││││││││ goto #121 - │││││││└└ - │││││││┌ @ int.jl:87 within `+` -121 ─││││││││ %349 = Base.add_int(%335, %346)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ ││││││││ %350 = Base.sub_int(%325, 0x00000001)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:1011 within `&` -│ ││││││││┌ @ int.jl:554 within `rem` -│ │││││││││ %351 = Base.bitcast(UInt32, %335)::UInt32 -│ ││││││││└ -│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 -│ ││││││││ %352 = Base.and_int(%351, %350)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:87 within `+` -│ ││││││││ %353 = Base.add_int(%352, %277)::UInt32 -│ │││││││└ -│ │││││││┌ @ operators.jl:426 within `>=` -│ ││││││││┌ @ int.jl:515 within `<=` -│ │││││││││ %354 = Base.ule_int(%325, %353)::Bool -│ │││││││└└ -│ │││││││┌ @ essentials.jl:796 within `ifelse` -│ ││││││││ %355 = Core.ifelse(%354, %335, %349)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -│ │││││││┌ @ int.jl:529 within `<<` -│ ││││││││ %356 = Base.shl_int(%355, 0x02)::Int32 -│ │││││││└ -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` -│ ││││││││ %357 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%356), :(%326), :(%326), :(%356)))::Int32 -└────││││││││ goto #122 -122 ─││││││││ goto #123 - │││││└└└ - │││││┌ @ essentials.jl:730 within `reinterpret` -123 ─││││││ %360 = Base.bitcast(Float32, %357)::Float32 -└────││││││ goto #124 -124 ─││││││ goto #125 -125 ─││││││ goto #126 -126 ─││││││ goto #127 -127 ─││││││ goto #128 - │││└└└ - │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 -128 ─││││ %366 = Base.add_float(%280, %320)::Float32 -│ ││││ %367 = Base.add_float(%281, %360)::Float32 -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` -│ │││││ %368 = %new(Main.A, %366, %367)::A -│ │││└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` -│ │││┌ @ int.jl:528 within `>>` -│ ││││ %369 = Base.lshr_int(%277, 0x01)::UInt32 -│ │││└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` -└────│││ goto #92 - │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` -129 ─│││ goto #130 - ││└ - ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` - ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 -130 ─│││ %372 = (%272 === 0x00000001)::Bool -│ ││└ -└────││ goto #138 if not %372 - ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` -131 ─│││ %374 = $(Expr(:boundscheck, false))::Bool -└────│││ goto #136 if not %374 - │││┌ @ abstractarray.jl:697 within `checkbounds` -132 ─││││ %376 = Core.tuple(%276)::Tuple{UInt32} -│ ││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││┌ @ abstractarray.jl:752 within `checkindex` -│ │││││┌ @ int.jl:521 within `<=` @ promotion.jl:485 -│ ││││││┌ @ promotion.jl:400 within `promote` -│ │││││││┌ @ promotion.jl:375 within `_promote` -│ ││││││││┌ @ number.jl:7 within `convert` -│ │││││││││┌ @ boot.jl:897 within `UInt64` -│ ││││││││││┌ @ boot.jl:871 within `toUInt64` -│ │││││││││││ %377 = Core.zext_int(Core.UInt64, %276)::UInt64 -│ ││││││└└└└└ -│ ││││││ @ int.jl:521 within `<=` @ promotion.jl:485 @ int.jl:515 -│ ││││││ %378 = Base.ule_int(0x0000000000000001, %377)::Bool -│ ││││││ @ int.jl:521 within `<=` -│ ││││││┌ @ bool.jl:39 within `|` -│ │││││││ %379 = Base.or_int(false, %378)::Bool -│ ││││││└ -│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 -│ ││││││┌ @ promotion.jl:400 within `promote` -│ │││││││┌ @ promotion.jl:375 within `_promote` -│ ││││││││┌ @ number.jl:7 within `convert` -│ │││││││││┌ @ boot.jl:897 within `UInt64` -│ ││││││││││┌ @ boot.jl:871 within `toUInt64` -│ │││││││││││ %380 = Core.zext_int(Core.UInt64, %276)::UInt64 -│ ││││││└└└└└ -│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 @ int.jl:515 -│ ││││││ %381 = Base.ule_int(%380, 0x0000000000000020)::Bool -│ ││││││ @ int.jl:522 within `<=` -│ ││││││┌ @ bool.jl:38 within `&` -│ │││││││ %382 = Base.and_int(true, %381)::Bool -│ │││││└└ -│ │││││┌ @ bool.jl:38 within `&` -│ ││││││ %383 = Base.and_int(%379, %382)::Bool -│ ││││└└ -│ ││││ @ abstractarray.jl:699 within `checkbounds` -└────││││ goto #134 if not %383 -133 ─││││ goto #135 -134 ─││││ invoke Base.throw_boundserror(%261::AMDGPU.Device.ROCDeviceVector{A, 3}, %376::Tuple{UInt32})::Union{} -└────││││ unreachable -135 ─││││ nothing::Nothing - │││└ - │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` - │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` - ││││┌ @ none within `pointerset` - │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -136 ┄││││││ %389 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine void @entry(i8 addrspace(3)* %0, [2 x float] %1, i32 %2) #0 {\nentry:\n %3 = bitcast i8 addrspace(3)* %0 to [2 x float] addrspace(3)*\n %4 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %3, i32 %2\n store [2 x float] %1, [2 x float] addrspace(3)* %4, align 4, !tbaa !0\n ret void\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(3)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} -│ ││││││┌ @ int.jl:86 within `-` -│ │││││││ %390 = Base.sub_int(%276, 0x00000001)::UInt32 -│ ││││││└ -│ ││││││ Base.llvmcall(%389, Nothing, Tuple{Core.LLVMPtr{A, 3}, A, UInt32}, %260, %282, %390)::Nothing -│ │││└└└ -│ │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` -└────│││ goto #137 -137 ─│││ goto #139 -138 ─│││ nothing::Nothing - ││└ - ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` - ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` - │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` - ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` -139 ┄│││││ $(Expr(:foreigncall, "llvm.amdgcn.s.barrier", Nothing, svec(), 0, :(:llvmcall)))::Nothing -│ ││└└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` -│ ││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ │││ %396 = Base.sub_int(%264, 0x00000001)::UInt32 -│ ││└ -│ ││┌ @ int.jl:520 within `<` @ promotion.jl:484 -│ │││┌ @ promotion.jl:400 within `promote` -│ ││││┌ @ promotion.jl:375 within `_promote` -│ │││││┌ @ number.jl:7 within `convert` -│ ││││││┌ @ boot.jl:897 within `UInt64` -│ │││││││┌ @ boot.jl:871 within `toUInt64` -│ ││││││││ %397 = Core.zext_int(Core.UInt64, %396)::UInt64 -│ │││└└└└└ -│ │││ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 -│ │││ %398 = Base.ult_int(%397, 0x0000000000000008)::Bool -│ │││ @ int.jl:520 within `<` -│ │││┌ @ bool.jl:38 within `&` -│ ││││ %399 = Base.and_int(true, %398)::Bool -│ ││└└ -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` -└────││ goto #147 if not %399 - ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` -140 ─│││ %401 = $(Expr(:boundscheck, false))::Bool -└────│││ goto #145 if not %401 - │││┌ @ abstractarray.jl:697 within `checkbounds` -141 ─││││ %403 = Core.tuple(%272)::Tuple{UInt32} -│ ││││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ ││││┌ @ abstractarray.jl:752 within `checkindex` -│ │││││┌ @ int.jl:521 within `<=` @ promotion.jl:485 -│ ││││││┌ @ promotion.jl:400 within `promote` -│ │││││││┌ @ promotion.jl:375 within `_promote` -│ ││││││││┌ @ number.jl:7 within `convert` -│ │││││││││┌ @ boot.jl:897 within `UInt64` -│ ││││││││││┌ @ boot.jl:871 within `toUInt64` -│ │││││││││││ %404 = Core.zext_int(Core.UInt64, %272)::UInt64 -│ ││││││└└└└└ -│ ││││││ @ int.jl:521 within `<=` @ promotion.jl:485 @ int.jl:515 -│ ││││││ %405 = Base.ule_int(0x0000000000000001, %404)::Bool -│ ││││││ @ int.jl:521 within `<=` -│ ││││││┌ @ bool.jl:39 within `|` -│ │││││││ %406 = Base.or_int(false, %405)::Bool -│ ││││││└ -│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 -│ ││││││┌ @ promotion.jl:400 within `promote` -│ │││││││┌ @ promotion.jl:375 within `_promote` -│ ││││││││┌ @ number.jl:7 within `convert` -│ │││││││││┌ @ boot.jl:897 within `UInt64` -│ ││││││││││┌ @ boot.jl:871 within `toUInt64` -│ │││││││││││ %407 = Core.zext_int(Core.UInt64, %272)::UInt64 -│ ││││││└└└└└ -│ ││││││ @ int.jl:522 within `<=` @ promotion.jl:485 @ int.jl:515 -│ ││││││ %408 = Base.ule_int(%407, 0x0000000000000020)::Bool -│ ││││││ @ int.jl:522 within `<=` -│ ││││││┌ @ bool.jl:38 within `&` -│ │││││││ %409 = Base.and_int(true, %408)::Bool -│ │││││└└ -│ │││││┌ @ bool.jl:38 within `&` -│ ││││││ %410 = Base.and_int(%406, %409)::Bool -│ ││││└└ -│ ││││ @ abstractarray.jl:699 within `checkbounds` -└────││││ goto #143 if not %410 -142 ─││││ goto #144 -143 ─││││ invoke Base.throw_boundserror(%261::AMDGPU.Device.ROCDeviceVector{A, 3}, %403::Tuple{UInt32})::Union{} -└────││││ unreachable -144 ─││││ nothing::Nothing - │││└ - │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` - │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` - ││││┌ @ none within `pointerref` - │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -145 ┄││││││ %416 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine [2 x float] @entry(i8 addrspace(3)* %0, i32 %1) #0 {\nentry:\n %2 = bitcast i8 addrspace(3)* %0 to [2 x float] addrspace(3)*\n %3 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %2, i32 %1\n %4 = load [2 x float], [2 x float] addrspace(3)* %3, align 4, !tbaa !0\n ret [2 x float] %4\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(3)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} -│ ││││││┌ @ int.jl:86 within `-` -│ │││││││ %417 = Base.sub_int(%272, 0x00000001)::UInt32 -│ ││││││└ -│ ││││││ %418 = Base.llvmcall(%416, A, Tuple{Core.LLVMPtr{A, 3}, UInt32}, %260, %417)::A -└────││││││ goto #146 -146 ─││││││ goto #148 -147 ─││││││ nothing::Nothing - ││└└└└ -148 ┄││ %422 = φ (#146 => %418, #147 => %258)::A -│ ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -│ ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 -│ │││ %423 = (%276 === 0x00000001)::Bool -│ ││└ -└────││ goto #189 if not %423 -149 ─││ nothing::Nothing - ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` -150 ┄│││ %426 = φ (#149 => 0x00000010, #186 => %518)::UInt32 -│ │││ %427 = φ (#149 => %422, #186 => %517)::A -│ │││┌ @ operators.jl:379 within `>` -│ ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 -│ │││││ %428 = Base.ult_int(0x00000000, %426)::Bool -│ │││└└ -└────│││ goto #187 if not %428 - │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` - │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` - ││││┌ @ Base.jl:49 within `getproperty` -151 ─│││││ %430 = Base.getfield(%427, :x)::Float32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` -│ │││││ %431 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %432 = Base.bitcast(Int32, %430)::Int32 -│ │││││└ -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` -│ ││││││││ %433 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ │││││││└ -│ │││││││┌ @ number.jl:7 within `convert` -│ ││││││││┌ @ boot.jl:891 within `Int32` -│ │││││││││┌ @ boot.jl:805 within `toInt32` -│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -│ ││││││││││││ %434 = Core.lshr_int(%433, 31)::UInt32 -│ ││││││││││││ %435 = Core.trunc_int(Core.UInt8, %434)::UInt8 -│ ││││││││││││ %436 = Core.eq_int(%435, 0x01)::Bool -│ │││││││││││└ -└────│││││││││││ goto #153 if not %436 -152 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %433::UInt32)::Union{} -└────│││││││││││ unreachable -153 ─│││││││││││ goto #154 - ││││││││││└ -154 ─││││││││││ %441 = Core.bitcast(Core.Int32, %433)::Int32 -└────││││││││││ goto #155 -155 ─││││││││││ goto #156 -156 ─││││││││││ goto #157 - │││││││└└└ - │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` - │││││││┌ @ boot.jl:891 within `Int32` - ││││││││┌ @ boot.jl:805 within `toInt32` - │││││││││┌ @ boot.jl:756 within `check_sign_bit` - ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -157 ─│││││││││││ %445 = Core.lshr_int(%426, 31)::UInt32 -│ │││││││││││ %446 = Core.trunc_int(Core.UInt8, %445)::UInt8 -│ │││││││││││ %447 = Core.eq_int(%446, 0x01)::Bool -│ ││││││││││└ -└────││││││││││ goto #159 if not %447 -158 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %426::UInt32)::Union{} -└────││││││││││ unreachable -159 ─││││││││││ goto #160 - │││││││││└ -160 ─│││││││││ %452 = Core.bitcast(Core.Int32, %426)::Int32 -└────│││││││││ goto #161 -161 ─│││││││││ goto #162 - │││││││└└ - │││││││┌ @ int.jl:87 within `+` -162 ─││││││││ %455 = Base.add_int(%441, %452)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ ││││││││ %456 = Base.sub_int(%431, 0x00000001)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:1011 within `&` -│ ││││││││┌ @ int.jl:554 within `rem` -│ │││││││││ %457 = Base.bitcast(UInt32, %441)::UInt32 -│ ││││││││└ -│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 -│ ││││││││ %458 = Base.and_int(%457, %456)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:87 within `+` -│ ││││││││ %459 = Base.add_int(%458, %426)::UInt32 -│ │││││││└ -│ │││││││┌ @ operators.jl:426 within `>=` -│ ││││││││┌ @ int.jl:515 within `<=` -│ │││││││││ %460 = Base.ule_int(%431, %459)::Bool -│ │││││││└└ -│ │││││││┌ @ essentials.jl:796 within `ifelse` -│ ││││││││ %461 = Core.ifelse(%460, %441, %455)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -│ │││││││┌ @ int.jl:529 within `<<` -│ ││││││││ %462 = Base.shl_int(%461, 0x02)::Int32 -│ │││││││└ -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` -│ ││││││││ %463 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%462), :(%432), :(%432), :(%462)))::Int32 -└────││││││││ goto #163 -163 ─││││││││ goto #164 - │││││└└└ - │││││┌ @ essentials.jl:730 within `reinterpret` -164 ─││││││ %466 = Base.bitcast(Float32, %463)::Float32 -└────││││││ goto #165 -165 ─││││││ goto #166 -166 ─││││││ goto #167 -167 ─││││││ goto #168 - ││││└└ - ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` - ││││┌ @ Base.jl:49 within `getproperty` -168 ─│││││ %471 = Base.getfield(%427, :y)::Float32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` -│ │││││ %472 = $(Expr(:foreigncall, "llvm.amdgcn.wavefrontsize", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %473 = Base.bitcast(Int32, %471)::Int32 -│ │││││└ -│ │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` -│ ││││││││ %474 = $(Expr(:foreigncall, "extern __ockl_activelane_u32", UInt32, svec(), 0, :(:llvmcall)))::UInt32 -│ │││││││└ -│ │││││││┌ @ number.jl:7 within `convert` -│ ││││││││┌ @ boot.jl:891 within `Int32` -│ │││││││││┌ @ boot.jl:805 within `toInt32` -│ ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -│ │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -│ ││││││││││││ %475 = Core.lshr_int(%474, 31)::UInt32 -│ ││││││││││││ %476 = Core.trunc_int(Core.UInt8, %475)::UInt8 -│ ││││││││││││ %477 = Core.eq_int(%476, 0x01)::Bool -│ │││││││││││└ -└────│││││││││││ goto #170 if not %477 -169 ─│││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %474::UInt32)::Union{} -└────│││││││││││ unreachable -170 ─│││││││││││ goto #171 - ││││││││││└ -171 ─││││││││││ %482 = Core.bitcast(Core.Int32, %474)::Int32 -└────││││││││││ goto #172 -172 ─││││││││││ goto #173 -173 ─││││││││││ goto #174 - │││││││└└└ - │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` - │││││││┌ @ boot.jl:891 within `Int32` - ││││││││┌ @ boot.jl:805 within `toInt32` - │││││││││┌ @ boot.jl:756 within `check_sign_bit` - ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` -174 ─│││││││││││ %486 = Core.lshr_int(%426, 31)::UInt32 -│ │││││││││││ %487 = Core.trunc_int(Core.UInt8, %486)::UInt8 -│ │││││││││││ %488 = Core.eq_int(%487, 0x01)::Bool -│ ││││││││││└ -└────││││││││││ goto #176 if not %488 -175 ─││││││││││ invoke Core.throw_inexacterror(:convert::Symbol, Int32::Type{Int32}, %426::UInt32)::Union{} -└────││││││││││ unreachable -176 ─││││││││││ goto #177 - │││││││││└ -177 ─│││││││││ %493 = Core.bitcast(Core.Int32, %426)::Int32 -└────│││││││││ goto #178 -178 ─│││││││││ goto #179 - │││││││└└ - │││││││┌ @ int.jl:87 within `+` -179 ─││││││││ %496 = Base.add_int(%482, %493)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -│ │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 -│ ││││││││ %497 = Base.sub_int(%472, 0x00000001)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:1011 within `&` -│ ││││││││┌ @ int.jl:554 within `rem` -│ │││││││││ %498 = Base.bitcast(UInt32, %482)::UInt32 -│ ││││││││└ -│ ││││││││ @ int.jl:1013 within `&` @ int.jl:347 -│ ││││││││ %499 = Base.and_int(%498, %497)::UInt32 -│ │││││││└ -│ │││││││┌ @ int.jl:87 within `+` -│ ││││││││ %500 = Base.add_int(%499, %426)::UInt32 -│ │││││││└ -│ │││││││┌ @ operators.jl:426 within `>=` -│ ││││││││┌ @ int.jl:515 within `<=` -│ │││││││││ %501 = Base.ule_int(%472, %500)::Bool -│ │││││││└└ -│ │││││││┌ @ essentials.jl:796 within `ifelse` -│ ││││││││ %502 = Core.ifelse(%501, %482, %496)::Int32 -│ │││││││└ -│ │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -│ │││││││┌ @ int.jl:529 within `<<` -│ ││││││││ %503 = Base.shl_int(%502, 0x02)::Int32 -│ │││││││└ -│ │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` -│ ││││││││ %504 = $(Expr(:foreigncall, "llvm.amdgcn.ds.bpermute", Int32, svec(Int32, Int32), 0, :(:llvmcall), :(%503), :(%473), :(%473), :(%503)))::Int32 -└────││││││││ goto #180 -180 ─││││││││ goto #181 - │││││└└└ - │││││┌ @ essentials.jl:730 within `reinterpret` -181 ─││││││ %507 = Base.bitcast(Float32, %504)::Float32 -└────││││││ goto #182 -182 ─││││││ goto #183 -183 ─││││││ goto #184 -184 ─││││││ goto #185 -185 ─││││││ goto #186 - │││└└└ - │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` - ││││┌ @ Base.jl:49 within `getproperty` -186 ─│││││ %513 = Base.getfield(%427, :x)::Float32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 -│ ││││ %514 = Base.add_float(%513, %466)::Float32 -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -│ ││││┌ @ Base.jl:49 within `getproperty` -│ │││││ %515 = Base.getfield(%427, :y)::Float32 -│ ││││└ -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 -│ ││││ %516 = Base.add_float(%515, %507)::Float32 -│ ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -│ ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` -│ │││││ %517 = %new(Main.A, %514, %516)::A -│ │││└└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` -│ │││┌ @ int.jl:528 within `>>` -│ ││││ %518 = Base.lshr_int(%426, 0x01)::UInt32 -│ │││└ -│ │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` -└────│││ goto #150 - │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` -187 ─│││ goto #188 -188 ─│││ nothing::Nothing - ││└ - ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:100 within `__warp_groupreduce` -189 ┄││ %522 = φ (#188 => %427, #148 => %422)::A -└────││ goto #190 - │└ - │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` - │┌ @ promotion.jl:639 within `==` -190 ─││ %524 = (%207 === 1)::Bool -│ │└ -└────│ goto #198 if not %524 - │┌ @ Base.jl:49 within `getproperty` -191 ─││ %526 = Base.getfield(%522, :x)::Float32 -│ ││ %527 = Base.getfield(%522, :y)::Float32 -│ │└ -│ │┌ @ float.jl:491 within `+` -│ ││ %528 = Base.add_float(%526, %527)::Float32 -│ │└ -│ │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` -│ ││ %529 = $(Expr(:boundscheck, true))::Bool -└────││ goto #196 if not %529 - ││┌ @ abstractarray.jl:697 within `checkbounds` -192 ─│││ %531 = Core.tuple(1)::Tuple{Int64} -│ │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -│ │││┌ @ abstractarray.jl:389 within `eachindex` -│ ││││┌ @ abstractarray.jl:137 within `axes1` -│ │││││┌ @ abstractarray.jl:98 within `axes` -│ ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` -│ │││││││┌ @ Base.jl:49 within `getproperty` -│ ││││││││ %532 = Base.getfield(y, :dims)::Tuple{Int64} -│ ││││││└└ -│ ││││││┌ @ tuple.jl:355 within `map` -│ │││││││┌ @ tuple.jl:31 within `getindex` -│ ││││││││ %533 = $(Expr(:boundscheck, true))::Bool -│ ││││││││ %534 = Base.getfield(%532, 1, %533)::Int64 -│ │││└└└└└ -│ │││┌ @ abstractarray.jl:754 within `checkindex` -│ ││││┌ @ int.jl:86 within `-` -│ │││││ %535 = Base.sub_int(1, 1)::Int64 -│ ││││└ -│ ││││┌ @ essentials.jl:668 within `unsigned` -│ │││││┌ @ essentials.jl:730 within `reinterpret` -│ ││││││ %536 = Base.bitcast(UInt64, %535)::UInt64 -│ ││││││ @ essentials.jl:730 within `reinterpret` -│ ││││││ %537 = Base.bitcast(UInt64, %534)::UInt64 -│ ││││└└ -│ ││││┌ @ int.jl:513 within `<` -│ │││││ %538 = Base.ult_int(%536, %537)::Bool -│ │││└└ -│ │││ @ abstractarray.jl:699 within `checkbounds` -└────│││ goto #194 if not %538 -193 ─│││ goto #195 -194 ─│││ invoke Base.throw_boundserror(y::AMDGPU.Device.ROCDeviceVector{Float32, 1}, %531::Tuple{Int64})::Union{} -└────│││ unreachable -195 ─│││ nothing::Nothing - ││└ - ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` - ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` - │││┌ @ Base.jl:49 within `getproperty` -196 ┄││││ %544 = Base.getfield(y, :ptr)::Core.LLVMPtr{Float32, 1} -│ ││└└ -│ ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` -│ │││┌ @ none within `pointerset` -│ ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 -│ │││││ %545 = Core.tuple("; ModuleID = 'llvmcall'\nsource_filename = \"llvmcall\"\n\n; Function Attrs: alwaysinline\ndefine void @entry(i8 addrspace(1)* %0, float %1, i64 %2) #0 {\nentry:\n %3 = bitcast i8 addrspace(1)* %0 to float addrspace(1)*\n %4 = getelementptr inbounds float, float addrspace(1)* %3, i64 %2\n store float %1, float addrspace(1)* %4, align 4, !tbaa !0\n ret void\n}\n\nattributes #0 = { alwaysinline }\n\n!0 = !{!1, !1, i64 0, i64 0}\n!1 = !{!\"custom_tbaa_addrspace(1)\", !2, i64 0}\n!2 = !{!\"custom_tbaa\"}\n", "entry")::Tuple{String, String} -│ │││││┌ @ int.jl:86 within `-` -│ ││││││ %546 = Base.sub_int(1, 1)::Int64 -│ │││││└ -│ │││││ Base.llvmcall(%545, Nothing, Tuple{Core.LLVMPtr{Float32, 1}, Float32, Int64}, %544, %528, %546)::Nothing -│ ││└└└ -│ ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` -└────││ goto #197 -197 ─││ nothing::Nothing - └└ - @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 within `gpu_groupreduce_1!` -198 ┄ return Main.nothing -) => Nothing diff --git a/devcode/gpu_groupreduce_1!_1.unopt.ll b/devcode/gpu_groupreduce_1!_1.unopt.ll deleted file mode 100644 index fd0dd4948..000000000 --- a/devcode/gpu_groupreduce_1!_1.unopt.ll +++ /dev/null @@ -1,3264 +0,0 @@ -; ModuleID = 'start' -source_filename = "start" -target datalayout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32: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-ni:10:11:12:13" -target triple = "amdgcn-amd-amdhsa" - -@jl_nothing = external local_unnamed_addr addrspace(1) constant {}* -@_j_const_1 = private unnamed_addr addrspace(1) constant [1 x i64] [i64 32], align 8 -@_j_const_2 = private unnamed_addr addrspace(1) constant i64 32, align 8 -@_j_const_3 = private unnamed_addr addrspace(1) constant i64 1, align 8 -@"alloc_special_##static_shmem#231" = external addrspace(3) global [32 x [2 x float]], align 32 -@exception.5 = private unnamed_addr constant [10 x i8] c"exception\00", align 1 -@_j_const_1.19 = private unnamed_addr addrspace(1) constant i32 1, align 4 -@__oclc_wavefrontsize64 = internal unnamed_addr addrspace(4) constant i8 0, align 1 - -declare {}*** @julia.get_pgcstack() local_unnamed_addr - -; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) -declare void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* noalias nocapture writeonly, i8 addrspace(5)* noalias nocapture readonly, i64, i1 immarg) #0 - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.end.p5i8(i64 immarg, i8 addrspace(5)* nocapture) #1 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.wavefrontsize() #2 - -; Function Attrs: cold noreturn nounwind -declare void @llvm.trap() #3 - -; Function Attrs: convergent nocallback nofree nounwind willreturn memory(none) -declare i32 @llvm.amdgcn.ds.bpermute(i32, i32) #4 - -; Function Attrs: convergent nocallback nofree nounwind willreturn -declare void @llvm.amdgcn.s.barrier() #5 - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) -declare void @llvm.lifetime.start.p5i8(i64 immarg, i8 addrspace(5)* nocapture) #1 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workgroup.id.x() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workgroup.id.y() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workgroup.id.z() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workitem.id.x() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workitem.id.y() #2 - -; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none) -declare i32 @llvm.amdgcn.workitem.id.z() #2 - -; Function Attrs: nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) -declare void @llvm.assume(i1 noundef) #6 - -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:40 within `#throw_inexacterror` -; Function Attrs: alwaysinline noreturn -define internal fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* noundef nonnull %0, i32 zeroext %1) unnamed_addr #7 !dbg !44 { -top: - %pgcstack = call {}*** @julia.get_pgcstack() - %2 = bitcast {}*** %pgcstack to {}** - %current_task = getelementptr inbounds {}*, {}** %2, i64 -14 - %3 = bitcast {}** %current_task to i64* - %world_age = getelementptr inbounds i64, i64* %3, i64 15 -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_inexacterror` - %4 = bitcast {}* inttoptr (i64 130978849182544 to {}*) to {} addrspace(10)**, !dbg !48 - %5 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %4, i64 0, !dbg !48 - %6 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !48 - %7 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %6, i64 0, !dbg !48 - %8 = load {}*, {}* addrspace(1)* @jl_nothing, align 8, !dbg !48, !tbaa !49, !invariant.load !47, !alias.scope !53, !noalias !56, !nonnull !47 - call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception.5 to i64)), !dbg !48 - call fastcc void @gpu_signal_exception(), !dbg !48 - call void @llvm.trap(), !dbg !48 - unreachable, !dbg !48 -} - -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:44 within `#throw_boundserror` -; Function Attrs: alwaysinline noreturn -define internal fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(24) %0, [1 x i64] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(8) %1) unnamed_addr #7 !dbg !61 { -top: - %pgcstack = call {}*** @julia.get_pgcstack() - %2 = bitcast {}*** %pgcstack to {}** - %current_task = getelementptr inbounds {}*, {}** %2, i64 -14 - %3 = bitcast {}** %current_task to i64* - %world_age = getelementptr inbounds i64, i64* %3, i64 15 -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:8 within `#throw_boundserror` - %4 = bitcast {}* inttoptr (i64 130978849182544 to {}*) to {} addrspace(10)**, !dbg !62 - %5 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %4, i64 0, !dbg !62 - %6 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !62 - %7 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %6, i64 0, !dbg !62 - %8 = load {}*, {}* addrspace(1)* @jl_nothing, align 8, !dbg !62, !tbaa !49, !invariant.load !47, !alias.scope !53, !noalias !56, !nonnull !47 - call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception.5 to i64)), !dbg !62 - call fastcc void @gpu_signal_exception(), !dbg !62 - call void @llvm.trap(), !dbg !62 - unreachable, !dbg !62 -} - -; @ none within `gpu_groupreduce_1!` -define amdgpu_kernel void @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_({ [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } %2, float %3) local_unnamed_addr #8 !dbg !63 { -conversion: - %4 = alloca { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, align 8, addrspace(5) - %5 = addrspacecast { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(5)* %4 to { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* - store { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } %0, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, align 8 - %6 = alloca { [1 x i64], i8 addrspace(1)*, i64 }, align 8, addrspace(5) - %7 = addrspacecast { [1 x i64], i8 addrspace(1)*, i64 } addrspace(5)* %6 to { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* - store { [1 x i64], i8 addrspace(1)*, i64 } %1, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, align 8 - %8 = alloca { [1 x i64], i8 addrspace(1)*, i64 }, align 8, addrspace(5) - %9 = addrspacecast { [1 x i64], i8 addrspace(1)*, i64 } addrspace(5)* %8 to { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* - store { [1 x i64], i8 addrspace(1)*, i64 } %2, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, align 8 - br label %top - -top: ; preds = %conversion - %10 = alloca [1 x i64], align 8, addrspace(5) - %11 = alloca [1 x i64], align 8, addrspace(5) - %12 = alloca [1 x i64], align 8, addrspace(5) - %13 = alloca [1 x i64], align 8, addrspace(5) - %14 = alloca [1 x i64], align 8, addrspace(5) - %15 = alloca [1 x i64], align 8, addrspace(5) - %16 = alloca [1 x i64], align 8, addrspace(5) - %17 = alloca [1 x i64], align 8, addrspace(5) - %18 = alloca [1 x [1 x [1 x i64]]], align 8, addrspace(5) - %19 = alloca [1 x i64], align 8, addrspace(5) - %20 = alloca [2 x float], align 4, addrspace(5) - %21 = alloca [2 x float], align 4, addrspace(5) - %22 = alloca { [1 x i64], i8 addrspace(3)*, i64 }, align 8, addrspace(5) - %23 = alloca [2 x float], align 4, addrspace(5) - %24 = alloca [2 x float], align 4, addrspace(5) - %25 = alloca [2 x float], align 4, addrspace(5) - %26 = alloca [1 x i32], align 4, addrspace(5) - %27 = alloca [1 x i32], align 4, addrspace(5) - %28 = alloca [2 x float], align 4, addrspace(5) - %29 = alloca [2 x float], align 4, addrspace(5) - %30 = alloca [2 x float], align 4, addrspace(5) - %31 = alloca [2 x float], align 4, addrspace(5) - %32 = alloca [2 x float], align 4, addrspace(5) - %33 = alloca [2 x float], align 4, addrspace(5) - %34 = alloca [2 x float], align 4, addrspace(5) - %35 = alloca [2 x float], align 4, addrspace(5) - %36 = alloca [1 x i64], align 8, addrspace(5) - %37 = alloca [1 x i64], align 8, addrspace(5) - %pgcstack = call {}*** @julia.get_pgcstack() - %38 = bitcast {}*** %pgcstack to {}** - %current_task = getelementptr inbounds {}*, {}** %38, i64 -14 - %39 = bitcast {}** %current_task to i64* - %world_age = getelementptr inbounds i64, i64* %39, i64 15 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:96 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:141 within `#__validindex` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` -; ││┌ @ Base.jl:49 within `getproperty` - %40 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !65 - %41 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %40, i64 0, !dbg !65 - %42 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 1, !dbg !65 -; │└└ -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %43 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !78 - %44 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %43, i64 0, !dbg !78 - %45 = addrspacecast {}* inttoptr (i64 130978984494560 to {}*) to {} addrspace(10)*, !dbg !78 - %46 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %45, 0, !dbg !78 - %47 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !78 - %48 = insertvalue [2 x {} addrspace(10)*] %46, {} addrspace(10)* %47, 1, !dbg !78 - %49 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !78 - %50 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %49, i64 0, !dbg !78 - %51 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !78, !range !92 -; ││││└└ -; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %52 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !93 - %53 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %52, i64 0, !dbg !93 - %54 = add i32 %51, 1, !dbg !93 -; ││└└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %55 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !97 - %56 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %55, i64 0, !dbg !97 - %57 = addrspacecast {}* inttoptr (i64 130978984495056 to {}*) to {} addrspace(10)*, !dbg !97 - %58 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %57, 0, !dbg !97 - %59 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !97 - %60 = insertvalue [2 x {} addrspace(10)*] %58, {} addrspace(10)* %59, 1, !dbg !97 - %61 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !97 - %62 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %61, i64 0, !dbg !97 - %63 = call i32 @llvm.amdgcn.workgroup.id.y(), !dbg !97, !range !92 -; ││└└└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %64 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !104 - %65 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %64, i64 0, !dbg !104 - %66 = addrspacecast {}* inttoptr (i64 130978984496048 to {}*) to {} addrspace(10)*, !dbg !104 - %67 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %66, 0, !dbg !104 - %68 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !104 - %69 = insertvalue [2 x {} addrspace(10)*] %67, {} addrspace(10)* %68, 1, !dbg !104 - %70 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !104 - %71 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %70, i64 0, !dbg !104 - %72 = call i32 @llvm.amdgcn.workgroup.id.z(), !dbg !104, !range !92 -; │└└└└└ -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %73 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !111 - %74 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %73, i64 0, !dbg !111 - %75 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !111 - %76 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %75, 0, !dbg !111 - %77 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !111 - %78 = insertvalue [2 x {} addrspace(10)*] %76, {} addrspace(10)* %77, 1, !dbg !111 - %79 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !111 - %80 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %79, i64 0, !dbg !111 - %81 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !111, !range !120 -; ││││└└ -; ││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %82 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !121 - %83 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %82, i64 0, !dbg !121 - %84 = add i32 %81, 1, !dbg !121 -; ││└└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %85 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !123 - %86 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %85, i64 0, !dbg !123 - %87 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !123 - %88 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %87, 0, !dbg !123 - %89 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !123 - %90 = insertvalue [2 x {} addrspace(10)*] %88, {} addrspace(10)* %89, 1, !dbg !123 - %91 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !123 - %92 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %91, i64 0, !dbg !123 - %93 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !123, !range !120 -; ││└└└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %94 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !130 - %95 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %94, i64 0, !dbg !130 - %96 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !130 - %97 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %96, 0, !dbg !130 - %98 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !130 - %99 = insertvalue [2 x {} addrspace(10)*] %97, {} addrspace(10)* %98, 1, !dbg !130 - %100 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !130 - %101 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %100, i64 0, !dbg !130 - %102 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !130, !range !120 -; │└└└└└ -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` -; │││┌ @ Base.jl:49 within `getproperty` - %103 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !137 - %104 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %103, i64 0, !dbg !137 - %105 = getelementptr inbounds { [1 x [1 x [1 x i64]]] }, { [1 x [1 x [1 x i64]]] } addrspace(11)* %42, i32 0, i32 0, !dbg !137 -; ││└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -; │││┌ @ ntuple.jl:48 within `ntuple` -; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` -; │││││┌ @ Base.jl:49 within `getproperty` - %106 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !143 - %107 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %106, i64 0, !dbg !143 - %108 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %105, i32 0, i32 0, !dbg !143 -; │││││└ -; │││││┌ @ tuple.jl:31 within `getindex` - %109 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !152 - %110 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %109, i64 0, !dbg !152 - %111 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %108, i32 0, i32 0, !dbg !152 -; │││││└ -; │││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -; │││││┌ @ Base.jl:49 within `getproperty` - %112 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !155 - %113 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %112, i64 0, !dbg !155 - %114 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %111, i32 0, i32 0, !dbg !155 -; │││││└ -; │││││┌ @ operators.jl:379 within `>` -; ││││││┌ @ int.jl:83 within `<` - %115 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !157 - %116 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %115, i64 0, !dbg !157 - %117 = load i64, i64 addrspace(11)* %114, align 8, !dbg !157, !alias.scope !53, !noalias !56 - %118 = icmp slt i64 0, %117, !dbg !157 -; │││││└└ -; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` - %119 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !162 - %120 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %119, i64 0, !dbg !162 - %121 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !162 - %122 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %121, 0, !dbg !162 - %123 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !162 - %124 = insertvalue [2 x {} addrspace(10)*] %122, {} addrspace(10)* %123, 1, !dbg !162 - %125 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !162 - %126 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %125, i64 0, !dbg !162 - %127 = zext i1 %118 to i8, !dbg !162 - call void @llvm.assume(i1 %118), !dbg !162 -; ││└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -; │││┌ @ ntuple.jl:48 within `ntuple` -; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` - %128 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !164 - %129 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %128, i64 0, !dbg !164 - %130 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !164 - %131 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %130, 0, !dbg !164 - %132 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !164 - %133 = insertvalue [2 x {} addrspace(10)*] %131, {} addrspace(10)* %132, 1, !dbg !164 - %134 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !164 - %135 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %134, i64 0, !dbg !164 - call void @llvm.assume(i1 true), !dbg !164 -; ││└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -; ││┌ @ abstractarray.jl:1312 within `getindex` -; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -; │││││┌ @ number.jl:7 within `convert` -; ││││││┌ @ boot.jl:892 within `Int64` -; │││││││┌ @ boot.jl:816 within `toInt64` - %136 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !169 - %137 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %136, i64 0, !dbg !169 - %138 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !169 - %139 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %138, i64 0, !dbg !169 - %140 = zext i32 %54 to i64, !dbg !169 -; │││└└└└└ -; │││┌ @ abstractarray.jl:1358 within `_getindex` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` - br label %L43, !dbg !188 - -L43: ; preds = %top -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` -; │││││┌ @ Base.jl:49 within `getproperty` - %141 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !192 - %142 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %141, i64 0, !dbg !192 - %143 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %105, i32 0, i32 0, !dbg !192 -; │││││└ -; │││││┌ @ tuple.jl:382 within `map` -; ││││││┌ @ tuple.jl:31 within `getindex` - %144 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !194 - %145 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %144, i64 0, !dbg !194 - %146 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %143, i32 0, i32 0, !dbg !194 -; ││││││└ -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -; │││││││┌ @ array.jl:3076 within `getindex` -; ││││││││┌ @ range.jl:922 within `_getindex` - br label %L59, !dbg !197 - -L59: ; preds = %L43 -; │││││││││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L60, !dbg !205 - -L60: ; preds = %L59 - br label %L61, !dbg !205 - -L61: ; preds = %L60 - br label %L62, !dbg !205 - -L62: ; preds = %L61 - br label %L63, !dbg !205 - -L63: ; preds = %L62 - br label %L64, !dbg !205 - -L64: ; preds = %L63 - br label %L65, !dbg !205 - -L65: ; preds = %L64 - br label %L66, !dbg !205 - -L66: ; preds = %L65 -; │││└└└└└└└ -; │││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -; ││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -; │││││┌ @ number.jl:7 within `convert` -; ││││││┌ @ boot.jl:892 within `Int64` -; │││││││┌ @ boot.jl:816 within `toInt64` - %147 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !169 - %148 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %147, i64 0, !dbg !169 - %149 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !169 - %150 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %149, i64 0, !dbg !169 - %151 = zext i32 %84 to i64, !dbg !169 -; │││└└└└└ -; │││┌ @ abstractarray.jl:1358 within `_getindex` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` - br label %L78, !dbg !188 - -L78: ; preds = %L66 -; │││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` -; │││││┌ @ tuple.jl:382 within `map` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -; │││││││┌ @ array.jl:3076 within `getindex` -; ││││││││┌ @ range.jl:922 within `_getindex` - br label %L89, !dbg !197 - -L89: ; preds = %L78 -; │││││││││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L90, !dbg !205 - -L90: ; preds = %L89 - br label %L91, !dbg !205 - -L91: ; preds = %L90 - br label %L92, !dbg !205 - -L92: ; preds = %L91 - br label %L93, !dbg !205 - -L93: ; preds = %L92 - br label %L94, !dbg !205 - -L94: ; preds = %L93 - br label %L95, !dbg !205 - -L95: ; preds = %L94 - br label %L96, !dbg !205 - -L96: ; preds = %L95 -; ││└└└└└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 -; ││┌ @ ntuple.jl:48 within `ntuple` -; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` -; ││││┌ @ int.jl:86 within `-` - %152 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !207 - %153 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %152, i64 0, !dbg !207 - %154 = sub i64 %140, 1, !dbg !207 -; ││││└ -; ││││┌ @ int.jl:88 within `*` - %155 = bitcast {}* inttoptr (i64 130978868085040 to {}*) to {} addrspace(10)**, !dbg !213 - %156 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %155, i64 0, !dbg !213 - %157 = mul i64 %154, 256, !dbg !213 -; ││││└ -; ││││┌ @ int.jl:87 within `+` - %158 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !215 - %159 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %158, i64 0, !dbg !215 - %160 = add i64 %157, %151, !dbg !215 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` - br label %L100, !dbg !187 - -L100: ; preds = %L96 -; │└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:142 within `#__validindex` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` -; ││┌ @ Base.jl:49 within `getproperty` - %161 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !216 - %162 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %161, i64 0, !dbg !216 - %163 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 0, !dbg !216 -; │└└ -; │┌ @ multidimensional.jl:477 within `in` -; ││┌ @ Base.jl:49 within `getproperty` - %164 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !220 - %165 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %164, i64 0, !dbg !220 - %166 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %163, i32 0, i32 0, !dbg !220 -; ││└ -; ││┌ @ tuple.jl:382 within `map` -; │││┌ @ tuple.jl:31 within `getindex` - %167 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !224 - %168 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %167, i64 0, !dbg !224 - %169 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %166, i32 0, i32 0, !dbg !224 -; │││└ -; │││┌ @ range.jl:1426 within `in` -; ││││┌ @ int.jl:514 within `<=` - %170 = bitcast {}* inttoptr (i64 130978868083024 to {}*) to {} addrspace(10)**, !dbg !226 - %171 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %170, i64 0, !dbg !226 - %172 = icmp sle i64 1, %160, !dbg !226 -; ││││└ -; ││││┌ @ range.jl:846 within `last` -; │││││┌ @ Base.jl:49 within `getproperty` - %173 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !230 - %174 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %173, i64 0, !dbg !230 - %175 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %169, i32 0, i32 0, !dbg !230 -; ││││└└ -; ││││┌ @ int.jl:514 within `<=` - %176 = bitcast {}* inttoptr (i64 130978868083024 to {}*) to {} addrspace(10)**, !dbg !226 - %177 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %176, i64 0, !dbg !226 - %178 = load i64, i64 addrspace(11)* %175, align 8, !dbg !226, !alias.scope !53, !noalias !56 - %179 = icmp sle i64 %160, %178, !dbg !226 -; ││││└ -; ││││┌ @ bool.jl:38 within `&` - %180 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !233 - %181 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %180, i64 0, !dbg !233 - %182 = and i1 %172, %179, !dbg !233 -; │└└└└ - br label %L109, !dbg !219 - -L109: ; preds = %L100 -; └ - %183 = xor i1 %182, true, !dbg !74 - br i1 %183, label %L550, label %L110, !dbg !74 - -L110: ; preds = %L109 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:15 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:122 within `#__index_Global_Linear` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:23 within `__iterspace` -; │││┌ @ Base.jl:49 within `getproperty` - %184 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !236 - %185 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %184, i64 0, !dbg !236 - %186 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 1, !dbg !236 -; ││└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:172 within `blockIdx` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_x` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %187 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !244 - %188 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %187, i64 0, !dbg !244 - %189 = addrspacecast {}* inttoptr (i64 130978984494560 to {}*) to {} addrspace(10)*, !dbg !244 - %190 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %189, 0, !dbg !244 - %191 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !244 - %192 = insertvalue [2 x {} addrspace(10)*] %190, {} addrspace(10)* %191, 1, !dbg !244 - %193 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !244 - %194 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %193, i64 0, !dbg !244 - %195 = call i32 @llvm.amdgcn.workgroup.id.x(), !dbg !244, !range !92 -; │││││└└ -; │││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %196 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !250 - %197 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %196, i64 0, !dbg !250 - %198 = add i32 %195, 1, !dbg !250 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_y` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_y` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %199 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !252 - %200 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %199, i64 0, !dbg !252 - %201 = addrspacecast {}* inttoptr (i64 130978984495056 to {}*) to {} addrspace(10)*, !dbg !252 - %202 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %201, 0, !dbg !252 - %203 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !252 - %204 = insertvalue [2 x {} addrspace(10)*] %202, {} addrspace(10)* %203, 1, !dbg !252 - %205 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !252 - %206 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %205, i64 0, !dbg !252 - %207 = call i32 @llvm.amdgcn.workgroup.id.y(), !dbg !252, !range !92 -; │││└└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:95 within `blockIdx_z` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:93 within `workgroupIdx_z` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %208 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !257 - %209 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %208, i64 0, !dbg !257 - %210 = addrspacecast {}* inttoptr (i64 130978984496048 to {}*) to {} addrspace(10)*, !dbg !257 - %211 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %210, 0, !dbg !257 - %212 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !257 - %213 = insertvalue [2 x {} addrspace(10)*] %211, {} addrspace(10)* %212, 1, !dbg !257 - %214 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !257 - %215 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %214, i64 0, !dbg !257 - %216 = call i32 @llvm.amdgcn.workgroup.id.z(), !dbg !257, !range !92 -; ││└└└└└ -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %217 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !262 - %218 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %217, i64 0, !dbg !262 - %219 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !262 - %220 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %219, 0, !dbg !262 - %221 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !262 - %222 = insertvalue [2 x {} addrspace(10)*] %220, {} addrspace(10)* %221, 1, !dbg !262 - %223 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !262 - %224 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %223, i64 0, !dbg !262 - %225 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !262, !range !120 -; │││││└└ -; │││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %226 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !268 - %227 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %226, i64 0, !dbg !268 - %228 = add i32 %225, 1, !dbg !268 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %229 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !270 - %230 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %229, i64 0, !dbg !270 - %231 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !270 - %232 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %231, 0, !dbg !270 - %233 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !270 - %234 = insertvalue [2 x {} addrspace(10)*] %232, {} addrspace(10)* %233, 1, !dbg !270 - %235 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !270 - %236 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %235, i64 0, !dbg !270 - %237 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !270, !range !120 -; │││└└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %238 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !275 - %239 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %238, i64 0, !dbg !275 - %240 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !275 - %241 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %240, 0, !dbg !275 - %242 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !275 - %243 = insertvalue [2 x {} addrspace(10)*] %241, {} addrspace(10)* %242, 1, !dbg !275 - %244 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !275 - %245 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %244, i64 0, !dbg !275 - %246 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !275, !range !120 -; ││└└└└└ -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:117 within `expand` -; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:64 within `blocks` -; ││││┌ @ Base.jl:49 within `getproperty` - %247 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !280 - %248 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %247, i64 0, !dbg !280 - %249 = getelementptr inbounds { [1 x [1 x [1 x i64]]] }, { [1 x [1 x [1 x i64]]] } addrspace(11)* %186, i32 0, i32 0, !dbg !280 -; │││└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:119 within `expand` -; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -; ││││┌ @ ntuple.jl:48 within `ntuple` -; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:110 within `#3` -; ││││││┌ @ Base.jl:49 within `getproperty` - %250 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !283 - %251 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %250, i64 0, !dbg !283 - %252 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %249, i32 0, i32 0, !dbg !283 -; ││││││└ -; ││││││┌ @ tuple.jl:31 within `getindex` - %253 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !288 - %254 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %253, i64 0, !dbg !288 - %255 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %252, i32 0, i32 0, !dbg !288 -; ││││││└ -; ││││││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -; ││││││┌ @ Base.jl:49 within `getproperty` - %256 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !289 - %257 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %256, i64 0, !dbg !289 - %258 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %255, i32 0, i32 0, !dbg !289 -; ││││││└ -; ││││││┌ @ operators.jl:379 within `>` -; │││││││┌ @ int.jl:83 within `<` - %259 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !291 - %260 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %259, i64 0, !dbg !291 - %261 = load i64, i64 addrspace(11)* %258, align 8, !dbg !291, !alias.scope !53, !noalias !56 - %262 = icmp slt i64 0, %261, !dbg !291 -; ││││││└└ -; ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` - %263 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !293 - %264 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %263, i64 0, !dbg !293 - %265 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !293 - %266 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %265, 0, !dbg !293 - %267 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !293 - %268 = insertvalue [2 x {} addrspace(10)*] %266, {} addrspace(10)* %267, 1, !dbg !293 - %269 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !293 - %270 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %269, i64 0, !dbg !293 - %271 = zext i1 %262 to i8, !dbg !293 - call void @llvm.assume(i1 %262), !dbg !293 -; │││└└└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:120 within `expand` -; │││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:108 within `assume_nonzero` -; ││││┌ @ ntuple.jl:48 within `ntuple` -; │││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:111 within `#3` -; ││││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:91 within `assume` - %272 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !294 - %273 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %272, i64 0, !dbg !294 - %274 = addrspacecast {}* inttoptr (i64 130978248286352 to {}*) to {} addrspace(10)*, !dbg !294 - %275 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %274, 0, !dbg !294 - %276 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !294 - %277 = insertvalue [2 x {} addrspace(10)*] %275, {} addrspace(10)* %276, 1, !dbg !294 - %278 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !294 - %279 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %278, i64 0, !dbg !294 - call void @llvm.assume(i1 true), !dbg !294 -; │││└└└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` -; │││┌ @ abstractarray.jl:1312 within `getindex` -; ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -; │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -; ││││││┌ @ number.jl:7 within `convert` -; │││││││┌ @ boot.jl:892 within `Int64` -; ││││││││┌ @ boot.jl:816 within `toInt64` - %280 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !299 - %281 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %280, i64 0, !dbg !299 - %282 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !299 - %283 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %282, i64 0, !dbg !299 - %284 = zext i32 %198 to i64, !dbg !299 -; ││││└└└└└ -; ││││┌ @ abstractarray.jl:1358 within `_getindex` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` - br label %L152, !dbg !308 - -L152: ; preds = %L110 -; ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` -; ││││││┌ @ Base.jl:49 within `getproperty` - %285 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !310 - %286 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %285, i64 0, !dbg !310 - %287 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %249, i32 0, i32 0, !dbg !310 -; ││││││└ -; ││││││┌ @ tuple.jl:382 within `map` -; │││││││┌ @ tuple.jl:31 within `getindex` - %288 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !312 - %289 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %288, i64 0, !dbg !312 - %290 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %287, i32 0, i32 0, !dbg !312 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -; ││││││││┌ @ array.jl:3076 within `getindex` -; │││││││││┌ @ range.jl:922 within `_getindex` - br label %L168, !dbg !314 - -L168: ; preds = %L152 -; ││││││││││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L169, !dbg !317 - -L169: ; preds = %L168 - br label %L170, !dbg !317 - -L170: ; preds = %L169 - br label %L171, !dbg !317 - -L171: ; preds = %L170 - br label %L172, !dbg !317 - -L172: ; preds = %L171 - br label %L173, !dbg !317 - -L173: ; preds = %L172 - br label %L174, !dbg !317 - -L174: ; preds = %L173 - br label %L175, !dbg !317 - -L175: ; preds = %L174 -; ││││└└└└└└└ -; ││││┌ @ indices.jl:365 within `to_indices` @ indices.jl:368 -; │││││┌ @ indices.jl:292 within `to_index` @ indices.jl:307 -; ││││││┌ @ number.jl:7 within `convert` -; │││││││┌ @ boot.jl:892 within `Int64` -; ││││││││┌ @ boot.jl:816 within `toInt64` - %291 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !299 - %292 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %291, i64 0, !dbg !299 - %293 = bitcast {}* inttoptr (i64 130978827565104 to {}*) to {} addrspace(10)**, !dbg !299 - %294 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %293, i64 0, !dbg !299 - %295 = zext i32 %228 to i64, !dbg !299 -; ││││└└└└└ -; ││││┌ @ abstractarray.jl:1358 within `_getindex` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:55 within `#getindex` - br label %L187, !dbg !308 - -L187: ; preds = %L175 -; ││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:56 within `#getindex` -; ││││││┌ @ tuple.jl:382 within `map` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl:57 within `#54` -; ││││││││┌ @ array.jl:3076 within `getindex` -; │││││││││┌ @ range.jl:922 within `_getindex` - br label %L198, !dbg !314 - -L198: ; preds = %L187 -; ││││││││││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L199, !dbg !317 - -L199: ; preds = %L198 - br label %L200, !dbg !317 - -L200: ; preds = %L199 - br label %L201, !dbg !317 - -L201: ; preds = %L200 - br label %L202, !dbg !317 - -L202: ; preds = %L201 - br label %L203, !dbg !317 - -L203: ; preds = %L202 - br label %L204, !dbg !317 - -L204: ; preds = %L203 - br label %L205, !dbg !317 - -L205: ; preds = %L204 -; │││└└└└└└└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:75 -; │││┌ @ ntuple.jl:48 within `ntuple` -; ││││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:79 within `#1` -; │││││┌ @ int.jl:86 within `-` - %296 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !318 - %297 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %296, i64 0, !dbg !318 - %298 = sub i64 %284, 1, !dbg !318 -; │││││└ -; │││││┌ @ int.jl:88 within `*` - %299 = bitcast {}* inttoptr (i64 130978868085040 to {}*) to {} addrspace(10)**, !dbg !322 - %300 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %299, i64 0, !dbg !322 - %301 = mul i64 %298, 256, !dbg !322 -; │││││└ -; │││││┌ @ int.jl:87 within `+` - %302 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !323 - %303 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %302, i64 0, !dbg !323 - %304 = add i64 %301, %295, !dbg !323 -; │││└└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl:121 within `expand` - br label %L209, !dbg !307 - -L209: ; preds = %L205 -; ││└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:124 within `#__index_Global_Linear` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl:28 within `__ndrange` -; │││┌ @ Base.jl:49 within `getproperty` - %305 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !324 - %306 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %305, i64 0, !dbg !324 - %307 = getelementptr inbounds { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } } addrspace(11)* %5, i32 0, i32 0, !dbg !324 -; ││└└ -; ││┌ @ multidimensional.jl:582 within `LinearIndices` -; │││┌ @ Base.jl:49 within `getproperty` - %308 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !327 - %309 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %308, i64 0, !dbg !327 - %310 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(11)* %307, i32 0, i32 0, !dbg !327 -; │││└ -; │││ @ multidimensional.jl:582 within `LinearIndices` @ indices.jl:484 - %311 = getelementptr inbounds [1 x [1 x [1 x i64]]], [1 x [1 x [1 x i64]]] addrspace(5)* %18, i32 0, i32 0, !dbg !330 - %312 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %310, i32 0, i32 0, !dbg !330 - %313 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %312, i32 0, i32 0, !dbg !330 - %314 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(5)* %311, i32 0, i32 0, !dbg !330 - %315 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %314, i32 0, i32 0, !dbg !330 - %316 = load i64, i64 addrspace(11)* %313, align 8, !dbg !330, !alias.scope !53, !noalias !56 - store i64 %316, i64 addrspace(5)* %315, align 8, !dbg !330, !tbaa !332, !alias.scope !334, !noalias !335 -; ││└ -; ││┌ @ abstractarray.jl:1312 within `getindex` -; │││┌ @ abstractarray.jl:1336 within `_getindex` -; ││││┌ @ indices.jl:518 within `getindex` - br label %L227, !dbg !336 - -L227: ; preds = %L209 -; │││││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L228, !dbg !340 - -L228: ; preds = %L227 - br label %L229, !dbg !340 - -L229: ; preds = %L228 - br label %L230, !dbg !340 - -L230: ; preds = %L229 - br label %L231, !dbg !340 - -L231: ; preds = %L230 -; │└└└└└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:16 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:71 within `length` -; ││┌ @ Base.jl:49 within `getproperty` - %317 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !341 - %318 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %317, i64 0, !dbg !341 - %319 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 2, !dbg !341 -; │└└ -; │┌ @ operators.jl:379 within `>` -; ││┌ @ int.jl:83 within `<` - %320 = bitcast {}* inttoptr (i64 130978868083248 to {}*) to {} addrspace(10)**, !dbg !346 - %321 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %320, i64 0, !dbg !346 - %322 = load i64, i64 addrspace(11)* %319, align 8, !dbg !346, !alias.scope !53, !noalias !56 - %323 = icmp slt i64 %322, %304, !dbg !346 -; │└└ - %324 = xor i1 %323, true, !dbg !345 - br i1 %324, label %L235, label %L234, !dbg !345 - -L234: ; preds = %L231 - br label %L256, !dbg !345 - -L235: ; preds = %L231 -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` - br label %L237, !dbg !348 - -L237: ; preds = %L235 -; ││┌ @ abstractarray.jl:697 within `checkbounds` - %325 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !350 - %326 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %325, i64 0, !dbg !350 - %327 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %37, i32 0, i32 0, !dbg !350 - store i64 %304, i64 addrspace(5)* %327, align 8, !dbg !350, !tbaa !332, !alias.scope !334, !noalias !335 -; │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -; │││┌ @ abstractarray.jl:389 within `eachindex` -; ││││┌ @ abstractarray.jl:137 within `axes1` -; │││││┌ @ abstractarray.jl:98 within `axes` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` -; │││││││┌ @ Base.jl:49 within `getproperty` - %328 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !351 - %329 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %328, i64 0, !dbg !351 - %330 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 0, !dbg !351 -; ││││││└└ -; ││││││┌ @ tuple.jl:355 within `map` -; │││││││┌ @ tuple.jl:31 within `getindex` - %331 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !362 - %332 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %331, i64 0, !dbg !362 - %333 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %330, i32 0, i32 0, !dbg !362 -; │││└└└└└ -; │││┌ @ abstractarray.jl:754 within `checkindex` -; ││││┌ @ int.jl:86 within `-` - %334 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !364 - %335 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %334, i64 0, !dbg !364 - %336 = sub i64 %304, 1, !dbg !364 -; ││││└ -; ││││┌ @ essentials.jl:668 within `unsigned` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %337 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !367 - %338 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %337, i64 0, !dbg !367 - %339 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !367 - %340 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %339, i64 0, !dbg !367 - %341 = load i64, i64 addrspace(11)* %333, align 8, !dbg !367, !alias.scope !53, !noalias !56 -; ││││└└ -; ││││┌ @ int.jl:513 within `<` - %342 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !372 - %343 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %342, i64 0, !dbg !372 - %344 = icmp ult i64 %336, %341, !dbg !372 -; │││└└ -; │││ @ abstractarray.jl:699 within `checkbounds` - %345 = xor i1 %344, true, !dbg !361 - br i1 %345, label %L247, label %L246, !dbg !361 - -L246: ; preds = %L237 - br label %L249, !dbg !361 - -L247: ; preds = %L237 - %346 = bitcast {}* inttoptr (i64 130978879164528 to {}*) to {} addrspace(10)**, !dbg !361 - %347 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %346, i64 0, !dbg !361 - %348 = addrspacecast [1 x i64] addrspace(5)* %37 to [1 x i64] addrspace(11)*, !dbg !361 - call fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture readonly %9, [1 x i64] addrspace(11)* nocapture readonly %348) #15, !dbg !361 - unreachable, !dbg !361 - -L249: ; preds = %L246 - br label %L250, !dbg !361 - -L250: ; preds = %L249 -; ││└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` -; │││┌ @ Base.jl:49 within `getproperty` - %349 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !373 - %350 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %349, i64 0, !dbg !373 - %351 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %9, i32 0, i32 1, !dbg !373 -; ││└└ -; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -; │││┌ @ none within `pointerref` -; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %352 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !377 - %353 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %352, i64 0, !dbg !377 - %354 = addrspacecast {}* inttoptr (i64 130979022722928 to {}*) to {} addrspace(10)*, !dbg !377 - %355 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %354, 0, !dbg !377 - %356 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !377 - %357 = insertvalue [2 x {} addrspace(10)*] %355, {} addrspace(10)* %356, 1, !dbg !377 -; │││││┌ @ int.jl:86 within `-` - %358 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !385 - %359 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %358, i64 0, !dbg !385 - %360 = sub i64 %304, 1, !dbg !385 -; │││││└ - %361 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !377 - %362 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %361, i64 0, !dbg !377 - %363 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(11)* %351, align 8, !dbg !377, !alias.scope !53, !noalias !56 - %364 = bitcast i8 addrspace(1)* %363 to float addrspace(1)*, !dbg !377 - %365 = getelementptr inbounds float, float addrspace(1)* %364, i64 %360, !dbg !377 - %366 = load float, float addrspace(1)* %365, align 4, !dbg !377, !tbaa !386 - br label %L255, !dbg !377 - -L255: ; preds = %L250 - br label %L256, !dbg !377 - -L256: ; preds = %L255, %L234 - %value_phi = phi float [ %3, %L234 ], [ %366, %L255 ] -; │└└└└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:17 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %367 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !389 - %368 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %367, i64 0, !dbg !389 - %369 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %20, i32 0, i32 0, !dbg !389 - store float %value_phi, float addrspace(5)* %369, align 4, !dbg !389, !tbaa !332, !alias.scope !334, !noalias !335 - %370 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %20, i32 0, i32 1, !dbg !389 - store float %value_phi, float addrspace(5)* %370, align 4, !dbg !389, !tbaa !332, !alias.scope !334, !noalias !335 -; │└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:18 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %371 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !392 - %372 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %371, i64 0, !dbg !392 - %373 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %21, i32 0, i32 0, !dbg !392 - store float %3, float addrspace(5)* %373, align 4, !dbg !392, !tbaa !332, !alias.scope !334, !noalias !335 - %374 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %21, i32 0, i32 1, !dbg !392 - store float %3, float addrspace(5)* %374, align 4, !dbg !392, !tbaa !332, !alias.scope !334, !noalias !335 -; │└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:85 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:236 within `macro expansion` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:151 within `#SharedMemory` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `alloc_special` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl:2 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %375 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !394 - %376 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %375, i64 0, !dbg !394 - %377 = addrspacecast {}* inttoptr (i64 130970505313168 to {}*) to {} addrspace(10)*, !dbg !394 - %378 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %377, 0, !dbg !394 - %379 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !394 - %380 = insertvalue [2 x {} addrspace(10)*] %378, {} addrspace(10)* %379, 1, !dbg !394 - %381 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !394 - %382 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %381, i64 0, !dbg !394 -; ││││└└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:152 within `#SharedMemory` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:50 within `ROCDeviceArray` @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:59 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:36 - %383 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 0, !dbg !410 - %384 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %383, i32 0, i32 0, !dbg !410 - %385 = load i64, i64 addrspace(1)* getelementptr inbounds ([1 x i64], [1 x i64] addrspace(1)* @_j_const_1, i32 0, i32 0), align 8, !dbg !410, !tbaa !415, !alias.scope !419, !noalias !420 - store i64 %385, i64 addrspace(5)* %384, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 - %386 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 1, !dbg !410 - store i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*), i8 addrspace(3)* addrspace(5)* %386, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 - %387 = getelementptr inbounds { [1 x i64], i8 addrspace(3)*, i64 }, { [1 x i64], i8 addrspace(3)*, i64 } addrspace(5)* %22, i32 0, i32 2, !dbg !410 - %388 = load i64, i64 addrspace(1)* @_j_const_2, align 8, !dbg !410, !tbaa !415, !alias.scope !419, !noalias !420 - store i64 %388, i64 addrspace(5)* %387, align 8, !dbg !410, !tbaa !332, !alias.scope !334, !noalias !335 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:87 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:114 within `#__index_Local_Linear` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:164 within `threadIdx` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_x` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_x` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %389 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !421 - %390 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %389, i64 0, !dbg !421 - %391 = addrspacecast {}* inttoptr (i64 130978984496544 to {}*) to {} addrspace(10)*, !dbg !421 - %392 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %391, 0, !dbg !421 - %393 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !421 - %394 = insertvalue [2 x {} addrspace(10)*] %392, {} addrspace(10)* %393, 1, !dbg !421 - %395 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !421 - %396 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %395, i64 0, !dbg !421 - %397 = call i32 @llvm.amdgcn.workitem.id.x(), !dbg !421, !range !120 -; ││││││└└ -; ││││││┌ @ int.jl:1013 within `+` @ int.jl:87 - %398 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !430 - %399 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %398, i64 0, !dbg !430 - %400 = add i32 %397, 1, !dbg !430 -; ││││└└└ -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_y` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_y` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %401 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !432 - %402 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %401, i64 0, !dbg !432 - %403 = addrspacecast {}* inttoptr (i64 130978984497040 to {}*) to {} addrspace(10)*, !dbg !432 - %404 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %403, 0, !dbg !432 - %405 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !432 - %406 = insertvalue [2 x {} addrspace(10)*] %404, {} addrspace(10)* %405, 1, !dbg !432 - %407 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !432 - %408 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %407, i64 0, !dbg !432 - %409 = call i32 @llvm.amdgcn.workitem.id.y(), !dbg !432, !range !120 -; ││││└└└└ -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:89 within `threadIdx_z` -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:87 within `workitemIdx_z` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `_index` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl:3 within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %410 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !437 - %411 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %410, i64 0, !dbg !437 - %412 = addrspacecast {}* inttoptr (i64 130978984497536 to {}*) to {} addrspace(10)*, !dbg !437 - %413 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %412, 0, !dbg !437 - %414 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !437 - %415 = insertvalue [2 x {} addrspace(10)*] %413, {} addrspace(10)* %414, 1, !dbg !437 - %416 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !437 - %417 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %416, i64 0, !dbg !437 - %418 = call i32 @llvm.amdgcn.workitem.id.z(), !dbg !437, !range !120 -; ││└└└└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` -; ││┌ @ int.jl:1013 within `-` @ int.jl:86 - %419 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !442 - %420 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %419, i64 0, !dbg !442 - %421 = sub i32 %400, 1, !dbg !442 -; ││└ - %422 = bitcast {}* inttoptr (i64 130978247410944 to {}*) to {} addrspace(10)**, !dbg !444 - %423 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %422, i64 0, !dbg !444 -; ││┌ @ int.jl:298 within `rem` - %424 = bitcast {}* inttoptr (i64 130978849209184 to {}*) to {} addrspace(10)**, !dbg !445 - %425 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %424, i64 0, !dbg !445 - br label %pass, !dbg !445 - -L277: ; preds = %guard_exit34, %guard_exit30 - %value_phi3 = phi i32 [ 16, %guard_exit30 ], [ %594, %guard_exit34 ] - %value_phi4 = phi float [ %value_phi, %guard_exit30 ], [ %583, %guard_exit34 ] - %value_phi5 = phi float [ %value_phi, %guard_exit30 ], [ %586, %guard_exit34 ] - %value_phi6 = phi float [ %value_phi, %guard_exit30 ], [ %583, %guard_exit34 ] - %value_phi7 = phi float [ %value_phi, %guard_exit30 ], [ %586, %guard_exit34 ] -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` - %426 = bitcast [2 x float] addrspace(5)* %24 to i8 addrspace(5)*, !dbg !447 - %427 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)*, !dbg !447 - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %426, i8 addrspace(5)* align 4 %427, i64 8, i1 false), !dbg !447 - %428 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)*, !dbg !447 - call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %428), !dbg !447 -; │││┌ @ operators.jl:379 within `>` -; ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 - %429 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !450 - %430 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %429, i64 0, !dbg !450 - %431 = icmp ult i32 0, %value_phi3, !dbg !450 -; │││└└ - %432 = xor i1 %431, true, !dbg !447 - br i1 %432, label %L371, label %L285, !dbg !447 - -L285: ; preds = %L277 -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` - %433 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !455 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %434 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 - %435 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %434, i64 0, !dbg !465 - %436 = bitcast float %value_phi4 to i32, !dbg !465 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %437 = call fastcc i32 @__ockl_activelane_u32(), !dbg !469 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %438 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !474 - %439 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %438, i64 0, !dbg !474 - %440 = lshr i32 %437, 31, !dbg !474 - %441 = select i1 false, i32 0, i32 %440, !dbg !474 - %442 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !474 - %443 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %442, i64 0, !dbg !474 - %444 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !474 - %445 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %444, i64 0, !dbg !474 - %446 = trunc i32 %441 to i8, !dbg !474 - %447 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !474 - %448 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %447, i64 0, !dbg !474 - %449 = icmp eq i8 %446, 1, !dbg !474 -; │││││││││││└ - %450 = xor i1 %449, true, !dbg !476 - br i1 %450, label %L294, label %L292, !dbg !476 - -L292: ; preds = %L285 - %451 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !476 - %452 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %451, i64 0, !dbg !476 - %453 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !476 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %453, i32 zeroext %437) #15, !dbg !476 - unreachable, !dbg !476 - -L294: ; preds = %L285 - br label %L295, !dbg !476 - -L295: ; preds = %L294 -; ││││││││││└ - %454 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !478 - %455 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %454, i64 0, !dbg !478 - %456 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !478 - %457 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %456, i64 0, !dbg !478 - br label %L297, !dbg !478 - -L297: ; preds = %L295 - br label %L298, !dbg !478 - -L298: ; preds = %L297 - br label %L299, !dbg !478 - -L299: ; preds = %L298 -; │││││││└└└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` -; │││││││┌ @ boot.jl:891 within `Int32` -; ││││││││┌ @ boot.jl:805 within `toInt32` -; │││││││││┌ @ boot.jl:756 within `check_sign_bit` -; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %458 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !483 - %459 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %458, i64 0, !dbg !483 - %460 = lshr i32 %value_phi3, 31, !dbg !483 - %461 = select i1 false, i32 0, i32 %460, !dbg !483 - %462 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !483 - %463 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %462, i64 0, !dbg !483 - %464 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !483 - %465 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %464, i64 0, !dbg !483 - %466 = trunc i32 %461 to i8, !dbg !483 - %467 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !483 - %468 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %467, i64 0, !dbg !483 - %469 = icmp eq i8 %466, 1, !dbg !483 -; ││││││││││└ - %470 = xor i1 %469, true, !dbg !484 - br i1 %470, label %L305, label %L303, !dbg !484 - -L303: ; preds = %L299 - %471 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !484 - %472 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %471, i64 0, !dbg !484 - %473 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !484 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %473, i32 zeroext %value_phi3) #15, !dbg !484 - unreachable, !dbg !484 - -L305: ; preds = %L299 - br label %L306, !dbg !484 - -L306: ; preds = %L305 -; │││││││││└ - %474 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !485 - %475 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %474, i64 0, !dbg !485 - %476 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !485 - %477 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %476, i64 0, !dbg !485 - br label %L308, !dbg !485 - -L308: ; preds = %L306 - br label %L309, !dbg !485 - -L309: ; preds = %L308 -; │││││││└└ -; │││││││┌ @ int.jl:87 within `+` - %478 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !488 - %479 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %478, i64 0, !dbg !488 - %480 = add i32 %437, %value_phi3, !dbg !488 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 - %481 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !489 - %482 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %481, i64 0, !dbg !489 - %483 = sub i32 %433, 1, !dbg !489 -; │││││││└ -; │││││││┌ @ int.jl:1011 within `&` -; ││││││││┌ @ int.jl:554 within `rem` - %484 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !492 - %485 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %484, i64 0, !dbg !492 -; ││││││││└ -; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 - %486 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !495 - %487 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %486, i64 0, !dbg !495 - %488 = and i32 %437, %483, !dbg !495 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %489 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !497 - %490 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %489, i64 0, !dbg !497 - %491 = add i32 %488, %value_phi3, !dbg !497 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %492 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !498 - %493 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %492, i64 0, !dbg !498 - %494 = icmp ule i32 %433, %491, !dbg !498 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %495 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !501 - %496 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %495, i64 0, !dbg !501 - %497 = xor i1 %494, true, !dbg !501 - %498 = select i1 %497, i32 %480, i32 %437, !dbg !501 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %499 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !503 - %500 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %499, i64 0, !dbg !503 - %501 = shl i32 %498, 2, !dbg !503 - %502 = select i1 false, i32 0, i32 %501, !dbg !503 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %503 = call i32 @llvm.amdgcn.ds.bpermute(i32 %502, i32 %436), !dbg !506 - br label %L319, !dbg !506 - -L319: ; preds = %L309 - br label %L320, !dbg !506 - -L320: ; preds = %L319 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %504 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 - %505 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %504, i64 0, !dbg !465 - %506 = bitcast i32 %503 to float, !dbg !465 - br label %L322, !dbg !465 - -L322: ; preds = %L320 - br label %L323, !dbg !465 - -L323: ; preds = %L322 - br label %L324, !dbg !465 - -L324: ; preds = %L323 - br label %L325, !dbg !465 - -L325: ; preds = %L324 -; ││││└└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` - %507 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !455 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %508 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 - %509 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %508, i64 0, !dbg !465 - %510 = bitcast float %value_phi5 to i32, !dbg !465 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %511 = call fastcc i32 @__ockl_activelane_u32(), !dbg !469 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %512 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !474 - %513 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %512, i64 0, !dbg !474 - %514 = lshr i32 %511, 31, !dbg !474 - %515 = select i1 false, i32 0, i32 %514, !dbg !474 - %516 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !474 - %517 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %516, i64 0, !dbg !474 - %518 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !474 - %519 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %518, i64 0, !dbg !474 - %520 = trunc i32 %515 to i8, !dbg !474 - %521 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !474 - %522 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %521, i64 0, !dbg !474 - %523 = icmp eq i8 %520, 1, !dbg !474 -; │││││││││││└ - %524 = xor i1 %523, true, !dbg !476 - br i1 %524, label %L334, label %L332, !dbg !476 - -L332: ; preds = %L325 - %525 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !476 - %526 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %525, i64 0, !dbg !476 - %527 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !476 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %527, i32 zeroext %511) #15, !dbg !476 - unreachable, !dbg !476 - -L334: ; preds = %L325 - br label %L335, !dbg !476 - -L335: ; preds = %L334 -; ││││││││││└ - %528 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !478 - %529 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %528, i64 0, !dbg !478 - %530 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !478 - %531 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %530, i64 0, !dbg !478 - br label %L337, !dbg !478 - -L337: ; preds = %L335 - br label %L338, !dbg !478 - -L338: ; preds = %L337 - br label %L339, !dbg !478 - -L339: ; preds = %L338 -; │││││││└└└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` -; │││││││┌ @ boot.jl:891 within `Int32` -; ││││││││┌ @ boot.jl:805 within `toInt32` -; │││││││││┌ @ boot.jl:756 within `check_sign_bit` -; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %532 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !483 - %533 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %532, i64 0, !dbg !483 - %534 = lshr i32 %value_phi3, 31, !dbg !483 - %535 = select i1 false, i32 0, i32 %534, !dbg !483 - %536 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !483 - %537 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %536, i64 0, !dbg !483 - %538 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !483 - %539 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %538, i64 0, !dbg !483 - %540 = trunc i32 %535 to i8, !dbg !483 - %541 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !483 - %542 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %541, i64 0, !dbg !483 - %543 = icmp eq i8 %540, 1, !dbg !483 -; ││││││││││└ - %544 = xor i1 %543, true, !dbg !484 - br i1 %544, label %L345, label %L343, !dbg !484 - -L343: ; preds = %L339 - %545 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !484 - %546 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %545, i64 0, !dbg !484 - %547 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !484 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %547, i32 zeroext %value_phi3) #15, !dbg !484 - unreachable, !dbg !484 - -L345: ; preds = %L339 - br label %L346, !dbg !484 - -L346: ; preds = %L345 -; │││││││││└ - %548 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !485 - %549 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %548, i64 0, !dbg !485 - %550 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !485 - %551 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %550, i64 0, !dbg !485 - br label %L348, !dbg !485 - -L348: ; preds = %L346 - br label %L349, !dbg !485 - -L349: ; preds = %L348 -; │││││││└└ -; │││││││┌ @ int.jl:87 within `+` - %552 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !488 - %553 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %552, i64 0, !dbg !488 - %554 = add i32 %511, %value_phi3, !dbg !488 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 - %555 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !489 - %556 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %555, i64 0, !dbg !489 - %557 = sub i32 %507, 1, !dbg !489 -; │││││││└ -; │││││││┌ @ int.jl:1011 within `&` -; ││││││││┌ @ int.jl:554 within `rem` - %558 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !492 - %559 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %558, i64 0, !dbg !492 -; ││││││││└ -; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 - %560 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !495 - %561 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %560, i64 0, !dbg !495 - %562 = and i32 %511, %557, !dbg !495 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %563 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !497 - %564 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %563, i64 0, !dbg !497 - %565 = add i32 %562, %value_phi3, !dbg !497 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %566 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !498 - %567 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %566, i64 0, !dbg !498 - %568 = icmp ule i32 %507, %565, !dbg !498 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %569 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !501 - %570 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %569, i64 0, !dbg !501 - %571 = xor i1 %568, true, !dbg !501 - %572 = select i1 %571, i32 %554, i32 %511, !dbg !501 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %573 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !503 - %574 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %573, i64 0, !dbg !503 - %575 = shl i32 %572, 2, !dbg !503 - %576 = select i1 false, i32 0, i32 %575, !dbg !503 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %577 = call i32 @llvm.amdgcn.ds.bpermute(i32 %576, i32 %510), !dbg !506 - br label %L359, !dbg !506 - -L359: ; preds = %L349 - br label %L360, !dbg !506 - -L360: ; preds = %L359 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %578 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !465 - %579 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %578, i64 0, !dbg !465 - %580 = bitcast i32 %577 to float, !dbg !465 - br label %L362, !dbg !465 - -L362: ; preds = %L360 - br label %L363, !dbg !465 - -L363: ; preds = %L362 - br label %L364, !dbg !465 - -L364: ; preds = %L363 - br label %L365, !dbg !465 - -L365: ; preds = %L364 - br label %L366, !dbg !465 - -L366: ; preds = %L365 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %581 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !508 - %582 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %581, i64 0, !dbg !508 - %583 = fadd float %value_phi6, %506, !dbg !508 - %584 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !508 - %585 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %584, i64 0, !dbg !508 - %586 = fadd float %value_phi7, %580, !dbg !508 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %587 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !513 - %588 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %587, i64 0, !dbg !513 - %589 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %25, i32 0, i32 0, !dbg !513 - store float %583, float addrspace(5)* %589, align 4, !dbg !513, !tbaa !332, !alias.scope !334, !noalias !335 - %590 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %25, i32 0, i32 1, !dbg !513 - store float %586, float addrspace(5)* %590, align 4, !dbg !513, !tbaa !332, !alias.scope !334, !noalias !335 -; │││└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` -; │││┌ @ int.jl:528 within `>>` - %591 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !514 - %592 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %591, i64 0, !dbg !514 - %593 = lshr i32 %value_phi3, 1, !dbg !514 - %594 = select i1 false, i32 0, i32 %593, !dbg !514 - %595 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* -; └└└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %595), !dbg !77 - %596 = icmp ne [2 x float] addrspace(5)* %25, null - br i1 %596, label %guard_pass31, label %guard_exit32 - -L371: ; preds = %L277 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` - br label %L372, !dbg !517 - -L372: ; preds = %L371 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:93 within `__warp_groupreduce` -; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 - %597 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !518 - %598 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %597, i64 0, !dbg !518 - %599 = icmp eq i32 %910, 1, !dbg !518 -; ││└ - %600 = xor i1 %599, true, !dbg !521 - br i1 %600, label %L394, label %L374, !dbg !521 - -L374: ; preds = %L372 -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` - br label %L389, !dbg !522 - -L389: ; preds = %L374 -; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` -; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` -; ││││┌ @ none within `pointerset` -; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %601 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !524 - %602 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %601, i64 0, !dbg !524 - %603 = addrspacecast {}* inttoptr (i64 130979024262480 to {}*) to {} addrspace(10)*, !dbg !524 - %604 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %603, 0, !dbg !524 - %605 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !524 - %606 = insertvalue [2 x {} addrspace(10)*] %604, {} addrspace(10)* %605, 1, !dbg !524 -; ││││││┌ @ int.jl:86 within `-` - %607 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !531 - %608 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %607, i64 0, !dbg !531 - %609 = sub i32 %921, 1, !dbg !531 -; ││││││└ - %610 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !524 - %611 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %610, i64 0, !dbg !524 - %612 = load [2 x float], [2 x float] addrspace(5)* %24, align 4, !dbg !524, !tbaa !332, !alias.scope !334, !noalias !335 - %613 = bitcast i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*) to [2 x float] addrspace(3)*, !dbg !524 - %614 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %613, i32 %609, !dbg !524 - store [2 x float] %612, [2 x float] addrspace(3)* %614, align 4, !dbg !524, !tbaa !532 -; │││└└└ -; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` - br label %L393, !dbg !534 - -L393: ; preds = %L389 - br label %L395, !dbg !534 - -L394: ; preds = %L372 -; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` -; │││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L395, !dbg !535 - -L395: ; preds = %L394, %L393 -; ││└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:94 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl:290 within `macro expansion` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:162 within `#__synchronize` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl:6 within `sync_workgroup` - call void @llvm.amdgcn.s.barrier(), !dbg !536 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:97 within `__warp_groupreduce` -; ││┌ @ int.jl:1013 within `-` @ int.jl:86 - %615 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !543 - %616 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %615, i64 0, !dbg !543 - %617 = sub i32 %400, 1, !dbg !543 -; ││└ -; ││┌ @ int.jl:520 within `<` @ promotion.jl:484 -; │││┌ @ promotion.jl:400 within `promote` -; ││││┌ @ promotion.jl:375 within `_promote` -; │││││┌ @ number.jl:7 within `convert` -; ││││││┌ @ boot.jl:897 within `UInt64` -; │││││││┌ @ boot.jl:871 within `toUInt64` - %618 = bitcast {}* inttoptr (i64 130978868080896 to {}*) to {} addrspace(10)**, !dbg !546 - %619 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %618, i64 0, !dbg !546 - %620 = bitcast {}* inttoptr (i64 130978827523696 to {}*) to {} addrspace(10)**, !dbg !546 - %621 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %620, i64 0, !dbg !546 - %622 = zext i32 %617 to i64, !dbg !546 -; │││└└└└└ -; │││ @ int.jl:520 within `<` @ promotion.jl:484 @ int.jl:513 - %623 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !557 - %624 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %623, i64 0, !dbg !557 - %625 = icmp ult i64 %622, 8, !dbg !557 -; │││ @ int.jl:520 within `<` -; │││┌ @ bool.jl:38 within `&` - %626 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !558 - %627 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %626, i64 0, !dbg !558 - %628 = and i1 true, %625, !dbg !558 -; ││└└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` - %629 = xor i1 %628, true, !dbg !559 - br i1 %629, label %L421, label %L401, !dbg !559 - -L401: ; preds = %L395 -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` - br label %L416, !dbg !560 - -L416: ; preds = %L401 -; │││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` -; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -; ││││┌ @ none within `pointerref` -; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %630 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !561 - %631 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %630, i64 0, !dbg !561 - %632 = addrspacecast {}* inttoptr (i64 130978998598000 to {}*) to {} addrspace(10)*, !dbg !561 - %633 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %632, 0, !dbg !561 - %634 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !561 - %635 = insertvalue [2 x {} addrspace(10)*] %633, {} addrspace(10)* %634, 1, !dbg !561 -; ││││││┌ @ int.jl:86 within `-` - %636 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !566 - %637 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %636, i64 0, !dbg !566 - %638 = sub i32 %910, 1, !dbg !566 -; ││││││└ - %639 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !561 - %640 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %639, i64 0, !dbg !561 - %641 = bitcast i8 addrspace(3)* bitcast ([32 x [2 x float]] addrspace(3)* @"alloc_special_##static_shmem#231" to i8 addrspace(3)*) to [2 x float] addrspace(3)*, !dbg !561 - %642 = getelementptr inbounds [2 x float], [2 x float] addrspace(3)* %641, i32 %638, !dbg !561 - %643 = load [2 x float], [2 x float] addrspace(3)* %642, align 4, !dbg !561, !tbaa !532 - store [2 x float] %643, [2 x float] addrspace(5)* %28, align 4, !dbg !561 - br label %L420, !dbg !561 - -L420: ; preds = %L416 - %644 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* -; └└└└└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %644), !dbg !77 - %645 = icmp ne [2 x float] addrspace(5)* %28, null - br i1 %645, label %guard_pass35, label %guard_exit36 - -L421: ; preds = %L395 - %646 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %646), !dbg !77 - %647 = icmp ne [2 x float] addrspace(5)* %21, null - br i1 %647, label %guard_pass39, label %guard_exit40 - -L422: ; preds = %guard_exit42, %guard_exit38 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` - %648 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)*, !dbg !559 - %649 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)*, !dbg !559 - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %648, i8 addrspace(5)* align 4 %649, i64 8, i1 false), !dbg !559 - %650 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)*, !dbg !559 - call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %650), !dbg !559 -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ promotion.jl:483 within `==` @ promotion.jl:639 - %651 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !567 - %652 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %651, i64 0, !dbg !567 - %653 = icmp eq i32 %921, 1, !dbg !567 -; ││└ - %654 = xor i1 %653, true, !dbg !569 - br i1 %654, label %L422.L522_crit_edge, label %L425, !dbg !569 - -L422.L522_crit_edge: ; preds = %L422 - %655 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* -; └└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %655), !dbg !77 - %656 = icmp ne [2 x float] addrspace(5)* %30, null - br i1 %656, label %guard_pass55, label %guard_exit56 - -L425: ; preds = %L422 - %657 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %657), !dbg !77 - %658 = icmp ne [2 x float] addrspace(5)* %30, null - br i1 %658, label %guard_pass43, label %guard_exit44 - -L426: ; preds = %guard_exit50, %guard_exit46 - %value_phi11 = phi i32 [ 16, %guard_exit46 ], [ %843, %guard_exit50 ] -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:77 within `__warp_reduce` - %659 = bitcast [2 x float] addrspace(5)* %32 to i8 addrspace(5)*, !dbg !570 - %660 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)*, !dbg !570 - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %659, i8 addrspace(5)* align 4 %660, i64 8, i1 false), !dbg !570 - %661 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)*, !dbg !570 - call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %661), !dbg !570 -; │││┌ @ operators.jl:379 within `>` -; ││││┌ @ promotion.jl:484 within `<` @ int.jl:513 - %662 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !571 - %663 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %662, i64 0, !dbg !571 - %664 = icmp ult i32 0, %value_phi11, !dbg !571 -; │││└└ - %665 = xor i1 %664, true, !dbg !570 - br i1 %665, label %L520, label %L430, !dbg !570 - -L430: ; preds = %L426 -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:78 within `__warp_reduce` -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` -; ││││┌ @ Base.jl:49 within `getproperty` - %666 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !574 - %667 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %666, i64 0, !dbg !574 - %668 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 0, !dbg !574 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` - %669 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !577 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %670 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 - %671 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %670, i64 0, !dbg !580 - %672 = load float, float addrspace(5)* %668, align 4, !dbg !580, !tbaa !332, !alias.scope !334, !noalias !335 - %673 = bitcast float %672 to i32, !dbg !580 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %674 = call fastcc i32 @__ockl_activelane_u32(), !dbg !583 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %675 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !586 - %676 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %675, i64 0, !dbg !586 - %677 = lshr i32 %674, 31, !dbg !586 - %678 = select i1 false, i32 0, i32 %677, !dbg !586 - %679 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !586 - %680 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %679, i64 0, !dbg !586 - %681 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !586 - %682 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %681, i64 0, !dbg !586 - %683 = trunc i32 %678 to i8, !dbg !586 - %684 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !586 - %685 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %684, i64 0, !dbg !586 - %686 = icmp eq i8 %683, 1, !dbg !586 -; │││││││││││└ - %687 = xor i1 %686, true, !dbg !587 - br i1 %687, label %L440, label %L438, !dbg !587 - -L438: ; preds = %L430 - %688 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !587 - %689 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %688, i64 0, !dbg !587 - %690 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !587 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %690, i32 zeroext %674) #15, !dbg !587 - unreachable, !dbg !587 - -L440: ; preds = %L430 - br label %L441, !dbg !587 - -L441: ; preds = %L440 -; ││││││││││└ - %691 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !588 - %692 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %691, i64 0, !dbg !588 - %693 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !588 - %694 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %693, i64 0, !dbg !588 - br label %L443, !dbg !588 - -L443: ; preds = %L441 - br label %L444, !dbg !588 - -L444: ; preds = %L443 - br label %L445, !dbg !588 - -L445: ; preds = %L444 -; │││││││└└└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` -; │││││││┌ @ boot.jl:891 within `Int32` -; ││││││││┌ @ boot.jl:805 within `toInt32` -; │││││││││┌ @ boot.jl:756 within `check_sign_bit` -; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %695 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !591 - %696 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %695, i64 0, !dbg !591 - %697 = lshr i32 %value_phi11, 31, !dbg !591 - %698 = select i1 false, i32 0, i32 %697, !dbg !591 - %699 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !591 - %700 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %699, i64 0, !dbg !591 - %701 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !591 - %702 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %701, i64 0, !dbg !591 - %703 = trunc i32 %698 to i8, !dbg !591 - %704 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !591 - %705 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %704, i64 0, !dbg !591 - %706 = icmp eq i8 %703, 1, !dbg !591 -; ││││││││││└ - %707 = xor i1 %706, true, !dbg !592 - br i1 %707, label %L451, label %L449, !dbg !592 - -L449: ; preds = %L445 - %708 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !592 - %709 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %708, i64 0, !dbg !592 - %710 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !592 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %710, i32 zeroext %value_phi11) #15, !dbg !592 - unreachable, !dbg !592 - -L451: ; preds = %L445 - br label %L452, !dbg !592 - -L452: ; preds = %L451 -; │││││││││└ - %711 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !593 - %712 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %711, i64 0, !dbg !593 - %713 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !593 - %714 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %713, i64 0, !dbg !593 - br label %L454, !dbg !593 - -L454: ; preds = %L452 - br label %L455, !dbg !593 - -L455: ; preds = %L454 -; │││││││└└ -; │││││││┌ @ int.jl:87 within `+` - %715 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !596 - %716 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %715, i64 0, !dbg !596 - %717 = add i32 %674, %value_phi11, !dbg !596 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 - %718 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !597 - %719 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %718, i64 0, !dbg !597 - %720 = sub i32 %669, 1, !dbg !597 -; │││││││└ -; │││││││┌ @ int.jl:1011 within `&` -; ││││││││┌ @ int.jl:554 within `rem` - %721 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !600 - %722 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %721, i64 0, !dbg !600 -; ││││││││└ -; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 - %723 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !602 - %724 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %723, i64 0, !dbg !602 - %725 = and i32 %674, %720, !dbg !602 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %726 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !604 - %727 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %726, i64 0, !dbg !604 - %728 = add i32 %725, %value_phi11, !dbg !604 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %729 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !605 - %730 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %729, i64 0, !dbg !605 - %731 = icmp ule i32 %669, %728, !dbg !605 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %732 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !607 - %733 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %732, i64 0, !dbg !607 - %734 = xor i1 %731, true, !dbg !607 - %735 = select i1 %734, i32 %717, i32 %674, !dbg !607 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %736 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !608 - %737 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %736, i64 0, !dbg !608 - %738 = shl i32 %735, 2, !dbg !608 - %739 = select i1 false, i32 0, i32 %738, !dbg !608 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %740 = call i32 @llvm.amdgcn.ds.bpermute(i32 %739, i32 %673), !dbg !610 - br label %L465, !dbg !610 - -L465: ; preds = %L455 - br label %L466, !dbg !610 - -L466: ; preds = %L465 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %741 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 - %742 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %741, i64 0, !dbg !580 - %743 = bitcast i32 %740 to float, !dbg !580 - br label %L468, !dbg !580 - -L468: ; preds = %L466 - br label %L469, !dbg !580 - -L469: ; preds = %L468 - br label %L470, !dbg !580 - -L470: ; preds = %L469 - br label %L471, !dbg !580 - -L471: ; preds = %L470 -; ││││└└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` -; ││││┌ @ Base.jl:49 within `getproperty` - %744 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !574 - %745 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %744, i64 0, !dbg !574 - %746 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 1, !dbg !574 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:82 within `wavefrontsize` - %747 = call i32 @llvm.amdgcn.wavefrontsize(), !dbg !577 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:12 within `shfl_down` @ /home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl:174 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:360 -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:228 within `_shfl` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %748 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 - %749 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %748, i64 0, !dbg !580 - %750 = load float, float addrspace(5)* %746, align 4, !dbg !580, !tbaa !332, !alias.scope !334, !noalias !335 - %751 = bitcast float %750 to i32, !dbg !580 -; │││││└ -; │││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:361 within `#19` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:249 within `shfl_down` -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:106 within `activelane` - %752 = call fastcc i32 @__ockl_activelane_u32(), !dbg !583 -; │││││││└ -; │││││││┌ @ number.jl:7 within `convert` -; ││││││││┌ @ boot.jl:891 within `Int32` -; │││││││││┌ @ boot.jl:805 within `toInt32` -; ││││││││││┌ @ boot.jl:756 within `check_sign_bit` -; │││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %753 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !586 - %754 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %753, i64 0, !dbg !586 - %755 = lshr i32 %752, 31, !dbg !586 - %756 = select i1 false, i32 0, i32 %755, !dbg !586 - %757 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !586 - %758 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %757, i64 0, !dbg !586 - %759 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !586 - %760 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %759, i64 0, !dbg !586 - %761 = trunc i32 %756 to i8, !dbg !586 - %762 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !586 - %763 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %762, i64 0, !dbg !586 - %764 = icmp eq i8 %761, 1, !dbg !586 -; │││││││││││└ - %765 = xor i1 %764, true, !dbg !587 - br i1 %765, label %L481, label %L479, !dbg !587 - -L479: ; preds = %L471 - %766 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !587 - %767 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %766, i64 0, !dbg !587 - %768 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !587 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %768, i32 zeroext %752) #15, !dbg !587 - unreachable, !dbg !587 - -L481: ; preds = %L471 - br label %L482, !dbg !587 - -L482: ; preds = %L481 -; ││││││││││└ - %769 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !588 - %770 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %769, i64 0, !dbg !588 - %771 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !588 - %772 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %771, i64 0, !dbg !588 - br label %L484, !dbg !588 - -L484: ; preds = %L482 - br label %L485, !dbg !588 - -L485: ; preds = %L484 - br label %L486, !dbg !588 - -L486: ; preds = %L485 -; │││││││└└└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:250 within `shfl_down` -; │││││││┌ @ boot.jl:891 within `Int32` -; ││││││││┌ @ boot.jl:805 within `toInt32` -; │││││││││┌ @ boot.jl:756 within `check_sign_bit` -; ││││││││││┌ @ boot.jl:741 within `is_top_bit_set` - %773 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !591 - %774 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %773, i64 0, !dbg !591 - %775 = lshr i32 %value_phi11, 31, !dbg !591 - %776 = select i1 false, i32 0, i32 %775, !dbg !591 - %777 = bitcast {}* inttoptr (i64 130978868080784 to {}*) to {} addrspace(10)**, !dbg !591 - %778 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %777, i64 0, !dbg !591 - %779 = bitcast {}* inttoptr (i64 130978824366368 to {}*) to {} addrspace(10)**, !dbg !591 - %780 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %779, i64 0, !dbg !591 - %781 = trunc i32 %776 to i8, !dbg !591 - %782 = bitcast {}* inttoptr (i64 130978868083472 to {}*) to {} addrspace(10)**, !dbg !591 - %783 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %782, i64 0, !dbg !591 - %784 = icmp eq i8 %781, 1, !dbg !591 -; ││││││││││└ - %785 = xor i1 %784, true, !dbg !592 - br i1 %785, label %L492, label %L490, !dbg !592 - -L490: ; preds = %L486 - %786 = bitcast {}* inttoptr (i64 130978879294304 to {}*) to {} addrspace(10)**, !dbg !592 - %787 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %786, i64 0, !dbg !592 - %788 = addrspacecast {}* inttoptr (i64 130979031839088 to {}*) to {} addrspace(10)*, !dbg !592 - call fastcc void @julia__throw_inexacterror_12221({} addrspace(10)* %788, i32 zeroext %value_phi11) #15, !dbg !592 - unreachable, !dbg !592 - -L492: ; preds = %L486 - br label %L493, !dbg !592 - -L493: ; preds = %L492 -; │││││││││└ - %789 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !593 - %790 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %789, i64 0, !dbg !593 - %791 = bitcast {}* inttoptr (i64 130978824477184 to {}*) to {} addrspace(10)**, !dbg !593 - %792 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %791, i64 0, !dbg !593 - br label %L495, !dbg !593 - -L495: ; preds = %L493 - br label %L496, !dbg !593 - -L496: ; preds = %L495 -; │││││││└└ -; │││││││┌ @ int.jl:87 within `+` - %793 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !596 - %794 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %793, i64 0, !dbg !596 - %795 = add i32 %752, %value_phi11, !dbg !596 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:251 within `shfl_down` -; │││││││┌ @ int.jl:1013 within `-` @ int.jl:86 - %796 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !597 - %797 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %796, i64 0, !dbg !597 - %798 = sub i32 %747, 1, !dbg !597 -; │││││││└ -; │││││││┌ @ int.jl:1011 within `&` -; ││││││││┌ @ int.jl:554 within `rem` - %799 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !600 - %800 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %799, i64 0, !dbg !600 -; ││││││││└ -; ││││││││ @ int.jl:1013 within `&` @ int.jl:347 - %801 = bitcast {}* inttoptr (i64 130978868082240 to {}*) to {} addrspace(10)**, !dbg !602 - %802 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %801, i64 0, !dbg !602 - %803 = and i32 %752, %798, !dbg !602 -; │││││││└ -; │││││││┌ @ int.jl:87 within `+` - %804 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !604 - %805 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %804, i64 0, !dbg !604 - %806 = add i32 %803, %value_phi11, !dbg !604 -; │││││││└ -; │││││││┌ @ operators.jl:426 within `>=` -; ││││││││┌ @ int.jl:515 within `<=` - %807 = bitcast {}* inttoptr (i64 130978868082912 to {}*) to {} addrspace(10)**, !dbg !605 - %808 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %807, i64 0, !dbg !605 - %809 = icmp ule i32 %747, %806, !dbg !605 -; │││││││└└ -; │││││││┌ @ essentials.jl:796 within `ifelse` - %810 = bitcast {}* inttoptr (i64 130978865211680 to {}*) to {} addrspace(10)**, !dbg !607 - %811 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %810, i64 0, !dbg !607 - %812 = xor i1 %809, true, !dbg !607 - %813 = select i1 %812, i32 %795, i32 %752, !dbg !607 -; │││││││└ -; │││││││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:252 within `shfl_down` -; │││││││┌ @ int.jl:529 within `<<` - %814 = bitcast {}* inttoptr (i64 130978868081792 to {}*) to {} addrspace(10)**, !dbg !608 - %815 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %814, i64 0, !dbg !608 - %816 = shl i32 %813, 2, !dbg !608 - %817 = select i1 false, i32 0, i32 %816, !dbg !608 -; │││││││└ -; │││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl:178 within `bpermute` - %818 = call i32 @llvm.amdgcn.ds.bpermute(i32 %817, i32 %751), !dbg !610 - br label %L506, !dbg !610 - -L506: ; preds = %L496 - br label %L507, !dbg !610 - -L507: ; preds = %L506 -; │││││└└└ -; │││││┌ @ essentials.jl:730 within `reinterpret` - %819 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !580 - %820 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %819, i64 0, !dbg !580 - %821 = bitcast i32 %818 to float, !dbg !580 - br label %L509, !dbg !580 - -L509: ; preds = %L507 - br label %L510, !dbg !580 - -L510: ; preds = %L509 - br label %L511, !dbg !580 - -L511: ; preds = %L510 - br label %L512, !dbg !580 - -L512: ; preds = %L511 - br label %L513, !dbg !580 - -L513: ; preds = %L512 -; │││└└└ -; │││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ Base.jl:49 within `getproperty` - %822 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !611 - %823 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %822, i64 0, !dbg !611 - %824 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 0, !dbg !611 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %825 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !613 - %826 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %825, i64 0, !dbg !613 - %827 = load float, float addrspace(5)* %824, align 4, !dbg !613, !tbaa !332, !alias.scope !334, !noalias !335 - %828 = fadd float %827, %743, !dbg !613 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ Base.jl:49 within `getproperty` - %829 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !611 - %830 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %829, i64 0, !dbg !611 - %831 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %32, i32 0, i32 1, !dbg !611 -; ││││└ -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` @ float.jl:491 - %832 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !613 - %833 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %832, i64 0, !dbg !613 - %834 = load float, float addrspace(5)* %831, align 4, !dbg !613, !tbaa !332, !alias.scope !334, !noalias !335 - %835 = fadd float %834, %821, !dbg !613 -; ││││ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:10 within `+` -; ││││┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:7 within `A` - %836 = bitcast {}* inttoptr (i64 130979027043232 to {}*) to {} addrspace(10)**, !dbg !614 - %837 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %836, i64 0, !dbg !614 - %838 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %33, i32 0, i32 0, !dbg !614 - store float %828, float addrspace(5)* %838, align 4, !dbg !614, !tbaa !332, !alias.scope !334, !noalias !335 - %839 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %33, i32 0, i32 1, !dbg !614 - store float %835, float addrspace(5)* %839, align 4, !dbg !614, !tbaa !332, !alias.scope !334, !noalias !335 -; │││└└ -; │││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:79 within `__warp_reduce` -; │││┌ @ int.jl:528 within `>>` - %840 = bitcast {}* inttoptr (i64 130978868081680 to {}*) to {} addrspace(10)**, !dbg !615 - %841 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %840, i64 0, !dbg !615 - %842 = lshr i32 %value_phi11, 1, !dbg !615 - %843 = select i1 false, i32 0, i32 %842, !dbg !615 - %844 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* -; └└└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %844), !dbg !77 - %845 = icmp ne [2 x float] addrspace(5)* %33, null - br i1 %845, label %guard_pass47, label %guard_exit48 - -L520: ; preds = %L426 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` - br label %L521, !dbg !617 - -L521: ; preds = %L520 - %846 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %846), !dbg !77 - %847 = icmp ne [2 x float] addrspace(5)* %32, null - br i1 %847, label %guard_pass51, label %guard_exit52 - -L522: ; preds = %guard_exit58, %guard_exit54 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:100 within `__warp_groupreduce` - %848 = bitcast [2 x float] addrspace(5)* %35 to i8 addrspace(5)*, !dbg !618 - %849 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)*, !dbg !618 - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %848, i8 addrspace(5)* align 4 %849, i64 8, i1 false), !dbg !618 - %850 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)*, !dbg !618 - call void @llvm.lifetime.end.p5i8(i64 -1, i8 addrspace(5)* %850), !dbg !618 - br label %L524, !dbg !618 - -L524: ; preds = %L522 -; │└ -; │ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:21 within `macro expansion` -; │┌ @ promotion.jl:639 within `==` - %851 = bitcast {}* inttoptr (i64 130978828513920 to {}*) to {} addrspace(10)**, !dbg !619 - %852 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %851, i64 0, !dbg !619 - %853 = icmp eq i64 %304, 1, !dbg !619 -; │└ - %854 = xor i1 %853, true, !dbg !620 - br i1 %854, label %L550, label %L526, !dbg !620 - -L526: ; preds = %L524 -; │┌ @ Base.jl:49 within `getproperty` - %855 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !621 - %856 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %855, i64 0, !dbg !621 - %857 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %35, i32 0, i32 0, !dbg !621 - %858 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !621 - %859 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %858, i64 0, !dbg !621 - %860 = getelementptr inbounds [2 x float], [2 x float] addrspace(5)* %35, i32 0, i32 1, !dbg !621 -; │└ -; │┌ @ float.jl:491 within `+` - %861 = bitcast {}* inttoptr (i64 130978868084144 to {}*) to {} addrspace(10)**, !dbg !622 - %862 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %861, i64 0, !dbg !622 - %863 = load float, float addrspace(5)* %857, align 4, !dbg !622, !tbaa !332, !alias.scope !334, !noalias !335 - %864 = load float, float addrspace(5)* %860, align 4, !dbg !622, !tbaa !332, !alias.scope !334, !noalias !335 - %865 = fadd float %863, %864, !dbg !622 -; │└ -; │┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:90 within `#setindex!` - br label %L531, !dbg !623 - -L531: ; preds = %L526 -; ││┌ @ abstractarray.jl:697 within `checkbounds` - %866 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !624 - %867 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %866, i64 0, !dbg !624 - %868 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(5)* %36, i32 0, i32 0, !dbg !624 - %869 = load i64, i64 addrspace(1)* @_j_const_3, align 8, !dbg !624, !tbaa !415, !alias.scope !419, !noalias !420 - store i64 %869, i64 addrspace(5)* %868, align 8, !dbg !624, !tbaa !332, !alias.scope !334, !noalias !335 -; │││ @ abstractarray.jl:699 within `checkbounds` @ abstractarray.jl:689 -; │││┌ @ abstractarray.jl:389 within `eachindex` -; ││││┌ @ abstractarray.jl:137 within `axes1` -; │││││┌ @ abstractarray.jl:98 within `axes` -; ││││││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:69 within `size` -; │││││││┌ @ Base.jl:49 within `getproperty` - %870 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !625 - %871 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %870, i64 0, !dbg !625 - %872 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, i32 0, i32 0, !dbg !625 -; ││││││└└ -; ││││││┌ @ tuple.jl:355 within `map` -; │││││││┌ @ tuple.jl:31 within `getindex` - %873 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !632 - %874 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %873, i64 0, !dbg !632 - %875 = getelementptr inbounds [1 x i64], [1 x i64] addrspace(11)* %872, i32 0, i32 0, !dbg !632 -; │││└└└└└ -; │││┌ @ abstractarray.jl:754 within `checkindex` -; ││││┌ @ int.jl:86 within `-` - %876 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !634 - %877 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %876, i64 0, !dbg !634 -; ││││└ -; ││││┌ @ essentials.jl:668 within `unsigned` -; │││││┌ @ essentials.jl:730 within `reinterpret` - %878 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !636 - %879 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %878, i64 0, !dbg !636 - %880 = bitcast {}* inttoptr (i64 130978866526128 to {}*) to {} addrspace(10)**, !dbg !636 - %881 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %880, i64 0, !dbg !636 - %882 = load i64, i64 addrspace(11)* %875, align 8, !dbg !636, !alias.scope !53, !noalias !56 -; ││││└└ -; ││││┌ @ int.jl:513 within `<` - %883 = bitcast {}* inttoptr (i64 130978868083136 to {}*) to {} addrspace(10)**, !dbg !638 - %884 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %883, i64 0, !dbg !638 - %885 = icmp ult i64 0, %882, !dbg !638 -; │││└└ -; │││ @ abstractarray.jl:699 within `checkbounds` - %886 = xor i1 %885, true, !dbg !631 - br i1 %886, label %L541, label %L540, !dbg !631 - -L540: ; preds = %L531 - br label %L543, !dbg !631 - -L541: ; preds = %L531 - %887 = bitcast {}* inttoptr (i64 130978879164528 to {}*) to {} addrspace(10)**, !dbg !631 - %888 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %887, i64 0, !dbg !631 - %889 = addrspacecast [1 x i64] addrspace(5)* %36 to [1 x i64] addrspace(11)*, !dbg !631 - call fastcc void @julia__throw_boundserror_12219({ [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* nocapture readonly %7, [1 x i64] addrspace(11)* nocapture readonly %889) #15, !dbg !631 - unreachable, !dbg !631 - -L543: ; preds = %L540 - br label %L544, !dbg !631 - -L544: ; preds = %L543 -; ││└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:92 within `#setindex!` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:64 within `pointer` -; │││┌ @ Base.jl:49 within `getproperty` - %890 = bitcast {}* inttoptr (i64 130978824534992 to {}*) to {} addrspace(10)**, !dbg !639 - %891 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %890, i64 0, !dbg !639 - %892 = getelementptr inbounds { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 } addrspace(11)* %7, i32 0, i32 1, !dbg !639 -; ││└└ -; ││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:88 within `unsafe_store!` -; │││┌ @ none within `pointerset` -; ││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %893 = bitcast {}* inttoptr (i64 130978859328576 to {}*) to {} addrspace(10)**, !dbg !642 - %894 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %893, i64 0, !dbg !642 - %895 = addrspacecast {}* inttoptr (i64 130978998765168 to {}*) to {} addrspace(10)*, !dbg !642 - %896 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %895, 0, !dbg !642 - %897 = addrspacecast {}* inttoptr (i64 130975446474320 to {}*) to {} addrspace(10)*, !dbg !642 - %898 = insertvalue [2 x {} addrspace(10)*] %896, {} addrspace(10)* %897, 1, !dbg !642 -; │││││┌ @ int.jl:86 within `-` - %899 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !646 - %900 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %899, i64 0, !dbg !646 -; │││││└ - %901 = bitcast {}* inttoptr (i64 130978858117664 to {}*) to {} addrspace(10)**, !dbg !642 - %902 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %901, i64 0, !dbg !642 - %903 = load i8 addrspace(1)*, i8 addrspace(1)* addrspace(11)* %892, align 8, !dbg !642, !alias.scope !53, !noalias !56 - %904 = bitcast i8 addrspace(1)* %903 to float addrspace(1)*, !dbg !642 - store float %865, float addrspace(1)* %904, align 4, !dbg !642, !tbaa !386 -; ││└└└ -; ││ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:93 within `#setindex!` - br label %L549, !dbg !647 - -L549: ; preds = %L544 - br label %L550, !dbg !647 - -L550: ; preds = %L549, %L524, %L109 -; └└ -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:99 - %905 = bitcast {}* inttoptr (i64 130978824301904 to {}*) to {} addrspace(10)**, !dbg !648 - %906 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %905, i64 0, !dbg !648 - ret void, !dbg !648 - -pass: ; preds = %L256 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:88 within `__warp_groupreduce` -; ││┌ @ int.jl:298 within `rem` - %907 = urem i32 %421, 32, !dbg !445 -; ││└ -; ││┌ @ int.jl:1013 within `+` @ int.jl:87 - %908 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !649 - %909 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %908, i64 0, !dbg !649 - %910 = add i32 %907, 1, !dbg !649 -; ││└ -; ││ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` -; ││┌ @ int.jl:1013 within `-` @ int.jl:86 - %911 = bitcast {}* inttoptr (i64 130978868085152 to {}*) to {} addrspace(10)**, !dbg !651 - %912 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %911, i64 0, !dbg !651 - %913 = sub i32 %400, 1, !dbg !651 -; ││└ - %914 = bitcast {}* inttoptr (i64 130978247410944 to {}*) to {} addrspace(10)**, !dbg !653 - %915 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %914, i64 0, !dbg !653 -; ││┌ @ int.jl:297 within `div` - %916 = bitcast {}* inttoptr (i64 130978849209392 to {}*) to {} addrspace(10)**, !dbg !654 - %917 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %916, i64 0, !dbg !654 - br label %pass2, !dbg !654 - -pass2: ; preds = %pass - %918 = udiv i32 %913, 32, !dbg !654 -; ││└ -; ││┌ @ int.jl:1013 within `+` @ int.jl:87 - %919 = bitcast {}* inttoptr (i64 130978868085264 to {}*) to {} addrspace(10)**, !dbg !656 - %920 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %919, i64 0, !dbg !656 - %921 = add i32 %918, 1, !dbg !656 - %922 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.lifetime.start.p5i8(i64 -1, i8 addrspace(5)* %922), !dbg !77 - %923 = icmp ne [2 x float] addrspace(5)* %20, null - br i1 %923, label %guard_pass, label %guard_exit - -guard_pass: ; preds = %pass2 - br label %guard_exit - -guard_exit: ; preds = %guard_pass, %pass2 - %924 = phi i1 [ false, %pass2 ], [ true, %guard_pass ] - br i1 %924, label %guard_pass29, label %guard_exit30 - -guard_pass29: ; preds = %guard_exit - %925 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* - %926 = bitcast [2 x float] addrspace(5)* %20 to i8 addrspace(5)* - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %925, i8 addrspace(5)* align 4 %926, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit30 - -guard_exit30: ; preds = %guard_pass29, %guard_exit -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:89 within `__warp_groupreduce` -; ││┌ @ int.jl:1013 within `+` @ int.jl:87 - br label %L277, !dbg !656 - -guard_pass31: ; preds = %L366 - br label %guard_exit32 - -guard_exit32: ; preds = %guard_pass31, %L366 - %927 = phi i1 [ false, %L366 ], [ true, %guard_pass31 ] - br i1 %927, label %guard_pass33, label %guard_exit34 - -guard_pass33: ; preds = %guard_exit32 - %928 = bitcast [2 x float] addrspace(5)* %23 to i8 addrspace(5)* - %929 = bitcast [2 x float] addrspace(5)* %25 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %928, i8 addrspace(5)* align 4 %929, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit34 - -guard_exit34: ; preds = %guard_pass33, %guard_exit32 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:92 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` - br label %L277, !dbg !658 - -guard_pass35: ; preds = %L420 - br label %guard_exit36 - -guard_exit36: ; preds = %guard_pass35, %L420 - %930 = phi i1 [ false, %L420 ], [ true, %guard_pass35 ] - br i1 %930, label %guard_pass37, label %guard_exit38 - -guard_pass37: ; preds = %guard_exit36 - %931 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* - %932 = bitcast [2 x float] addrspace(5)* %28 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %931, i8 addrspace(5)* align 4 %932, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit38 - -guard_exit38: ; preds = %guard_pass37, %guard_exit36 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:86 within `#getindex` -; │││┌ @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl:85 within `unsafe_load` -; ││││┌ @ none within `pointerref` -; │││││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - br label %L422, !dbg !561 - -guard_pass39: ; preds = %L421 - br label %guard_exit40 - -guard_exit40: ; preds = %guard_pass39, %L421 - %933 = phi i1 [ false, %L421 ], [ true, %guard_pass39 ] - br i1 %933, label %guard_pass41, label %guard_exit42 - -guard_pass41: ; preds = %guard_exit40 - %934 = bitcast [2 x float] addrspace(5)* %29 to i8 addrspace(5)* - %935 = bitcast [2 x float] addrspace(5)* %21 to i8 addrspace(5)* -; └└└└└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %934, i8 addrspace(5)* align 4 %935, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit42 - -guard_exit42: ; preds = %guard_pass41, %guard_exit40 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:98 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl:84 within `#getindex` -; │││┌ @ abstractarray.jl:699 within `checkbounds` - br label %L422, !dbg !659 - -guard_pass43: ; preds = %L425 - br label %guard_exit44 - -guard_exit44: ; preds = %guard_pass43, %L425 - %936 = phi i1 [ false, %L425 ], [ true, %guard_pass43 ] - br i1 %936, label %guard_pass45, label %guard_exit46 - -guard_pass45: ; preds = %guard_exit44 - %937 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* - %938 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)* -; └└└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %937, i8 addrspace(5)* align 4 %938, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit46 - -guard_exit46: ; preds = %guard_pass45, %guard_exit44 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` - br label %L426, !dbg !569 - -guard_pass47: ; preds = %L513 - br label %guard_exit48 - -guard_exit48: ; preds = %guard_pass47, %L513 - %939 = phi i1 [ false, %L513 ], [ true, %guard_pass47 ] - br i1 %939, label %guard_pass49, label %guard_exit50 - -guard_pass49: ; preds = %guard_exit48 - %940 = bitcast [2 x float] addrspace(5)* %31 to i8 addrspace(5)* - %941 = bitcast [2 x float] addrspace(5)* %33 to i8 addrspace(5)* -; └└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %940, i8 addrspace(5)* align 4 %941, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit50 - -guard_exit50: ; preds = %guard_pass49, %guard_exit48 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:80 within `__warp_reduce` - br label %L426, !dbg !660 - -guard_pass51: ; preds = %L521 - br label %guard_exit52 - -guard_exit52: ; preds = %guard_pass51, %L521 - %942 = phi i1 [ false, %L521 ], [ true, %guard_pass51 ] - br i1 %942, label %guard_pass53, label %guard_exit54 - -guard_pass53: ; preds = %guard_exit52 - %943 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* - %944 = bitcast [2 x float] addrspace(5)* %32 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %943, i8 addrspace(5)* align 4 %944, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit54 - -guard_exit54: ; preds = %guard_pass53, %guard_exit52 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` -; ││┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:81 within `__warp_reduce` - br label %L522, !dbg !617 - -guard_pass55: ; preds = %L422.L522_crit_edge - br label %guard_exit56 - -guard_exit56: ; preds = %guard_pass55, %L422.L522_crit_edge - %945 = phi i1 [ false, %L422.L522_crit_edge ], [ true, %guard_pass55 ] - br i1 %945, label %guard_pass57, label %guard_exit58 - -guard_pass57: ; preds = %guard_exit56 - %946 = bitcast [2 x float] addrspace(5)* %34 to i8 addrspace(5)* - %947 = bitcast [2 x float] addrspace(5)* %30 to i8 addrspace(5)* -; └└└ -; @ none within `gpu_groupreduce_1!` - call void @llvm.memcpy.p5i8.p5i8.i64(i8 addrspace(5)* align 4 %946, i8 addrspace(5)* align 4 %947, i64 8, i1 false), !dbg !77, !tbaa !332, !alias.scope !334, !noalias !335 - br label %guard_exit58 - -guard_exit58: ; preds = %guard_pass57, %guard_exit56 -; @ none within `gpu_groupreduce_1!` @ /home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl:97 -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/t.jl:19 within `macro expansion` -; │┌ @ /home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl:99 within `__warp_groupreduce` - br label %L522, !dbg !569 -; └└ -} - -; Function Attrs: alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(read) -define internal fastcc i32 @__ockl_activelane_u32() unnamed_addr #9 { - %1 = load i8, i8 addrspace(4)* @__oclc_wavefrontsize64, align 1, !tbaa !661, !range !665 - %2 = icmp eq i8 %1, 0 - br i1 %2, label %8, label %3 - -3: ; preds = %0 - %4 = tail call i32 @llvm.read_register.i32(metadata !666) #16 - %5 = tail call i32 @llvm.read_register.i32(metadata !667) #16 - %6 = tail call i32 @llvm.amdgcn.mbcnt.lo(i32 %5, i32 0) - %7 = tail call i32 @llvm.amdgcn.mbcnt.hi(i32 %4, i32 %6) - br label %11 - -8: ; preds = %0 - %9 = tail call i32 @llvm.read_register.i32(metadata !667) #16 - %10 = tail call i32 @llvm.amdgcn.mbcnt.lo(i32 %9, i32 0) - br label %11 - -11: ; preds = %8, %3 - %12 = phi i32 [ %7, %3 ], [ %10, %8 ] - ret i32 %12 -} - -; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(read) -declare i32 @llvm.read_register.i32(metadata) #10 - -; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) -declare i32 @llvm.amdgcn.mbcnt.lo(i32, i32) #11 - -; Function Attrs: alwaysinline nocallback nofree nosync nounwind willreturn memory(none) -declare i32 @llvm.amdgcn.mbcnt.hi(i32, i32) #11 - -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:138 within `report_exception` -; Function Attrs: alwaysinline -define internal fastcc void @gpu_report_exception(i64 zeroext %0) unnamed_addr #12 !dbg !668 { -top: - %pgcstack = call {}*** @julia.get_pgcstack() - %1 = bitcast {}*** %pgcstack to {}** - %current_task = getelementptr inbounds {}*, {}** %1, i64 -14 - %2 = bitcast {}** %current_task to i64* - %world_age = getelementptr inbounds i64, i64* %2, i64 15 - ret void, !dbg !670 -} - -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:112 within `signal_exception` -; Function Attrs: alwaysinline -define internal fastcc void @gpu_signal_exception() unnamed_addr #12 !dbg !671 { -top: - %0 = alloca { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, align 8, addrspace(5) - %pgcstack = call {}*** @julia.get_pgcstack() - %1 = bitcast {}*** %pgcstack to {}** - %current_task = getelementptr inbounds {}*, {}** %1, i64 -14 - %2 = bitcast {}** %current_task to i64* - %world_age = getelementptr inbounds i64, i64* %2, i64 15 -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:113 within `signal_exception` -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:11 within `exception_flag` -; │┌ @ none within `kernel_state` -; ││┌ @ none within `macro expansion` @ /home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl:39 - %3 = bitcast {}* inttoptr (i64 139223665615936 to {}*) to {} addrspace(10)**, !dbg !672 - %4 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %3, i64 0, !dbg !672 - %5 = addrspacecast {}* inttoptr (i64 139215314230032 to {}*) to {} addrspace(10)*, !dbg !672 - %6 = insertvalue [2 x {} addrspace(10)*] zeroinitializer, {} addrspace(10)* %5, 0, !dbg !672 - %7 = addrspacecast {}* inttoptr (i64 139220359716432 to {}*) to {} addrspace(10)*, !dbg !672 - %8 = insertvalue [2 x {} addrspace(10)*] %6, {} addrspace(10)* %7, 1, !dbg !672 - %9 = bitcast {}* inttoptr (i64 139223664405024 to {}*) to {} addrspace(10)**, !dbg !672 - %10 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %9, i64 0, !dbg !672 - %state.i = call { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } @julia.gpu.state_getter(), !dbg !672 - store { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } %state.i, { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } addrspace(5)* %0, align 8, !dbg !672 -; │└└ -; │┌ @ Base.jl:49 within `getproperty` - %11 = bitcast {}* inttoptr (i64 139223630822352 to {}*) to {} addrspace(10)**, !dbg !681 - %12 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %11, i64 0, !dbg !681 - %13 = getelementptr inbounds { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 }, { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } addrspace(5)* %0, i32 0, i32 0, !dbg !681 -; └└ -; ┌ @ pointer.jl:180 within `unsafe_store!` @ pointer.jl:180 - %14 = bitcast {}* inttoptr (i64 139223674366464 to {}*) to {} addrspace(10)**, !dbg !683 - %15 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)** %14, i64 0, !dbg !683 - %16 = bitcast i64 addrspace(5)* %13 to i8* addrspace(5)*, !dbg !683 - %17 = load i8*, i8* addrspace(5)* %16, align 8, !dbg !683, !tbaa !332, !alias.scope !334, !noalias !335 - %18 = getelementptr inbounds i8, i8* %17, i64 0, !dbg !683 - %19 = bitcast i8* %18 to i32*, !dbg !683 - %20 = load i32, i32 addrspace(1)* @_j_const_1.19, align 4, !dbg !683, !tbaa !415, !alias.scope !419, !noalias !420 - store i32 %20, i32* %19, align 1, !dbg !683 -; └ -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:115 within `signal_exception` -; ┌ @ /home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl:52 within `endpgm` - call void @llvm.amdgcn.endpgm(), !dbg !687 -; └ -; @ /home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl:116 within `signal_exception` - unreachable, !dbg !691 -} - -; Function Attrs: memory(none) -declare { i64, i64, i64, i64, i64, i64, i32, i32, i64, i64, i64, i64 } @julia.gpu.state_getter() local_unnamed_addr #13 - -; Function Attrs: cold nocallback nofree noreturn nounwind -declare void @llvm.amdgcn.endpgm() #14 - -attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } -attributes #1 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } -attributes #2 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) } -attributes #3 = { cold noreturn nounwind } -attributes #4 = { convergent nocallback nofree nounwind willreturn memory(none) } -attributes #5 = { convergent nocallback nofree nounwind willreturn } -attributes #6 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) } -attributes #7 = { alwaysinline noreturn } -attributes #8 = { "amdgpu-unsafe-fp-atomics"="true" "target-cpu"="gfx1100" "target-features"="+wavefrontsize32,-wavefrontsize64" } -attributes #9 = { alwaysinline convergent mustprogress nofree norecurse nounwind willreturn memory(read) "frame-pointer"="none" "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" } -attributes #10 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(read) } -attributes #11 = { alwaysinline nocallback nofree nosync nounwind willreturn memory(none) } -attributes #12 = { alwaysinline } -attributes #13 = { memory(none) } -attributes #14 = { cold nocallback nofree noreturn nounwind } -attributes #15 = { noreturn } -attributes #16 = { convergent } - -!llvm.module.flags = !{!0, !1, !2, !3} -!llvm.dbg.cu = !{!4, !6, !7, !8, !9, !10, !11, !12, !13, !14, !15, !16, !17, !18, !19, !20, !21, !22, !23, !24, !25, !26, !27, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40} -!opencl.ocl.version = !{!41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41, !41} -!llvm.ident = !{!42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42, !42} -!julia.kernel = !{!43} - -!0 = !{i32 2, !"Dwarf Version", i32 4} -!1 = !{i32 2, !"Debug Info Version", i32 3} -!2 = !{i32 1, !"wchar_size", i32 4} -!3 = !{i32 8, !"PIC Level", i32 0} -!4 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!5 = !DIFile(filename: "julia", directory: ".") -!6 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!9 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!10 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!11 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!12 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!13 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!14 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!15 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!16 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!17 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!18 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!19 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!20 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!21 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!22 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!23 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!24 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!25 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!26 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!27 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!28 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!29 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!30 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!31 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!32 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!33 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!34 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!35 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!36 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!37 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!38 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!39 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!40 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !5, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: LineTablesOnly, nameTableKind: None) -!41 = !{i32 2, i32 0} -!42 = !{!"clang version 15.0.0 (/cache/yggdrasil/downloads/clones/llvm-project.git-974efd367bc513231526d317489c66cb27727ef3caa41108e3819c131a8acf57 f3d695fc2985a8dfdd5f4219d351fdeac3038867)"} -!43 = !{void ({ [1 x [1 x [1 x i64]]], { [1 x [1 x [1 x i64]]] } }, { [1 x i64], i8 addrspace(1)*, i64 }, { [1 x i64], i8 addrspace(1)*, i64 }, float)* @_Z18gpu_groupreduce_1_16CompilerMetadataI11DynamicSize12DynamicCheckv16CartesianIndicesILi1E5TupleI5OneToI5Int64EEE7NDRangeILi1ES0_10StaticSizeI6_256__ES8_vEE14ROCDeviceArrayI7Float32Li1ELi1EESG_1_SF_} -!44 = distinct !DISubprogram(name: "#throw_inexacterror", linkageName: "julia_#throw_inexacterror_12221", scope: null, file: !45, line: 40, type: !46, scopeLine: 40, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !6, retainedNodes: !47) -!45 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/quirks.jl", directory: ".") -!46 = !DISubroutineType(types: !47) -!47 = !{} -!48 = !DILocation(line: 8, scope: !44) -!49 = !{!50, !50, i64 0, i64 1} -!50 = !{!"jtbaa_const", !51, i64 0} -!51 = !{!"jtbaa", !52, i64 0} -!52 = !{!"jtbaa"} -!53 = !{!54} -!54 = !{!"jnoalias_const", !55} -!55 = !{!"jnoalias"} -!56 = !{!57, !58, !59, !60} -!57 = !{!"jnoalias_gcframe", !55} -!58 = !{!"jnoalias_stack", !55} -!59 = !{!"jnoalias_data", !55} -!60 = !{!"jnoalias_typemd", !55} -!61 = distinct !DISubprogram(name: "#throw_boundserror", linkageName: "julia_#throw_boundserror_12219", scope: null, file: !45, line: 44, type: !46, scopeLine: 44, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !11, retainedNodes: !47) -!62 = !DILocation(line: 8, scope: !61) -!63 = distinct !DISubprogram(name: "gpu_groupreduce_1!", linkageName: "julia_gpu_groupreduce_1!_12132", scope: null, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!64 = !DIFile(filename: "none", directory: ".") -!65 = !DILocation(line: 49, scope: !66, inlinedAt: !68) -!66 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!67 = !DIFile(filename: "Base.jl", directory: ".") -!68 = !DILocation(line: 23, scope: !69, inlinedAt: !71) -!69 = distinct !DISubprogram(name: "__iterspace;", linkageName: "__iterspace", scope: !70, file: !70, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!70 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/compiler.jl", directory: ".") -!71 = !DILocation(line: 141, scope: !72, inlinedAt: !74) -!72 = distinct !DISubprogram(name: "#__validindex;", linkageName: "#__validindex", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!73 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/ROCKernels.jl", directory: ".") -!74 = !DILocation(line: 96, scope: !75, inlinedAt: !77) -!75 = distinct !DISubprogram(name: "gpu_groupreduce_1!;", linkageName: "gpu_groupreduce_1!", scope: !76, file: !76, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!76 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/macros.jl", directory: ".") -!77 = !DILocation(line: 0, scope: !63) -!78 = !DILocation(line: 39, scope: !79, inlinedAt: !81) -!79 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !80, file: !80, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!80 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/base.jl", directory: ".") -!81 = !DILocation(line: 3, scope: !82, inlinedAt: !84) -!82 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!83 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/indexing.jl", directory: ".") -!84 = !DILocation(line: 3, scope: !85, inlinedAt: !86) -!85 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!86 = !DILocation(line: 93, scope: !87, inlinedAt: !88) -!87 = distinct !DISubprogram(name: "workgroupIdx_x;", linkageName: "workgroupIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!88 = !DILocation(line: 95, scope: !89, inlinedAt: !90) -!89 = distinct !DISubprogram(name: "blockIdx_x;", linkageName: "blockIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!90 = !DILocation(line: 172, scope: !91, inlinedAt: !71) -!91 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!92 = !{i32 0, i32 -2} -!93 = !DILocation(line: 87, scope: !94, inlinedAt: !96) -!94 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!95 = !DIFile(filename: "int.jl", directory: ".") -!96 = !DILocation(line: 1013, scope: !94, inlinedAt: !86) -!97 = !DILocation(line: 39, scope: !79, inlinedAt: !98) -!98 = !DILocation(line: 3, scope: !82, inlinedAt: !99) -!99 = !DILocation(line: 3, scope: !85, inlinedAt: !100) -!100 = !DILocation(line: 93, scope: !101, inlinedAt: !102) -!101 = distinct !DISubprogram(name: "workgroupIdx_y;", linkageName: "workgroupIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!102 = !DILocation(line: 95, scope: !103, inlinedAt: !90) -!103 = distinct !DISubprogram(name: "blockIdx_y;", linkageName: "blockIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!104 = !DILocation(line: 39, scope: !79, inlinedAt: !105) -!105 = !DILocation(line: 3, scope: !82, inlinedAt: !106) -!106 = !DILocation(line: 3, scope: !85, inlinedAt: !107) -!107 = !DILocation(line: 93, scope: !108, inlinedAt: !109) -!108 = distinct !DISubprogram(name: "workgroupIdx_z;", linkageName: "workgroupIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!109 = !DILocation(line: 95, scope: !110, inlinedAt: !90) -!110 = distinct !DISubprogram(name: "blockIdx_z;", linkageName: "blockIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!111 = !DILocation(line: 39, scope: !79, inlinedAt: !112) -!112 = !DILocation(line: 3, scope: !82, inlinedAt: !113) -!113 = !DILocation(line: 3, scope: !85, inlinedAt: !114) -!114 = !DILocation(line: 87, scope: !115, inlinedAt: !116) -!115 = distinct !DISubprogram(name: "workitemIdx_x;", linkageName: "workitemIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!116 = !DILocation(line: 89, scope: !117, inlinedAt: !118) -!117 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!118 = !DILocation(line: 164, scope: !119, inlinedAt: !71) -!119 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!120 = !{i32 0, i32 1023} -!121 = !DILocation(line: 87, scope: !94, inlinedAt: !122) -!122 = !DILocation(line: 1013, scope: !94, inlinedAt: !114) -!123 = !DILocation(line: 39, scope: !79, inlinedAt: !124) -!124 = !DILocation(line: 3, scope: !82, inlinedAt: !125) -!125 = !DILocation(line: 3, scope: !85, inlinedAt: !126) -!126 = !DILocation(line: 87, scope: !127, inlinedAt: !128) -!127 = distinct !DISubprogram(name: "workitemIdx_y;", linkageName: "workitemIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!128 = !DILocation(line: 89, scope: !129, inlinedAt: !118) -!129 = distinct !DISubprogram(name: "threadIdx_y;", linkageName: "threadIdx_y", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!130 = !DILocation(line: 39, scope: !79, inlinedAt: !131) -!131 = !DILocation(line: 3, scope: !82, inlinedAt: !132) -!132 = !DILocation(line: 3, scope: !85, inlinedAt: !133) -!133 = !DILocation(line: 87, scope: !134, inlinedAt: !135) -!134 = distinct !DISubprogram(name: "workitemIdx_z;", linkageName: "workitemIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!135 = !DILocation(line: 89, scope: !136, inlinedAt: !118) -!136 = distinct !DISubprogram(name: "threadIdx_z;", linkageName: "threadIdx_z", scope: !83, file: !83, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!137 = !DILocation(line: 49, scope: !66, inlinedAt: !138) -!138 = !DILocation(line: 64, scope: !139, inlinedAt: !141) -!139 = distinct !DISubprogram(name: "blocks;", linkageName: "blocks", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!140 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/nditeration.jl", directory: ".") -!141 = !DILocation(line: 117, scope: !142, inlinedAt: !71) -!142 = distinct !DISubprogram(name: "expand;", linkageName: "expand", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!143 = !DILocation(line: 49, scope: !66, inlinedAt: !144) -!144 = !DILocation(line: 110, scope: !145, inlinedAt: !146) -!145 = distinct !DISubprogram(name: "#3;", linkageName: "#3", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!146 = !DILocation(line: 48, scope: !147, inlinedAt: !149) -!147 = distinct !DISubprogram(name: "ntuple;", linkageName: "ntuple", scope: !148, file: !148, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!148 = !DIFile(filename: "ntuple.jl", directory: ".") -!149 = !DILocation(line: 108, scope: !150, inlinedAt: !151) -!150 = distinct !DISubprogram(name: "assume_nonzero;", linkageName: "assume_nonzero", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!151 = !DILocation(line: 119, scope: !142, inlinedAt: !71) -!152 = !DILocation(line: 31, scope: !153, inlinedAt: !144) -!153 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !154, file: !154, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!154 = !DIFile(filename: "tuple.jl", directory: ".") -!155 = !DILocation(line: 49, scope: !66, inlinedAt: !156) -!156 = !DILocation(line: 111, scope: !145, inlinedAt: !146) -!157 = !DILocation(line: 83, scope: !158, inlinedAt: !159) -!158 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!159 = !DILocation(line: 379, scope: !160, inlinedAt: !156) -!160 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !161, file: !161, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!161 = !DIFile(filename: "operators.jl", directory: ".") -!162 = !DILocation(line: 91, scope: !163, inlinedAt: !156) -!163 = distinct !DISubprogram(name: "assume;", linkageName: "assume", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!164 = !DILocation(line: 91, scope: !163, inlinedAt: !165) -!165 = !DILocation(line: 111, scope: !145, inlinedAt: !166) -!166 = !DILocation(line: 48, scope: !147, inlinedAt: !167) -!167 = !DILocation(line: 108, scope: !150, inlinedAt: !168) -!168 = !DILocation(line: 120, scope: !142, inlinedAt: !71) -!169 = !DILocation(line: 816, scope: !170, inlinedAt: !172) -!170 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!171 = !DIFile(filename: "boot.jl", directory: ".") -!172 = !DILocation(line: 892, scope: !173, inlinedAt: !174) -!173 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!174 = !DILocation(line: 7, scope: !175, inlinedAt: !177) -!175 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !176, file: !176, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!176 = !DIFile(filename: "number.jl", directory: ".") -!177 = !DILocation(line: 307, scope: !178, inlinedAt: !180) -!178 = distinct !DISubprogram(name: "to_index;", linkageName: "to_index", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!179 = !DIFile(filename: "indices.jl", directory: ".") -!180 = !DILocation(line: 292, scope: !178, inlinedAt: !181) -!181 = !DILocation(line: 368, scope: !182, inlinedAt: !183) -!182 = distinct !DISubprogram(name: "to_indices;", linkageName: "to_indices", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!183 = !DILocation(line: 365, scope: !182, inlinedAt: !184) -!184 = !DILocation(line: 1312, scope: !185, inlinedAt: !187) -!185 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!186 = !DIFile(filename: "abstractarray.jl", directory: ".") -!187 = !DILocation(line: 121, scope: !142, inlinedAt: !71) -!188 = !DILocation(line: 55, scope: !189, inlinedAt: !190) -!189 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!190 = !DILocation(line: 1358, scope: !191, inlinedAt: !184) -!191 = distinct !DISubprogram(name: "_getindex;", linkageName: "_getindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!192 = !DILocation(line: 49, scope: !66, inlinedAt: !193) -!193 = !DILocation(line: 56, scope: !189, inlinedAt: !190) -!194 = !DILocation(line: 31, scope: !153, inlinedAt: !195) -!195 = !DILocation(line: 382, scope: !196, inlinedAt: !193) -!196 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !154, file: !154, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!197 = !DILocation(line: 922, scope: !198, inlinedAt: !200) -!198 = distinct !DISubprogram(name: "_getindex;", linkageName: "_getindex", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!199 = !DIFile(filename: "range.jl", directory: ".") -!200 = !DILocation(line: 3076, scope: !201, inlinedAt: !203) -!201 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !202, file: !202, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!202 = !DIFile(filename: "array.jl", directory: ".") -!203 = !DILocation(line: 57, scope: !204, inlinedAt: !195) -!204 = distinct !DISubprogram(name: "#54;", linkageName: "#54", scope: !45, file: !45, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!205 = !DILocation(line: 699, scope: !206, inlinedAt: !197) -!206 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!207 = !DILocation(line: 86, scope: !208, inlinedAt: !209) -!208 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!209 = !DILocation(line: 79, scope: !210, inlinedAt: !211) -!210 = distinct !DISubprogram(name: "#1;", linkageName: "#1", scope: !140, file: !140, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!211 = !DILocation(line: 48, scope: !147, inlinedAt: !212) -!212 = !DILocation(line: 75, scope: !142, inlinedAt: !187) -!213 = !DILocation(line: 88, scope: !214, inlinedAt: !209) -!214 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!215 = !DILocation(line: 87, scope: !94, inlinedAt: !209) -!216 = !DILocation(line: 49, scope: !66, inlinedAt: !217) -!217 = !DILocation(line: 28, scope: !218, inlinedAt: !219) -!218 = distinct !DISubprogram(name: "__ndrange;", linkageName: "__ndrange", scope: !70, file: !70, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!219 = !DILocation(line: 142, scope: !72, inlinedAt: !74) -!220 = !DILocation(line: 49, scope: !66, inlinedAt: !221) -!221 = !DILocation(line: 477, scope: !222, inlinedAt: !219) -!222 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !223, file: !223, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!223 = !DIFile(filename: "multidimensional.jl", directory: ".") -!224 = !DILocation(line: 31, scope: !153, inlinedAt: !225) -!225 = !DILocation(line: 382, scope: !196, inlinedAt: !221) -!226 = !DILocation(line: 514, scope: !227, inlinedAt: !228) -!227 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!228 = !DILocation(line: 1426, scope: !229, inlinedAt: !225) -!229 = distinct !DISubprogram(name: "in;", linkageName: "in", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!230 = !DILocation(line: 49, scope: !66, inlinedAt: !231) -!231 = !DILocation(line: 846, scope: !232, inlinedAt: !228) -!232 = distinct !DISubprogram(name: "last;", linkageName: "last", scope: !199, file: !199, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!233 = !DILocation(line: 38, scope: !234, inlinedAt: !228) -!234 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !235, file: !235, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!235 = !DIFile(filename: "bool.jl", directory: ".") -!236 = !DILocation(line: 49, scope: !66, inlinedAt: !237) -!237 = !DILocation(line: 23, scope: !69, inlinedAt: !238) -!238 = !DILocation(line: 122, scope: !239, inlinedAt: !240) -!239 = distinct !DISubprogram(name: "#__index_Global_Linear;", linkageName: "#__index_Global_Linear", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!240 = !DILocation(line: 15, scope: !241, inlinedAt: !243) -!241 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!242 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/t.jl", directory: ".") -!243 = !DILocation(line: 97, scope: !75, inlinedAt: !77) -!244 = !DILocation(line: 39, scope: !79, inlinedAt: !245) -!245 = !DILocation(line: 3, scope: !82, inlinedAt: !246) -!246 = !DILocation(line: 3, scope: !85, inlinedAt: !247) -!247 = !DILocation(line: 93, scope: !87, inlinedAt: !248) -!248 = !DILocation(line: 95, scope: !89, inlinedAt: !249) -!249 = !DILocation(line: 172, scope: !91, inlinedAt: !238) -!250 = !DILocation(line: 87, scope: !94, inlinedAt: !251) -!251 = !DILocation(line: 1013, scope: !94, inlinedAt: !247) -!252 = !DILocation(line: 39, scope: !79, inlinedAt: !253) -!253 = !DILocation(line: 3, scope: !82, inlinedAt: !254) -!254 = !DILocation(line: 3, scope: !85, inlinedAt: !255) -!255 = !DILocation(line: 93, scope: !101, inlinedAt: !256) -!256 = !DILocation(line: 95, scope: !103, inlinedAt: !249) -!257 = !DILocation(line: 39, scope: !79, inlinedAt: !258) -!258 = !DILocation(line: 3, scope: !82, inlinedAt: !259) -!259 = !DILocation(line: 3, scope: !85, inlinedAt: !260) -!260 = !DILocation(line: 93, scope: !108, inlinedAt: !261) -!261 = !DILocation(line: 95, scope: !110, inlinedAt: !249) -!262 = !DILocation(line: 39, scope: !79, inlinedAt: !263) -!263 = !DILocation(line: 3, scope: !82, inlinedAt: !264) -!264 = !DILocation(line: 3, scope: !85, inlinedAt: !265) -!265 = !DILocation(line: 87, scope: !115, inlinedAt: !266) -!266 = !DILocation(line: 89, scope: !117, inlinedAt: !267) -!267 = !DILocation(line: 164, scope: !119, inlinedAt: !238) -!268 = !DILocation(line: 87, scope: !94, inlinedAt: !269) -!269 = !DILocation(line: 1013, scope: !94, inlinedAt: !265) -!270 = !DILocation(line: 39, scope: !79, inlinedAt: !271) -!271 = !DILocation(line: 3, scope: !82, inlinedAt: !272) -!272 = !DILocation(line: 3, scope: !85, inlinedAt: !273) -!273 = !DILocation(line: 87, scope: !127, inlinedAt: !274) -!274 = !DILocation(line: 89, scope: !129, inlinedAt: !267) -!275 = !DILocation(line: 39, scope: !79, inlinedAt: !276) -!276 = !DILocation(line: 3, scope: !82, inlinedAt: !277) -!277 = !DILocation(line: 3, scope: !85, inlinedAt: !278) -!278 = !DILocation(line: 87, scope: !134, inlinedAt: !279) -!279 = !DILocation(line: 89, scope: !136, inlinedAt: !267) -!280 = !DILocation(line: 49, scope: !66, inlinedAt: !281) -!281 = !DILocation(line: 64, scope: !139, inlinedAt: !282) -!282 = !DILocation(line: 117, scope: !142, inlinedAt: !238) -!283 = !DILocation(line: 49, scope: !66, inlinedAt: !284) -!284 = !DILocation(line: 110, scope: !145, inlinedAt: !285) -!285 = !DILocation(line: 48, scope: !147, inlinedAt: !286) -!286 = !DILocation(line: 108, scope: !150, inlinedAt: !287) -!287 = !DILocation(line: 119, scope: !142, inlinedAt: !238) -!288 = !DILocation(line: 31, scope: !153, inlinedAt: !284) -!289 = !DILocation(line: 49, scope: !66, inlinedAt: !290) -!290 = !DILocation(line: 111, scope: !145, inlinedAt: !285) -!291 = !DILocation(line: 83, scope: !158, inlinedAt: !292) -!292 = !DILocation(line: 379, scope: !160, inlinedAt: !290) -!293 = !DILocation(line: 91, scope: !163, inlinedAt: !290) -!294 = !DILocation(line: 91, scope: !163, inlinedAt: !295) -!295 = !DILocation(line: 111, scope: !145, inlinedAt: !296) -!296 = !DILocation(line: 48, scope: !147, inlinedAt: !297) -!297 = !DILocation(line: 108, scope: !150, inlinedAt: !298) -!298 = !DILocation(line: 120, scope: !142, inlinedAt: !238) -!299 = !DILocation(line: 816, scope: !170, inlinedAt: !300) -!300 = !DILocation(line: 892, scope: !173, inlinedAt: !301) -!301 = !DILocation(line: 7, scope: !175, inlinedAt: !302) -!302 = !DILocation(line: 307, scope: !178, inlinedAt: !303) -!303 = !DILocation(line: 292, scope: !178, inlinedAt: !304) -!304 = !DILocation(line: 368, scope: !182, inlinedAt: !305) -!305 = !DILocation(line: 365, scope: !182, inlinedAt: !306) -!306 = !DILocation(line: 1312, scope: !185, inlinedAt: !307) -!307 = !DILocation(line: 121, scope: !142, inlinedAt: !238) -!308 = !DILocation(line: 55, scope: !189, inlinedAt: !309) -!309 = !DILocation(line: 1358, scope: !191, inlinedAt: !306) -!310 = !DILocation(line: 49, scope: !66, inlinedAt: !311) -!311 = !DILocation(line: 56, scope: !189, inlinedAt: !309) -!312 = !DILocation(line: 31, scope: !153, inlinedAt: !313) -!313 = !DILocation(line: 382, scope: !196, inlinedAt: !311) -!314 = !DILocation(line: 922, scope: !198, inlinedAt: !315) -!315 = !DILocation(line: 3076, scope: !201, inlinedAt: !316) -!316 = !DILocation(line: 57, scope: !204, inlinedAt: !313) -!317 = !DILocation(line: 699, scope: !206, inlinedAt: !314) -!318 = !DILocation(line: 86, scope: !208, inlinedAt: !319) -!319 = !DILocation(line: 79, scope: !210, inlinedAt: !320) -!320 = !DILocation(line: 48, scope: !147, inlinedAt: !321) -!321 = !DILocation(line: 75, scope: !142, inlinedAt: !307) -!322 = !DILocation(line: 88, scope: !214, inlinedAt: !319) -!323 = !DILocation(line: 87, scope: !94, inlinedAt: !319) -!324 = !DILocation(line: 49, scope: !66, inlinedAt: !325) -!325 = !DILocation(line: 28, scope: !218, inlinedAt: !326) -!326 = !DILocation(line: 124, scope: !239, inlinedAt: !240) -!327 = !DILocation(line: 49, scope: !66, inlinedAt: !328) -!328 = !DILocation(line: 582, scope: !329, inlinedAt: !326) -!329 = distinct !DISubprogram(name: "LinearIndices;", linkageName: "LinearIndices", scope: !223, file: !223, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!330 = !DILocation(line: 484, scope: !331, inlinedAt: !328) -!331 = distinct !DISubprogram(name: "LinearIndices;", linkageName: "LinearIndices", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!332 = !{!333, !333, i64 0} -!333 = !{!"jtbaa_stack", !51, i64 0} -!334 = !{!58} -!335 = !{!57, !59, !60, !54} -!336 = !DILocation(line: 518, scope: !337, inlinedAt: !338) -!337 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!338 = !DILocation(line: 1336, scope: !191, inlinedAt: !339) -!339 = !DILocation(line: 1312, scope: !185, inlinedAt: !326) -!340 = !DILocation(line: 699, scope: !206, inlinedAt: !336) -!341 = !DILocation(line: 49, scope: !66, inlinedAt: !342) -!342 = !DILocation(line: 71, scope: !343, inlinedAt: !345) -!343 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!344 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/array.jl", directory: ".") -!345 = !DILocation(line: 16, scope: !241, inlinedAt: !243) -!346 = !DILocation(line: 83, scope: !158, inlinedAt: !347) -!347 = !DILocation(line: 379, scope: !160, inlinedAt: !345) -!348 = !DILocation(line: 84, scope: !349, inlinedAt: !345) -!349 = distinct !DISubprogram(name: "#getindex;", linkageName: "#getindex", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!350 = !DILocation(line: 697, scope: !206, inlinedAt: !348) -!351 = !DILocation(line: 49, scope: !66, inlinedAt: !352) -!352 = !DILocation(line: 69, scope: !353, inlinedAt: !354) -!353 = distinct !DISubprogram(name: "size;", linkageName: "size", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!354 = !DILocation(line: 98, scope: !355, inlinedAt: !356) -!355 = distinct !DISubprogram(name: "axes;", linkageName: "axes", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!356 = !DILocation(line: 137, scope: !357, inlinedAt: !358) -!357 = distinct !DISubprogram(name: "axes1;", linkageName: "axes1", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!358 = !DILocation(line: 389, scope: !359, inlinedAt: !360) -!359 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!360 = !DILocation(line: 689, scope: !206, inlinedAt: !361) -!361 = !DILocation(line: 699, scope: !206, inlinedAt: !348) -!362 = !DILocation(line: 31, scope: !153, inlinedAt: !363) -!363 = !DILocation(line: 355, scope: !196, inlinedAt: !354) -!364 = !DILocation(line: 86, scope: !208, inlinedAt: !365) -!365 = !DILocation(line: 754, scope: !366, inlinedAt: !360) -!366 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !186, file: !186, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!367 = !DILocation(line: 730, scope: !368, inlinedAt: !370) -!368 = distinct !DISubprogram(name: "reinterpret;", linkageName: "reinterpret", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!369 = !DIFile(filename: "essentials.jl", directory: ".") -!370 = !DILocation(line: 668, scope: !371, inlinedAt: !365) -!371 = distinct !DISubprogram(name: "unsigned;", linkageName: "unsigned", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!372 = !DILocation(line: 513, scope: !158, inlinedAt: !365) -!373 = !DILocation(line: 49, scope: !66, inlinedAt: !374) -!374 = !DILocation(line: 64, scope: !375, inlinedAt: !376) -!375 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!376 = !DILocation(line: 86, scope: !349, inlinedAt: !345) -!377 = !DILocation(line: 39, scope: !79, inlinedAt: !378) -!378 = !DILocation(line: 0, scope: !379, inlinedAt: !380) -!379 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!380 = !DILocation(line: 0, scope: !381, inlinedAt: !382) -!381 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!382 = !DILocation(line: 85, scope: !383, inlinedAt: !376) -!383 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !384, file: !384, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!384 = !DIFile(filename: "/home/pxlth/.julia/packages/LLVM/b3kFs/src/interop/pointer.jl", directory: ".") -!385 = !DILocation(line: 86, scope: !208, inlinedAt: !377) -!386 = !{!387, !387, i64 0, i64 0} -!387 = !{!"custom_tbaa_addrspace(1)", !388, i64 0} -!388 = !{!"custom_tbaa"} -!389 = !DILocation(line: 7, scope: !390, inlinedAt: !391) -!390 = distinct !DISubprogram(name: "A;", linkageName: "A", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!391 = !DILocation(line: 17, scope: !241, inlinedAt: !243) -!392 = !DILocation(line: 7, scope: !390, inlinedAt: !393) -!393 = !DILocation(line: 18, scope: !241, inlinedAt: !243) -!394 = !DILocation(line: 39, scope: !79, inlinedAt: !395) -!395 = !DILocation(line: 2, scope: !396, inlinedAt: !398) -!396 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !397, file: !397, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!397 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/memory_static.jl", directory: ".") -!398 = !DILocation(line: 2, scope: !399, inlinedAt: !400) -!399 = distinct !DISubprogram(name: "alloc_special;", linkageName: "alloc_special", scope: !397, file: !397, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!400 = !DILocation(line: 2, scope: !399, inlinedAt: !401) -!401 = !DILocation(line: 151, scope: !402, inlinedAt: !403) -!402 = distinct !DISubprogram(name: "#SharedMemory;", linkageName: "#SharedMemory", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!403 = !DILocation(line: 236, scope: !404, inlinedAt: !406) -!404 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !405, file: !405, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!405 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/KernelAbstractions.jl", directory: ".") -!406 = !DILocation(line: 85, scope: !407, inlinedAt: !409) -!407 = distinct !DISubprogram(name: "__warp_groupreduce;", linkageName: "__warp_groupreduce", scope: !408, file: !408, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!408 = !DIFile(filename: "/home/pxlth/.julia/dev/KernelAbstractions/src/reduce.jl", directory: ".") -!409 = !DILocation(line: 19, scope: !241, inlinedAt: !243) -!410 = !DILocation(line: 36, scope: !411, inlinedAt: !412) -!411 = distinct !DISubprogram(name: "ROCDeviceArray;", linkageName: "ROCDeviceArray", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!412 = !DILocation(line: 59, scope: !411, inlinedAt: !413) -!413 = !DILocation(line: 50, scope: !411, inlinedAt: !414) -!414 = !DILocation(line: 152, scope: !402, inlinedAt: !403) -!415 = !{!416, !416, i64 0} -!416 = !{!"jtbaa_immut", !417, i64 0} -!417 = !{!"jtbaa_value", !418, i64 0} -!418 = !{!"jtbaa_data", !51, i64 0} -!419 = !{!59} -!420 = !{!57, !58, !60, !54} -!421 = !DILocation(line: 39, scope: !79, inlinedAt: !422) -!422 = !DILocation(line: 3, scope: !82, inlinedAt: !423) -!423 = !DILocation(line: 3, scope: !85, inlinedAt: !424) -!424 = !DILocation(line: 87, scope: !115, inlinedAt: !425) -!425 = !DILocation(line: 89, scope: !117, inlinedAt: !426) -!426 = !DILocation(line: 164, scope: !119, inlinedAt: !427) -!427 = !DILocation(line: 114, scope: !428, inlinedAt: !429) -!428 = distinct !DISubprogram(name: "#__index_Local_Linear;", linkageName: "#__index_Local_Linear", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!429 = !DILocation(line: 87, scope: !407, inlinedAt: !409) -!430 = !DILocation(line: 87, scope: !94, inlinedAt: !431) -!431 = !DILocation(line: 1013, scope: !94, inlinedAt: !424) -!432 = !DILocation(line: 39, scope: !79, inlinedAt: !433) -!433 = !DILocation(line: 3, scope: !82, inlinedAt: !434) -!434 = !DILocation(line: 3, scope: !85, inlinedAt: !435) -!435 = !DILocation(line: 87, scope: !127, inlinedAt: !436) -!436 = !DILocation(line: 89, scope: !129, inlinedAt: !426) -!437 = !DILocation(line: 39, scope: !79, inlinedAt: !438) -!438 = !DILocation(line: 3, scope: !82, inlinedAt: !439) -!439 = !DILocation(line: 3, scope: !85, inlinedAt: !440) -!440 = !DILocation(line: 87, scope: !134, inlinedAt: !441) -!441 = !DILocation(line: 89, scope: !136, inlinedAt: !426) -!442 = !DILocation(line: 86, scope: !208, inlinedAt: !443) -!443 = !DILocation(line: 1013, scope: !208, inlinedAt: !444) -!444 = !DILocation(line: 88, scope: !407, inlinedAt: !409) -!445 = !DILocation(line: 298, scope: !446, inlinedAt: !444) -!446 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!447 = !DILocation(line: 77, scope: !448, inlinedAt: !449) -!448 = distinct !DISubprogram(name: "__warp_reduce;", linkageName: "__warp_reduce", scope: !408, file: !408, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!449 = !DILocation(line: 92, scope: !407, inlinedAt: !409) -!450 = !DILocation(line: 513, scope: !158, inlinedAt: !451) -!451 = !DILocation(line: 484, scope: !452, inlinedAt: !454) -!452 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!453 = !DIFile(filename: "promotion.jl", directory: ".") -!454 = !DILocation(line: 379, scope: !160, inlinedAt: !447) -!455 = !DILocation(line: 82, scope: !456, inlinedAt: !458) -!456 = distinct !DISubprogram(name: "wavefrontsize;", linkageName: "wavefrontsize", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!457 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/wavefront.jl", directory: ".") -!458 = !DILocation(line: 360, scope: !459, inlinedAt: !460) -!459 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!460 = !DILocation(line: 174, scope: !461, inlinedAt: !462) -!461 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!462 = !DILocation(line: 12, scope: !463, inlinedAt: !464) -!463 = distinct !DISubprogram(name: "shfl_down;", linkageName: "shfl_down", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!464 = !DILocation(line: 78, scope: !448, inlinedAt: !449) -!465 = !DILocation(line: 730, scope: !368, inlinedAt: !466) -!466 = !DILocation(line: 228, scope: !467, inlinedAt: !468) -!467 = distinct !DISubprogram(name: "_shfl;", linkageName: "_shfl", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!468 = !DILocation(line: 360, scope: !459, inlinedAt: !458) -!469 = !DILocation(line: 106, scope: !470, inlinedAt: !471) -!470 = distinct !DISubprogram(name: "activelane;", linkageName: "activelane", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!471 = !DILocation(line: 249, scope: !459, inlinedAt: !472) -!472 = !DILocation(line: 361, scope: !473, inlinedAt: !466) -!473 = distinct !DISubprogram(name: "#19;", linkageName: "#19", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!474 = !DILocation(line: 741, scope: !475, inlinedAt: !476) -!475 = distinct !DISubprogram(name: "is_top_bit_set;", linkageName: "is_top_bit_set", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!476 = !DILocation(line: 756, scope: !477, inlinedAt: !478) -!477 = distinct !DISubprogram(name: "check_sign_bit;", linkageName: "check_sign_bit", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!478 = !DILocation(line: 805, scope: !479, inlinedAt: !480) -!479 = distinct !DISubprogram(name: "toInt32;", linkageName: "toInt32", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!480 = !DILocation(line: 891, scope: !481, inlinedAt: !482) -!481 = distinct !DISubprogram(name: "Int32;", linkageName: "Int32", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!482 = !DILocation(line: 7, scope: !175, inlinedAt: !471) -!483 = !DILocation(line: 741, scope: !475, inlinedAt: !484) -!484 = !DILocation(line: 756, scope: !477, inlinedAt: !485) -!485 = !DILocation(line: 805, scope: !479, inlinedAt: !486) -!486 = !DILocation(line: 891, scope: !481, inlinedAt: !487) -!487 = !DILocation(line: 250, scope: !459, inlinedAt: !472) -!488 = !DILocation(line: 87, scope: !94, inlinedAt: !487) -!489 = !DILocation(line: 86, scope: !208, inlinedAt: !490) -!490 = !DILocation(line: 1013, scope: !208, inlinedAt: !491) -!491 = !DILocation(line: 251, scope: !459, inlinedAt: !472) -!492 = !DILocation(line: 554, scope: !446, inlinedAt: !493) -!493 = !DILocation(line: 1011, scope: !494, inlinedAt: !491) -!494 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!495 = !DILocation(line: 347, scope: !494, inlinedAt: !496) -!496 = !DILocation(line: 1013, scope: !494, inlinedAt: !491) -!497 = !DILocation(line: 87, scope: !94, inlinedAt: !491) -!498 = !DILocation(line: 515, scope: !227, inlinedAt: !499) -!499 = !DILocation(line: 426, scope: !500, inlinedAt: !491) -!500 = distinct !DISubprogram(name: ">=;", linkageName: ">=", scope: !161, file: !161, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!501 = !DILocation(line: 796, scope: !502, inlinedAt: !491) -!502 = distinct !DISubprogram(name: "ifelse;", linkageName: "ifelse", scope: !369, file: !369, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!503 = !DILocation(line: 529, scope: !504, inlinedAt: !505) -!504 = distinct !DISubprogram(name: "<<;", linkageName: "<<", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!505 = !DILocation(line: 252, scope: !459, inlinedAt: !472) -!506 = !DILocation(line: 178, scope: !507, inlinedAt: !505) -!507 = distinct !DISubprogram(name: "bpermute;", linkageName: "bpermute", scope: !457, file: !457, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!508 = !DILocation(line: 491, scope: !509, inlinedAt: !511) -!509 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !510, file: !510, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!510 = !DIFile(filename: "float.jl", directory: ".") -!511 = !DILocation(line: 10, scope: !512, inlinedAt: !464) -!512 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !242, file: !242, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!513 = !DILocation(line: 7, scope: !390, inlinedAt: !511) -!514 = !DILocation(line: 528, scope: !515, inlinedAt: !516) -!515 = distinct !DISubprogram(name: ">>;", linkageName: ">>", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!516 = !DILocation(line: 79, scope: !448, inlinedAt: !449) -!517 = !DILocation(line: 81, scope: !448, inlinedAt: !449) -!518 = !DILocation(line: 639, scope: !519, inlinedAt: !520) -!519 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!520 = !DILocation(line: 483, scope: !519, inlinedAt: !521) -!521 = !DILocation(line: 93, scope: !407, inlinedAt: !409) -!522 = !DILocation(line: 90, scope: !523, inlinedAt: !521) -!523 = distinct !DISubprogram(name: "#setindex!;", linkageName: "#setindex!", scope: !344, file: !344, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!524 = !DILocation(line: 39, scope: !79, inlinedAt: !525) -!525 = !DILocation(line: 0, scope: !379, inlinedAt: !526) -!526 = !DILocation(line: 0, scope: !527, inlinedAt: !528) -!527 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!528 = !DILocation(line: 88, scope: !529, inlinedAt: !530) -!529 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !384, file: !384, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!530 = !DILocation(line: 92, scope: !523, inlinedAt: !521) -!531 = !DILocation(line: 86, scope: !208, inlinedAt: !524) -!532 = !{!533, !533, i64 0, i64 0} -!533 = !{!"custom_tbaa_addrspace(3)", !388, i64 0} -!534 = !DILocation(line: 93, scope: !523, inlinedAt: !521) -!535 = !DILocation(line: 699, scope: !206, inlinedAt: !522) -!536 = !DILocation(line: 6, scope: !537, inlinedAt: !539) -!537 = distinct !DISubprogram(name: "sync_workgroup;", linkageName: "sync_workgroup", scope: !538, file: !538, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!538 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/synchronization.jl", directory: ".") -!539 = !DILocation(line: 162, scope: !540, inlinedAt: !541) -!540 = distinct !DISubprogram(name: "#__synchronize;", linkageName: "#__synchronize", scope: !73, file: !73, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!541 = !DILocation(line: 290, scope: !404, inlinedAt: !542) -!542 = !DILocation(line: 94, scope: !407, inlinedAt: !409) -!543 = !DILocation(line: 86, scope: !208, inlinedAt: !544) -!544 = !DILocation(line: 1013, scope: !208, inlinedAt: !545) -!545 = !DILocation(line: 97, scope: !407, inlinedAt: !409) -!546 = !DILocation(line: 871, scope: !547, inlinedAt: !548) -!547 = distinct !DISubprogram(name: "toUInt64;", linkageName: "toUInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!548 = !DILocation(line: 897, scope: !549, inlinedAt: !550) -!549 = distinct !DISubprogram(name: "UInt64;", linkageName: "UInt64", scope: !171, file: !171, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!550 = !DILocation(line: 7, scope: !175, inlinedAt: !551) -!551 = !DILocation(line: 375, scope: !552, inlinedAt: !553) -!552 = distinct !DISubprogram(name: "_promote;", linkageName: "_promote", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!553 = !DILocation(line: 400, scope: !554, inlinedAt: !555) -!554 = distinct !DISubprogram(name: "promote;", linkageName: "promote", scope: !453, file: !453, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!555 = !DILocation(line: 484, scope: !452, inlinedAt: !556) -!556 = !DILocation(line: 520, scope: !158, inlinedAt: !545) -!557 = !DILocation(line: 513, scope: !158, inlinedAt: !555) -!558 = !DILocation(line: 38, scope: !234, inlinedAt: !556) -!559 = !DILocation(line: 98, scope: !407, inlinedAt: !409) -!560 = !DILocation(line: 84, scope: !349, inlinedAt: !559) -!561 = !DILocation(line: 39, scope: !79, inlinedAt: !562) -!562 = !DILocation(line: 0, scope: !379, inlinedAt: !563) -!563 = !DILocation(line: 0, scope: !381, inlinedAt: !564) -!564 = !DILocation(line: 85, scope: !383, inlinedAt: !565) -!565 = !DILocation(line: 86, scope: !349, inlinedAt: !559) -!566 = !DILocation(line: 86, scope: !208, inlinedAt: !561) -!567 = !DILocation(line: 639, scope: !519, inlinedAt: !568) -!568 = !DILocation(line: 483, scope: !519, inlinedAt: !569) -!569 = !DILocation(line: 99, scope: !407, inlinedAt: !409) -!570 = !DILocation(line: 77, scope: !448, inlinedAt: !569) -!571 = !DILocation(line: 513, scope: !158, inlinedAt: !572) -!572 = !DILocation(line: 484, scope: !452, inlinedAt: !573) -!573 = !DILocation(line: 379, scope: !160, inlinedAt: !570) -!574 = !DILocation(line: 49, scope: !66, inlinedAt: !575) -!575 = !DILocation(line: 12, scope: !463, inlinedAt: !576) -!576 = !DILocation(line: 78, scope: !448, inlinedAt: !569) -!577 = !DILocation(line: 82, scope: !456, inlinedAt: !578) -!578 = !DILocation(line: 360, scope: !459, inlinedAt: !579) -!579 = !DILocation(line: 174, scope: !461, inlinedAt: !575) -!580 = !DILocation(line: 730, scope: !368, inlinedAt: !581) -!581 = !DILocation(line: 228, scope: !467, inlinedAt: !582) -!582 = !DILocation(line: 360, scope: !459, inlinedAt: !578) -!583 = !DILocation(line: 106, scope: !470, inlinedAt: !584) -!584 = !DILocation(line: 249, scope: !459, inlinedAt: !585) -!585 = !DILocation(line: 361, scope: !473, inlinedAt: !581) -!586 = !DILocation(line: 741, scope: !475, inlinedAt: !587) -!587 = !DILocation(line: 756, scope: !477, inlinedAt: !588) -!588 = !DILocation(line: 805, scope: !479, inlinedAt: !589) -!589 = !DILocation(line: 891, scope: !481, inlinedAt: !590) -!590 = !DILocation(line: 7, scope: !175, inlinedAt: !584) -!591 = !DILocation(line: 741, scope: !475, inlinedAt: !592) -!592 = !DILocation(line: 756, scope: !477, inlinedAt: !593) -!593 = !DILocation(line: 805, scope: !479, inlinedAt: !594) -!594 = !DILocation(line: 891, scope: !481, inlinedAt: !595) -!595 = !DILocation(line: 250, scope: !459, inlinedAt: !585) -!596 = !DILocation(line: 87, scope: !94, inlinedAt: !595) -!597 = !DILocation(line: 86, scope: !208, inlinedAt: !598) -!598 = !DILocation(line: 1013, scope: !208, inlinedAt: !599) -!599 = !DILocation(line: 251, scope: !459, inlinedAt: !585) -!600 = !DILocation(line: 554, scope: !446, inlinedAt: !601) -!601 = !DILocation(line: 1011, scope: !494, inlinedAt: !599) -!602 = !DILocation(line: 347, scope: !494, inlinedAt: !603) -!603 = !DILocation(line: 1013, scope: !494, inlinedAt: !599) -!604 = !DILocation(line: 87, scope: !94, inlinedAt: !599) -!605 = !DILocation(line: 515, scope: !227, inlinedAt: !606) -!606 = !DILocation(line: 426, scope: !500, inlinedAt: !599) -!607 = !DILocation(line: 796, scope: !502, inlinedAt: !599) -!608 = !DILocation(line: 529, scope: !504, inlinedAt: !609) -!609 = !DILocation(line: 252, scope: !459, inlinedAt: !585) -!610 = !DILocation(line: 178, scope: !507, inlinedAt: !609) -!611 = !DILocation(line: 49, scope: !66, inlinedAt: !612) -!612 = !DILocation(line: 10, scope: !512, inlinedAt: !576) -!613 = !DILocation(line: 491, scope: !509, inlinedAt: !612) -!614 = !DILocation(line: 7, scope: !390, inlinedAt: !612) -!615 = !DILocation(line: 528, scope: !515, inlinedAt: !616) -!616 = !DILocation(line: 79, scope: !448, inlinedAt: !569) -!617 = !DILocation(line: 81, scope: !448, inlinedAt: !569) -!618 = !DILocation(line: 100, scope: !407, inlinedAt: !409) -!619 = !DILocation(line: 639, scope: !519, inlinedAt: !620) -!620 = !DILocation(line: 21, scope: !241, inlinedAt: !243) -!621 = !DILocation(line: 49, scope: !66, inlinedAt: !620) -!622 = !DILocation(line: 491, scope: !509, inlinedAt: !620) -!623 = !DILocation(line: 90, scope: !523, inlinedAt: !620) -!624 = !DILocation(line: 697, scope: !206, inlinedAt: !623) -!625 = !DILocation(line: 49, scope: !66, inlinedAt: !626) -!626 = !DILocation(line: 69, scope: !353, inlinedAt: !627) -!627 = !DILocation(line: 98, scope: !355, inlinedAt: !628) -!628 = !DILocation(line: 137, scope: !357, inlinedAt: !629) -!629 = !DILocation(line: 389, scope: !359, inlinedAt: !630) -!630 = !DILocation(line: 689, scope: !206, inlinedAt: !631) -!631 = !DILocation(line: 699, scope: !206, inlinedAt: !623) -!632 = !DILocation(line: 31, scope: !153, inlinedAt: !633) -!633 = !DILocation(line: 355, scope: !196, inlinedAt: !627) -!634 = !DILocation(line: 86, scope: !208, inlinedAt: !635) -!635 = !DILocation(line: 754, scope: !366, inlinedAt: !630) -!636 = !DILocation(line: 730, scope: !368, inlinedAt: !637) -!637 = !DILocation(line: 668, scope: !371, inlinedAt: !635) -!638 = !DILocation(line: 513, scope: !158, inlinedAt: !635) -!639 = !DILocation(line: 49, scope: !66, inlinedAt: !640) -!640 = !DILocation(line: 64, scope: !375, inlinedAt: !641) -!641 = !DILocation(line: 92, scope: !523, inlinedAt: !620) -!642 = !DILocation(line: 39, scope: !79, inlinedAt: !643) -!643 = !DILocation(line: 0, scope: !379, inlinedAt: !644) -!644 = !DILocation(line: 0, scope: !527, inlinedAt: !645) -!645 = !DILocation(line: 88, scope: !529, inlinedAt: !641) -!646 = !DILocation(line: 86, scope: !208, inlinedAt: !642) -!647 = !DILocation(line: 93, scope: !523, inlinedAt: !620) -!648 = !DILocation(line: 99, scope: !75, inlinedAt: !77) -!649 = !DILocation(line: 87, scope: !94, inlinedAt: !650) -!650 = !DILocation(line: 1013, scope: !94, inlinedAt: !444) -!651 = !DILocation(line: 86, scope: !208, inlinedAt: !652) -!652 = !DILocation(line: 1013, scope: !208, inlinedAt: !653) -!653 = !DILocation(line: 89, scope: !407, inlinedAt: !409) -!654 = !DILocation(line: 297, scope: !655, inlinedAt: !653) -!655 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !95, file: !95, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !4, retainedNodes: !47) -!656 = !DILocation(line: 87, scope: !94, inlinedAt: !657) -!657 = !DILocation(line: 1013, scope: !94, inlinedAt: !653) -!658 = !DILocation(line: 80, scope: !448, inlinedAt: !449) -!659 = !DILocation(line: 699, scope: !206, inlinedAt: !560) -!660 = !DILocation(line: 80, scope: !448, inlinedAt: !569) -!661 = !{!662, !662, i64 0} -!662 = !{!"bool", !663, i64 0} -!663 = !{!"omnipotent char", !664, i64 0} -!664 = !{!"Simple C/C++ TBAA"} -!665 = !{i8 0, i8 2} -!666 = !{!"exec_hi"} -!667 = !{!"exec_lo"} -!668 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_15612", scope: null, file: !669, line: 138, type: !46, scopeLine: 138, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !15, retainedNodes: !47) -!669 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/runtime.jl", directory: ".") -!670 = !DILocation(line: 138, scope: !668) -!671 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_15842", scope: null, file: !669, line: 112, type: !46, scopeLine: 112, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!672 = !DILocation(line: 39, scope: !673, inlinedAt: !674) -!673 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !80, file: !80, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!674 = !DILocation(line: 0, scope: !675, inlinedAt: !676) -!675 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!676 = !DILocation(line: 0, scope: !677, inlinedAt: !678) -!677 = distinct !DISubprogram(name: "kernel_state;", linkageName: "kernel_state", scope: !64, file: !64, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!678 = !DILocation(line: 11, scope: !679, inlinedAt: !680) -!679 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !669, file: !669, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!680 = !DILocation(line: 113, scope: !671) -!681 = !DILocation(line: 49, scope: !682, inlinedAt: !678) -!682 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !67, file: !67, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!683 = !DILocation(line: 180, scope: !684, inlinedAt: !686) -!684 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !685, file: !685, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!685 = !DIFile(filename: "pointer.jl", directory: ".") -!686 = !DILocation(line: 180, scope: !684, inlinedAt: !680) -!687 = !DILocation(line: 52, scope: !688, inlinedAt: !690) -!688 = distinct !DISubprogram(name: "endpgm;", linkageName: "endpgm", scope: !689, file: !689, type: !46, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !23, retainedNodes: !47) -!689 = !DIFile(filename: "/home/pxlth/.julia/dev/AMDGPU/src/device/gcn/execution_control.jl", directory: ".") -!690 = !DILocation(line: 115, scope: !671) -!691 = !DILocation(line: 116, scope: !671) From 9f1c5ab872eba44cc722f23590dd51dd619d0059 Mon Sep 17 00:00:00 2001 From: Anton Smirnov Date: Fri, 28 Feb 2025 13:04:33 +0200 Subject: [PATCH 6/6] Cleanup --- src/ROCKernels.jl | 2 ++ t.jl | 55 ----------------------------------------------- 2 files changed, 2 insertions(+), 55 deletions(-) delete mode 100644 t.jl diff --git a/src/ROCKernels.jl b/src/ROCKernels.jl index e9009c748..c9f4e4971 100644 --- a/src/ROCKernels.jl +++ b/src/ROCKernels.jl @@ -170,6 +170,8 @@ end @device_override @inline KA.supports_warp_reduction() = true +KA.supports_warp_reduction(::ROCBackend) = true + function KA.shfl_down(val, offset) AMDGPU.Device.shfl_down(val, offset) end diff --git a/t.jl b/t.jl deleted file mode 100644 index d05a3a121..000000000 --- a/t.jl +++ /dev/null @@ -1,55 +0,0 @@ -using AMDGPU -using KernelAbstractions - -import KernelAbstractions as KA - -struct MD - m::Float32 - d::Float32 -end - -KA.shfl_down(md::MD, offset) = MD(KA.shfl_down(md.m, offset), KA.shfl_down(md.d, offset)) - -function md_reduce(a::MD, b::MD)::MD - bigger_m, smaller_m = (a.m > b.m) ? (a, b) : (b, a) - return MD( - bigger_m.m, - bigger_m.d + smaller_m.d * exp(smaller_m.m - bigger_m.m), - ) -end - -# struct A -# x::Float32 -# y::Float32 -# end -# Base.:(+)(a::A, b::A) = A(a.x + b.x, a.y + b.y) - -# KA.shfl_down(a::A, offset) = A(KA.shfl_down(a.x, offset), KA.shfl_down(a.y, offset)) - -# @kernel cpu=false function groupreduce_1!(y, x, op, neutral) -# i = @index(Global) -# val = i > length(x) ? neutral : x[i] -# x = A(val, val) -# nx = A(neutral, neutral) -# res = @warp_groupreduce op x nx -# # res = @groupreduce op x -# i == 1 && (y[1] = res.x + res.y) -# end - -@kernel cpu=false function groupreduce_2!(y, x) - i = @index(Global) - nx = MD(-1f-6, 0f0) - x = MD(x[i], 1f0) - res = @warp_groupreduce md_reduce x nx - i == 1 && (y[1] = res.d) -end - -function main() - x = ROCArray(ones(Float32, 256)) - y = ROCArray(zeros(Float32, 1)) - # groupreduce_1!(ROCBackend(), 256)(y, x, +, 0f0; ndrange=256) - groupreduce_2!(ROCBackend(), 256)(y, x; ndrange=256) - @show y - return -end -main()