Skip to content

Instantly share code, notes, and snippets.

@maleadt
Last active January 25, 2021 07:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maleadt/4f116e1e4e663c48e86a284bc29546d3 to your computer and use it in GitHub Desktop.
Save maleadt/4f116e1e4e663c48e86a284bc29546d3 to your computer and use it in GitHub Desktop.
CodeInfo(
1 ─ %1 = (#self#)(vals, lo, hi, parity, sync, sync_depth, prev_pivot, lt, by, @_11, -1)
└── return %1
)
; ModuleID = 'text'
source_filename = "text"
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v16:16:16-v32:32:32-v64:64:64-v128:128:128-n16:32:64"
target triple = "nvptx64-nvidia-cuda"
%printf_args.223 = type { i64, i64, i64 }
%printf_args.185.186.224 = type { i64 }
@__dynamic_shmem_686 = external addrspace(3) global [0 x i64], align 32
@__dynamic_shmem_687 = external addrspace(3) global [0 x i64], align 32
@exception74 = private unnamed_addr constant [13 x i8] c"InexactError\00", align 1
@0 = internal unnamed_addr constant [75 x i8] c"ERROR: a CUDA error was thrown during kernel execution: %s (code %ld, %s)\0A\00", align 1
@__dynamic_shmem_673 = external addrspace(3) global [0 x i64], align 32
@__dynamic_shmem_674 = external addrspace(3) global [0 x i64], align 32
@exception32 = private unnamed_addr constant [12 x i8] c"BoundsError\00", align 1
@exception6 = private unnamed_addr constant [10 x i8] c"exception\00", align 1
@1 = internal unnamed_addr constant [110 x i8] c"WARNING: could not signal exception status to the host, execution will continue.\0A Please file a bug.\0A\00", align 1
@2 = internal unnamed_addr constant [108 x i8] c"ERROR: a %s was thrown during kernel execution.\0A Run Julia on debug level 2 for device stack traces.\0A\00", align 1
; @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `dynamic_cudacall##kw'
define internal fastcc void @julia_dynamic_cudacallYY_YY_kw_23758({ i64, [1 x i64], i64 }* nocapture nonnull readonly align 8 dereferenceable(24) %0, i64 %1, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %2, i64 %3, i64 %4, i8 %5, i64 %6, i64 %7, i64 %8) unnamed_addr !dbg !172 {
top:
%9 = alloca [1 x i32], align 4
%.sroa.023.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 0
%.sroa.023.0.copyload = load i64, i64* %.sroa.023.0..sroa_idx, align 8, !tbaa !174
%.sroa.224.0..sroa_idx25 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 1
%.sroa.224.0.copyload = load i64, i64* %.sroa.224.0..sroa_idx25, align 8, !tbaa !174
%.sroa.3.0..sroa_idx26 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 1
%10 = bitcast i8 addrspace(1)** %.sroa.3.0..sroa_idx26 to i64*
%.sroa.3.0.copyload44 = load i64, i64* %10, align 8, !tbaa !174
%.sroa.427.0..sroa_idx28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 0
%.sroa.427.0.copyload = load i64, i64* %.sroa.427.0..sroa_idx28, align 8, !tbaa !174
%.sroa.5.0..sroa_idx29 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 1, i64 0, i64 0
%.sroa.5.0.copyload = load i64, i64* %.sroa.5.0..sroa_idx29, align 8, !tbaa !174
%.sroa.6.0..sroa_idx30 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 2
%.sroa.6.0.copyload = load i64, i64* %.sroa.6.0..sroa_idx30, align 8, !tbaa !174
%.sroa.7.0..sroa_idx31 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 3
%.sroa.7.0.copyload = load i64, i64* %.sroa.7.0..sroa_idx31, align 8, !tbaa !174
; ┌ @ namedtuple.jl:118 within `getindex'
%11 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 0, !dbg !177
%12 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 2, !dbg !177
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `#dynamic_cudacall#229'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:383 within `macro expansion'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:60 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:23 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%13 = load i64, i64* %11, align 8, !dbg !181, !tbaa !200
%14 = trunc i64 %13 to i32, !dbg !181
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%15 = icmp ugt i64 %13, 4294967295, !dbg !202
br i1 %15, label %L33, label %L38, !dbg !202
L33: ; preds = %top
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !202
call fastcc void @gpu_signal_exception(), !dbg !202
call void asm sideeffect "exit;", ""() #5, !dbg !202
call void asm sideeffect "exit;", ""() #5, !dbg !202
br label %L38
L38: ; preds = %L33, %top
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:62 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:68 within `parameter_buffer'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:72 within `macro expansion'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:225 within `cudaGetParameterBufferV2'
; ││││││┌ @ essentials.jl:396 within `cconvert'
; │││││││┌ @ number.jl:7 within `convert'
; ││││││││┌ @ boot.jl:756 within `UInt32'
; │││││││││┌ @ boot.jl:716 within `toUInt32'
; ││││││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%16 = load i64, i64* %12, align 8, !dbg !203, !tbaa !200
%17 = trunc i64 %16 to i32, !dbg !203
; ││││││││││└
; ││││││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%18 = icmp ugt i64 %16, 4294967295, !dbg !218
br i1 %18, label %L46, label %L52, !dbg !218
L46: ; preds = %L38
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !218
call fastcc void @gpu_signal_exception(), !dbg !218
call void asm sideeffect "exit;", ""() #5, !dbg !218
call void asm sideeffect "exit;", ""() #5, !dbg !218
br label %L52
L52: ; preds = %L46, %L38
; ││││││└└└└└
%.fca.0.insert = insertvalue { i32, i32, i32 } undef, i32 %14, 0, !dbg !210
%.fca.1.insert = insertvalue { i32, i32, i32 } %.fca.0.insert, i32 1, 1, !dbg !210
%.fca.2.insert16 = insertvalue { i32, i32, i32 } %.fca.1.insert, i32 1, 2, !dbg !210
%19 = call i64 @cudaGetParameterBufferV2(i64 %1, { i32, i32, i32 } { i32 1, i32 1, i32 1 }, { i32, i32, i32 } %.fca.2.insert16, i32 %17), !dbg !210
; ││││└└
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:73 within `macro expansion'
%20 = inttoptr i64 %19 to { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }*, !dbg !219
%.repack.repack.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 0, !dbg !219
store i64 %.sroa.023.0.copyload, i64* %.repack.repack.repack, align 8, !dbg !219, !tbaa !220
%.repack.repack.repack40 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 1, !dbg !219
store i64 %.sroa.224.0.copyload, i64* %.repack.repack.repack40, align 8, !dbg !219, !tbaa !220
%.repack.repack38 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 1, !dbg !219
%21 = bitcast i8 addrspace(1)** %.repack.repack38 to i64*, !dbg !219
store i64 %.sroa.3.0.copyload44, i64* %21, align 8, !dbg !219, !tbaa !220
%.repack32.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 0, !dbg !219
store i64 %.sroa.427.0.copyload, i64* %.repack32.repack, align 8, !dbg !219, !tbaa !220
%22 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !219
store i64 %.sroa.5.0.copyload, i64* %22, align 8, !dbg !219, !tbaa !220
%.repack34 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 2, !dbg !219
store i64 %.sroa.6.0.copyload, i64* %.repack34, align 8, !dbg !219, !tbaa !220
%.repack36 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 3, !dbg !219
store i64 %.sroa.7.0.copyload, i64* %.repack36, align 8, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%23 = inttoptr i64 %19 to i8*, !dbg !222
%24 = getelementptr i8, i8* %23, i64 56, !dbg !222
; │││││└
%25 = bitcast i8* %24 to i64*, !dbg !219
store i64 %3, i64* %25, align 8, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%26 = getelementptr i8, i8* %23, i64 64, !dbg !222
; │││││└
%27 = bitcast i8* %26 to i64*, !dbg !219
store i64 %4, i64* %27, align 8, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%28 = getelementptr i8, i8* %23, i64 72, !dbg !222
; │││││└
store i8 %5, i8* %28, align 1, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%29 = getelementptr i8, i8* %23, i64 80, !dbg !222
; │││││└
%30 = bitcast i8* %29 to i64*, !dbg !219
store i64 %6, i64* %30, align 8, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%31 = getelementptr i8, i8* %23, i64 88, !dbg !222
; │││││└
%32 = bitcast i8* %31 to i64*, !dbg !219
store i64 %7, i64* %32, align 8, !dbg !219, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%33 = getelementptr i8, i8* %23, i64 96, !dbg !222
; │││││└
%34 = bitcast i8* %33 to i64*, !dbg !219
store i64 %8, i64* %34, align 8, !dbg !219, !tbaa !220
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:251 within `cudaLaunchDeviceV2'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:47 within `unsafe_convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%35 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 1, i64 0, !dbg !225
; ││││└└
%36 = load i64, i64* %35, align 8, !dbg !230, !tbaa !200
%37 = call i32 @cudaLaunchDeviceV2(i64 %19, i64 %36), !dbg !230
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_launch'
; │││┌ @ operators.jl:204 within `!='
; ││││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not = icmp eq i32 %37, 0, !dbg !233
; │││└└
br i1 %.not, label %L118, label %L113, !dbg !242
L113: ; preds = %L52
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%38 = getelementptr inbounds [1 x i32], [1 x i32]* %9, i64 0, i64 0, !dbg !243
store i32 %37, i32* %38, align 4, !dbg !243, !tbaa !246
; │││└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %9), !dbg !245
call void asm sideeffect "exit;", ""() #5, !dbg !245
br label %L118
L118: ; preds = %L113, %L52
; └└└
ret void, !dbg !180
}
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #0
declare i64 @cudaGetParameterBufferV2(i64, { i32, i32, i32 }, { i32, i32, i32 }, i32) local_unnamed_addr
declare i32 @cudaLaunchDeviceV2(i64, i64) local_unnamed_addr
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:324 within `qsort_kernel'
define internal fastcc void @julia_qsort_kernel_23532({ [2 x i64], i8 addrspace(1)* }* nocapture nonnull readonly align 8 dereferenceable(24) %0, i64 %1, i64 %2, i8 %3, i64 %4, i64 %5) unnamed_addr !dbg !248 {
top:
%6 = alloca i64, align 16
%7 = bitcast i64* %6 to i8*
%8 = alloca i64, align 16
%9 = bitcast i64* %8 to i8*
%10 = alloca { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, align 8
%11 = alloca { [2 x i64], i64, i64 }, align 8
%12 = alloca [1 x i32], align 4
%13 = alloca [2 x i64], align 8
%14 = alloca [1 x i32], align 4
%15 = alloca { i64, [1 x i64], i64 }, align 8
%16 = alloca [1 x i32], align 4
%17 = alloca [1 x i32], align 4
%18 = alloca { i64, [1 x i64], i64 }, align 8
%19 = alloca [1 x i32], align 4
%20 = alloca { i64, [1 x i64], i64 }, align 8
%21 = alloca { i64, [1 x i64], i64 }, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:326 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%22 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !249, !range !265
; │││└└
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%23 = zext i32 %22 to i64, !dbg !266
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:327 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:49 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:108 within `+'
%24 = getelementptr [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_687, i64 0, i64 %23, !dbg !270
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:328 within `qsort_kernel'
; ┌ @ int.jl:87 within `+'
%25 = shl nuw nsw i64 %23, 4, !dbg !275
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:329 within `qsort_kernel'
; ┌ @ int.jl:86 within `-'
%26 = sub i64 %2, %1, !dbg !279
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:336 within `qsort_kernel'
; ┌ @ ntuple.jl:19 within `ntuple'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:336 within `#4'
; ││┌ @ abstractarray.jl:38 within `size'
; │││┌ @ tuple.jl:29 within `getindex'
%27 = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %0, i64 0, i32 0, i64 0, !dbg !282
; └└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:337 within `qsort_kernel'
; ┌ @ multidimensional.jl:276 within `CartesianIndices'
; │┌ @ tuple.jl:214 within `map'
; ││┌ @ multidimensional.jl:281 within `_convert2ind'
; │││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││┌ @ promotion.jl:421 within `max'
; │││││┌ @ int.jl:83 within `<'
%28 = load i64, i64* %27, align 8, !dbg !293, !tbaa !200
; │││││└
%29 = icmp sgt i64 %28, 0, !dbg !295
%30 = select i1 %29, i64 %28, i64 0, !dbg !295
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:77 within `blockIdx'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:57 within `blockIdx_x'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%31 = call i32 @llvm.nvvm.read.ptx.sreg.ctaid.x(), !dbg !309, !range !316
; ││└└
; ││┌ @ int.jl:87 within `+'
%narrow = add nuw nsw i32 %31, 1, !dbg !317
%32 = zext i32 %narrow to i64, !dbg !317
; └└└
; ┌ @ abstractarray.jl:1164 within `getindex'
; │┌ @ abstractarray.jl:1202 within `_getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%.not = icmp slt i64 %30, %32, !dbg !318
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not, label %L92, label %L95, !dbg !324
L92: ; preds = %top
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !324
call fastcc void @gpu_signal_exception(), !dbg !324
call void asm sideeffect "exit;", ""() #5, !dbg !324
call void asm sideeffect "exit;", ""() #5, !dbg !324
br label %L95
L95: ; preds = %L92, %top
; │└└
; │┌ @ abstractarray.jl:1203 within `_getindex'
; ││┌ @ abstractarray.jl:1210 within `_to_subscript_indices'
; │││┌ @ abstractarray.jl:1232 within `_unsafe_ind2sub'
; ││││┌ @ abstractarray.jl:2003 within `_ind2sub' @ abstractarray.jl:2041
; │││││┌ @ int.jl:86 within `-'
%33 = add nsw i64 %32, -1, !dbg !329
; │││││└
; │││││┌ @ abstractarray.jl:2054 within `_ind2sub_recurse'
; ││││││┌ @ abstractarray.jl:2061 within `_div'
; │││││││┌ @ int.jl:261 within `div'
br i1 %29, label %pass, label %fail, !dbg !338
L110: ; preds = %pass
; ││└└└└└└
; ││┌ @ multidimensional.jl:353 within `getindex'
; │││┌ @ broadcast.jl:883 within `materialize'
; ││││┌ @ broadcast.jl:1096 within `copy'
; │││││┌ @ ntuple.jl:49 within `ntuple'
; ││││││┌ @ broadcast.jl:1096 within `#19'
; │││││││┌ @ broadcast.jl:621 within `_broadcast_getindex'
; ││││││││┌ @ broadcast.jl:648 within `_broadcast_getindex_evalf'
; │││││││││┌ @ range.jl:702 within `getindex'
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !344
call fastcc void @gpu_signal_exception(), !dbg !344
call void asm sideeffect "exit;", ""() #5, !dbg !344
call void asm sideeffect "exit;", ""() #5, !dbg !344
br label %L117
L117: ; preds = %pass, %L110
; ││││││││││┌ @ bool.jl:36 within `&'
%.not128 = icmp eq i64 %270, 0, !dbg !360
; ││││││││││└
br i1 %.not128, label %L134, label %L122, !dbg !344
L122: ; preds = %L117
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !344
call fastcc void @gpu_signal_exception(), !dbg !344
call void asm sideeffect "exit;", ""() #5, !dbg !344
call void asm sideeffect "exit;", ""() #5, !dbg !344
br label %L134
L134: ; preds = %L122, %L117
; └└└└└└└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:340 within `qsort_kernel'
; ┌ @ abstractarray.jl:89 within `axes'
; │┌ @ tuple.jl:214 within `map'
; ││┌ @ tuple.jl:29 within `getindex'
%34 = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %0, i64 0, i32 0, i64 1, !dbg !363
; ││└
; ││┌ @ range.jl:337 within `oneto'
; │││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││┌ @ promotion.jl:421 within `max'
; │││││┌ @ int.jl:83 within `<'
%35 = load i64, i64* %34, align 8, !dbg !368, !tbaa !200
; │││││└
%36 = icmp sgt i64 %35, 0, !dbg !369
%37 = select i1 %36, i64 %35, i64 0, !dbg !369
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:342 within `qsort_kernel'
; ┌ @ subarray.jl:167 within `view'
; │┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %276, label %L152, label %L155, !dbg !374
L152: ; preds = %L134
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !374
call fastcc void @gpu_signal_exception(), !dbg !374
call void asm sideeffect "exit;", ""() #5, !dbg !374
call void asm sideeffect "exit;", ""() #5, !dbg !374
br label %L155
L155: ; preds = %L152, %L134
; └└
; ┌ @ subarray.jl:168 within `view'
; │┌ @ subarray.jl:199 within `unsafe_view'
; ││┌ @ subarray.jl:28 within `SubArray' @ subarray.jl:38
; │││┌ @ subarray.jl:385 within `compute_offset1' @ subarray.jl:387
; ││││┌ @ int.jl:86 within `-'
%38 = sub i64 %273, %30, !dbg !379
; │││└└
; │││ @ subarray.jl:28 within `SubArray' @ subarray.jl:38 @ subarray.jl:22
%39 = bitcast { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %10 to i8*, !dbg !389
%40 = bitcast { [2 x i64], i8 addrspace(1)* }* %0 to i8*, !dbg !389
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull align 8 dereferenceable(24) %39, i8* nonnull align 8 dereferenceable(24) %40, i64 24, i1 false), !dbg !389, !tbaa !174
%.sroa.0109.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %10, i64 0, i32 1, i32 0, !dbg !389
store i64 %273, i64* %.sroa.0109.0..sroa_idx, align 8, !dbg !389, !tbaa !246
%.sroa.2110.0..sroa_idx111 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %10, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !389
store i64 %37, i64* %.sroa.2110.0..sroa_idx111, align 8, !dbg !389, !tbaa !246
%41 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %10, i64 0, i32 2, !dbg !389
store i64 %38, i64* %41, align 8, !dbg !389, !tbaa !246
%42 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %10, i64 0, i32 3, !dbg !389
store i64 %30, i64* %42, align 8, !dbg !389, !tbaa !246
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ int.jl:442 within `<='
%.not129 = icmp sgt i64 %26, %23, !dbg !390
; └
br i1 %.not129, label %L190, label %L201, !dbg !391
L190: ; preds = %L155
; ┌ @ int.jl:261 within `div'
%43 = sdiv i64 %26, %23, !dbg !392
br label %L201, !dbg !392
L201: ; preds = %L190, %L155
%value_phi = phi i64 [ %43, %L190 ], [ 1, %L155 ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:246 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !393
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:247 within `bubble_sort'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not130 = icmp slt i64 %26, %23, !dbg !398
; ││└
%44 = select i1 %.not130, i64 %26, i64 %23, !dbg !399
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:249 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%45 = call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !402, !range !410
; │││└└
; │││┌ @ int.jl:87 within `+'
%narrow131 = add nuw nsw i32 %45, 1, !dbg !411
%46 = zext i32 %narrow131 to i64, !dbg !411
; │└└└
; │┌ @ int.jl:442 within `<='
%.not132 = icmp slt i64 %44, %46, !dbg !412
; │└
br i1 %.not132, label %L307, label %L228, !dbg !409
L228: ; preds = %L201
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:250 within `bubble_sort'
; │┌ @ int.jl:88 within `*'
%47 = mul i64 %value_phi, %46, !dbg !413
; │└
; │┌ @ int.jl:87 within `+'
%48 = add i64 %47, %1, !dbg !416
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%49 = icmp slt i64 %48, 1, !dbg !417
%50 = icmp sgt i64 %48, %37, !dbg !417
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%51 = or i1 %49, %50, !dbg !420
br i1 %51, label %L248, label %L251, !dbg !420
L248: ; preds = %L228
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !420
call fastcc void @gpu_signal_exception(), !dbg !420
call void asm sideeffect "exit;", ""() #5, !dbg !420
call void asm sideeffect "exit;", ""() #5, !dbg !420
br label %L251
L251: ; preds = %L248, %L228
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%52 = mul i64 %48, %30, !dbg !423
; ││└
; ││┌ @ int.jl:87 within `+'
%53 = add i64 %52, %38, !dbg !425
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%54 = mul i64 %35, %28, !dbg !426
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%55 = icmp sgt i64 %54, 0, !dbg !440
%56 = select i1 %55, i64 %54, i64 0, !dbg !440
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%57 = icmp slt i64 %53, 1, !dbg !444
%58 = icmp sgt i64 %53, %56, !dbg !444
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%59 = or i1 %57, %58, !dbg !435
br i1 %59, label %L266, label %L269, !dbg !435
L266: ; preds = %L251
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !435
call fastcc void @gpu_signal_exception(), !dbg !435
call void asm sideeffect "exit;", ""() #5, !dbg !435
call void asm sideeffect "exit;", ""() #5, !dbg !435
br label %L269
L269: ; preds = %L266, %L251
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; ││││┌ @ Base.jl:33 within `getproperty'
%60 = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %0, i64 0, i32 1, !dbg !446
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%61 = add i64 %53, -1, !dbg !451
; ││││││└
%62 = bitcast i8 addrspace(1)** %60 to i64 addrspace(1)**, !dbg !452
%63 = load i64 addrspace(1)*, i64 addrspace(1)** %62, align 8, !dbg !452, !tbaa !200
%64 = getelementptr inbounds i64, i64 addrspace(1)* %63, i64 %61, !dbg !452
%65 = load i64, i64 addrspace(1)* %64, align 8, !dbg !452, !tbaa !459
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not135 = icmp ult i32 %45, %22, !dbg !462
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not135, label %L300, label %L297, !dbg !465
L297: ; preds = %L269
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !465
call fastcc void @gpu_signal_exception(), !dbg !465
call void asm sideeffect "exit;", ""() #5, !dbg !465
call void asm sideeffect "exit;", ""() #5, !dbg !465
br label %L300
L300: ; preds = %L297, %L269
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%66 = zext i32 %45 to i64, !dbg !470
; ││││││└
%67 = getelementptr inbounds i64, i64 addrspace(3)* %24, i64 %66, !dbg !471
store i64 %65, i64 addrspace(3)* %67, align 8, !dbg !471, !tbaa !478
; ││└└└└
br label %L307, !dbg !468
L307: ; preds = %L300, %L201
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:252 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !480
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv = icmp sgt i64 %44, -1, !dbg !482
%68 = select i1 %.inv, i64 %44, i64 -1, !dbg !482
; │└└└
br i1 %.inv, label %L319.preheader, label %L502, !dbg !488
L319.preheader: ; preds = %L307
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ int.jl within `-'
%69 = zext i32 %45 to i64, !dbg !489
; │└
; │┌ @ int.jl within `rem'
%narrow137 = and i32 %45, 1, !dbg !491
%70 = xor i32 %narrow137, 1, !dbg !491
%71 = zext i32 %70 to i64, !dbg !491
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not150 = icmp ult i32 %45, %22, !dbg !493
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%72 = getelementptr inbounds i64, i64 addrspace(3)* %24, i64 %69, !dbg !500
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
br label %L319, !dbg !505
L319: ; preds = %L490, %L319.preheader
%value_phi4 = phi i64 [ %88, %L490 ], [ 0, %L319.preheader ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ int.jl:262 within `rem'
%73 = srem i64 %value_phi4, 2, !dbg !506
; │└
; │┌ @ operators.jl:204 within `!='
; ││┌ @ promotion.jl:410 within `=='
%.not138 = icmp eq i64 %73, %71, !dbg !507
; │└└
; │┌ @ int.jl:88 within `*'
%74 = select i1 %.not138, i64 0, i64 2, !dbg !511
; │└
; │┌ @ int.jl:87 within `+'
%75 = add nuw nsw i64 %74, %69, !dbg !512
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
; │┌ @ int.jl:442 within `<='
%.not139 = icmp eq i64 %75, 0, !dbg !513
; │└
%76 = icmp sgt i64 %75, %44, !dbg !505
%77 = or i1 %.not139, %76, !dbg !505
%brmerge = or i1 %77, %.not132, !dbg !505
br i1 %brmerge, label %L393, label %L374, !dbg !505
L374: ; preds = %L319
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:257 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
%78 = add nsw i64 %75, -1, !dbg !514
%.not143 = icmp ult i64 %78, %23, !dbg !514
br i1 %.not143, label %L385, label %L382, !dbg !514
L382: ; preds = %L374
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !514
call fastcc void @gpu_signal_exception(), !dbg !514
call void asm sideeffect "exit;", ""() #5, !dbg !514
call void asm sideeffect "exit;", ""() #5, !dbg !514
br label %L385
L385: ; preds = %L382, %L374
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%79 = getelementptr inbounds i64, i64 addrspace(3)* %24, i64 %78, !dbg !518
%80 = load i64, i64 addrspace(3)* %79, align 8, !dbg !518, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:670 within `iterate'
br label %L393, !dbg !523
L393: ; preds = %L385, %L319
%value_phi14 = phi i64 [ %80, %L385 ], [ 0, %L319 ]
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:261 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !525
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:262 within `bubble_sort'
br i1 %brmerge, label %L490, label %L415, !dbg !527
L415: ; preds = %L393
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ int.jl:83 within `<'
%81 = icmp ule i64 %75, %46, !dbg !528
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not150, label %L450, label %L450.thread, !dbg !496
L450: ; preds = %L415
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%82 = load i64, i64 addrspace(3)* %72, align 8, !dbg !529, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%83 = icmp slt i64 %82, %value_phi14, !dbg !530
; │└└└
%84 = xor i1 %81, %83, !dbg !499
br i1 %84, label %L490, label %L483, !dbg !499
L450.thread: ; preds = %L415
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !496
call fastcc void @gpu_signal_exception(), !dbg !496
call void asm sideeffect "exit;", ""() #5, !dbg !496
call void asm sideeffect "exit;", ""() #5, !dbg !496
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%85 = load i64, i64 addrspace(3)* %72, align 8, !dbg !529, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%86 = icmp slt i64 %85, %value_phi14, !dbg !530
; │└└└
%87 = xor i1 %81, %86, !dbg !499
br i1 %87, label %L490, label %L480, !dbg !499
L480: ; preds = %L450.thread
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:264 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !535
call fastcc void @gpu_signal_exception(), !dbg !535
call void asm sideeffect "exit;", ""() #5, !dbg !535
call void asm sideeffect "exit;", ""() #5, !dbg !535
br label %L483
L483: ; preds = %L480, %L450
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %value_phi14, i64 addrspace(3)* %72, align 8, !dbg !539, !tbaa !478
; ││└└└└
br label %L490, !dbg !537
L490: ; preds = %L483, %L450.thread, %L450, %L393
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !544
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not156.not = icmp eq i64 %value_phi4, %68, !dbg !546
; ││└
%88 = add i64 %value_phi4, 1, !dbg !547
; │└
br i1 %.not156.not, label %L502, label %L319, !dbg !545
L502: ; preds = %L490, %L307
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:269 within `bubble_sort'
br i1 %.not132, label %L595, label %L515, !dbg !548
L515: ; preds = %L502
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:270 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not160 = icmp ult i32 %45, %22, !dbg !549
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not160, label %L538, label %L535, !dbg !552
L535: ; preds = %L515
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !552
call fastcc void @gpu_signal_exception(), !dbg !552
call void asm sideeffect "exit;", ""() #5, !dbg !552
call void asm sideeffect "exit;", ""() #5, !dbg !552
br label %L538
L538: ; preds = %L535, %L515
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%89 = zext i32 %45 to i64, !dbg !556
; ││││││└
%90 = getelementptr inbounds i64, i64 addrspace(3)* %24, i64 %89, !dbg !557
%91 = load i64, i64 addrspace(3)* %90, align 8, !dbg !557, !tbaa !478
; │└└└└└
; │┌ @ int.jl:88 within `*'
%92 = mul i64 %value_phi, %46, !dbg !562
; │└
; │┌ @ int.jl:87 within `+'
%93 = add i64 %92, %1, !dbg !563
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%94 = icmp slt i64 %93, 1, !dbg !564
%95 = icmp sgt i64 %93, %37, !dbg !564
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%96 = or i1 %94, %95, !dbg !567
br i1 %96, label %L564, label %L567, !dbg !567
L564: ; preds = %L538
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !567
call fastcc void @gpu_signal_exception(), !dbg !567
call void asm sideeffect "exit;", ""() #5, !dbg !567
call void asm sideeffect "exit;", ""() #5, !dbg !567
br label %L567
L567: ; preds = %L564, %L538
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%97 = mul i64 %93, %30, !dbg !570
; ││└
; ││┌ @ int.jl:87 within `+'
%98 = add i64 %97, %38, !dbg !572
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%99 = mul i64 %35, %28, !dbg !573
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%100 = icmp sgt i64 %99, 0, !dbg !581
%101 = select i1 %100, i64 %99, i64 0, !dbg !581
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%102 = icmp slt i64 %98, 1, !dbg !585
%103 = icmp sgt i64 %98, %101, !dbg !585
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%104 = or i1 %102, %103, !dbg !578
br i1 %104, label %L582, label %L585, !dbg !578
L582: ; preds = %L567
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !578
call fastcc void @gpu_signal_exception(), !dbg !578
call void asm sideeffect "exit;", ""() #5, !dbg !578
call void asm sideeffect "exit;", ""() #5, !dbg !578
br label %L585
L585: ; preds = %L582, %L567
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; ││││┌ @ Base.jl:33 within `getproperty'
%105 = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %0, i64 0, i32 1, !dbg !587
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%106 = add i64 %98, -1, !dbg !590
; ││││││└
%107 = bitcast i8 addrspace(1)** %105 to i64 addrspace(1)**, !dbg !591
%108 = load i64 addrspace(1)*, i64 addrspace(1)** %107, align 8, !dbg !591, !tbaa !200
%109 = getelementptr inbounds i64, i64 addrspace(1)* %108, i64 %106, !dbg !591
store i64 %91, i64 addrspace(1)* %109, align 8, !dbg !591, !tbaa !459
; │└└└└└
br label %L595, !dbg !555
L595: ; preds = %L585, %L502
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:273 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !595
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:349 within `qsort_kernel'
br i1 %.not129, label %L610, label %L609, !dbg !597
L609: ; preds = %L1458, %L1451, %L1381, %L1274, %L595
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:350 within `qsort_kernel'
ret void, !dbg !598
L610: ; preds = %L595
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:353 within `qsort_kernel'
; ┌ @ int.jl:261 within `div'
%110 = lshr i32 %22, 1, !dbg !599
%111 = zext i32 %110 to i64, !dbg !599
%112 = sdiv i64 %26, %23, !dbg !599
; └
; ┌ @ int.jl:88 within `*'
%113 = mul i64 %112, %111, !dbg !601
; └
; ┌ @ int.jl:87 within `+'
%114 = add i64 %113, %1, !dbg !602
; └
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%115 = icmp slt i64 %114, 1, !dbg !603
%116 = icmp sgt i64 %114, %37, !dbg !603
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%117 = or i1 %115, %116, !dbg !606
br i1 %117, label %L641, label %L644, !dbg !606
L641: ; preds = %L610
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !606
call fastcc void @gpu_signal_exception(), !dbg !606
call void asm sideeffect "exit;", ""() #5, !dbg !606
call void asm sideeffect "exit;", ""() #5, !dbg !606
br label %L644
L644: ; preds = %L641, %L610
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%118 = mul i64 %114, %30, !dbg !608
; │└
; │┌ @ int.jl:87 within `+'
%119 = add i64 %118, %38, !dbg !610
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl:88 within `*'
%120 = mul i64 %35, %28, !dbg !611
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl:421 within `max'
%121 = icmp sgt i64 %120, 0, !dbg !619
%122 = select i1 %121, i64 %120, i64 0, !dbg !619
; │││└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%123 = icmp slt i64 %119, 1, !dbg !623
%124 = icmp sgt i64 %119, %122, !dbg !623
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%125 = or i1 %123, %124, !dbg !616
br i1 %125, label %L659, label %L662, !dbg !616
L659: ; preds = %L644
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !616
call fastcc void @gpu_signal_exception(), !dbg !616
call void asm sideeffect "exit;", ""() #5, !dbg !616
call void asm sideeffect "exit;", ""() #5, !dbg !616
br label %L662
L662: ; preds = %L659, %L644
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl:33 within `getproperty'
%126 = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %0, i64 0, i32 1, !dbg !625
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%127 = add i64 %119, -1, !dbg !628
; │││││└
%128 = bitcast i8 addrspace(1)** %126 to i64 addrspace(1)**, !dbg !629
%129 = load i64 addrspace(1)*, i64 addrspace(1)** %128, align 8, !dbg !629, !tbaa !200
%130 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %127, !dbg !629
%131 = load i64, i64 addrspace(1)* %130, align 8, !dbg !629, !tbaa !459
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:282 within `call_batch_partition'
; │┌ @ promotion.jl:410 within `=='
%.not166 = icmp eq i32 %45, 0, !dbg !633
; │└
br i1 %.not166, label %L684, label %L662.L756_crit_edge, !dbg !634
L662.L756_crit_edge: ; preds = %L662
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ int.jl:93 within `/'
; │││┌ @ float.jl:206 within `float'
; ││││┌ @ float.jl:191 within `AbstractFloat'
; │││││┌ @ float.jl:94 within `Float64'
%.pre = sitofp i64 %26 to double, !dbg !637
%.pre207 = uitofp i32 %22 to double, !dbg !637
; │││└└└
; │││ @ int.jl:93 within `/' @ float.jl:335
%.pre209 = fdiv double %.pre, %.pre207, !dbg !651
; ││└
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%.pre211 = call double @llvm.ceil.f64(double %.pre209), !dbg !653
; └└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:282 within `call_batch_partition'
br label %L756, !dbg !634
L684: ; preds = %L662
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:283 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; ││┌ @ int.jl:93 within `/'
; │││┌ @ float.jl:206 within `float'
; ││││┌ @ float.jl:191 within `AbstractFloat'
; │││││┌ @ float.jl:94 within `Float64'
%132 = sitofp i64 %26 to double, !dbg !657
%133 = uitofp i32 %22 to double, !dbg !657
; │││└└└
; │││ @ int.jl:93 within `/' @ float.jl:335
%134 = fdiv double %132, %133, !dbg !664
; ││└
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%135 = call double @llvm.ceil.f64(double %134), !dbg !665
; │││└
; │││┌ @ float.jl:713 within `trunc'
; ││││┌ @ float.jl:374 within `<='
%136 = fcmp ult double %135, 0xC3E0000000000000, !dbg !667
; ││││└
%137 = fcmp uge double %135, 0x43E0000000000000, !dbg !669
%138 = or i1 %136, %137, !dbg !669
br i1 %138, label %L709, label %L707, !dbg !669
L707: ; preds = %L709, %L684
; │││└
; │││┌ @ float.jl:714 within `trunc'
; ││││┌ @ float.jl:239 within `unsafe_trunc'
%139 = fptosi double %135 to i64, !dbg !671
; ││└└└
; ││┌ @ int.jl:88 within `*'
%140 = shl nuw nsw i32 %22, 4, !dbg !674
%141 = zext i32 %140 to i64, !dbg !674
; ││└
; ││┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%.sroa.096.0..sroa_idx = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 0, i64 0, !dbg !675
store i64 1, i64* %.sroa.096.0..sroa_idx, align 8, !dbg !675, !tbaa !246
%.sroa.2.0..sroa_idx97 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 0, i64 1, !dbg !675
store i64 %139, i64* %.sroa.2.0..sroa_idx97, align 8, !dbg !675, !tbaa !246
%142 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 1, !dbg !675
store i64 %23, i64* %142, align 8, !dbg !675, !tbaa !246
%143 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 2, !dbg !675
store i64 %141, i64* %143, align 8, !dbg !675, !tbaa !246
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; ││││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_23787({ [2 x i64], i64, i64 }* nocapture readonly %11, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i64, i8)* @_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %131, i64 %1, i64 %2, i8 %3), !dbg !678
; └└└└└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:286 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_synchronize'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:37 within `cudaDeviceSynchronize'
%144 = call i32 @cudaDeviceSynchronize(), !dbg !691
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_synchronize'
; ││┌ @ operators.jl:204 within `!='
; │││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not168 = icmp eq i32 %144, 0, !dbg !696
; ││└└
br i1 %.not168, label %L756, label %L750, !dbg !700
L709: ; preds = %L684
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:283 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !701
call fastcc void @gpu_signal_exception(), !dbg !701
call void asm sideeffect "exit;", ""() #5, !dbg !701
br label %L707
L750: ; preds = %L707
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:286 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_synchronize'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%145 = getelementptr inbounds [1 x i32], [1 x i32]* %12, i64 0, i64 0, !dbg !702
store i32 %144, i32* %145, align 4, !dbg !702, !tbaa !246
; ││└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %12), !dbg !704
call void asm sideeffect "exit;", ""() #5, !dbg !704
br label %L756
L756: ; preds = %L750, %L707, %L662.L756_crit_edge
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%.pre-phi212 = phi double [ %.pre211, %L662.L756_crit_edge ], [ %135, %L750 ], [ %135, %L707 ], !dbg !653
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:184 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !705
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:713 within `trunc'
; ││││┌ @ float.jl:374 within `<='
%146 = fcmp ult double %.pre-phi212, 0xC3E0000000000000, !dbg !707
; ││││└
%147 = fcmp uge double %.pre-phi212, 0x43E0000000000000, !dbg !708
%148 = or i1 %146, %147, !dbg !708
br i1 %148, label %L780, label %L778, !dbg !708
L778: ; preds = %L780, %L756
; │││└
; │││┌ @ float.jl:714 within `trunc'
; ││││┌ @ float.jl:239 within `unsafe_trunc'
%149 = fptosi double %.pre-phi212 to i64, !dbg !709
; │└└└└
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv170 = icmp sgt i64 %149, 0, !dbg !711
%150 = select i1 %.inv170, i64 %149, i64 0, !dbg !711
; │└└└
br i1 %.inv170, label %L796.preheader, label %L1274, !dbg !648
L796.preheader: ; preds = %L778
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl within `+'
%151 = add nsw i64 %46, -1, !dbg !714
; └└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not179 = icmp ult i32 %45, %22, !dbg !718
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl within `-'
%152 = zext i32 %45 to i64, !dbg !725
; ││││││└
; ││││││ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%153 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %152, !dbg !731
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `consolidate_batch_partition'
%154 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 0, !dbg !732
%155 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 1, !dbg !732
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
br label %L796, !dbg !733
L780: ; preds = %L756
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !734
call fastcc void @gpu_signal_exception(), !dbg !734
call void asm sideeffect "exit;", ""() #5, !dbg !734
br label %L778
L796: ; preds = %L1260, %L796.preheader
%value_phi28 = phi i64 [ %236, %L1260 ], [ 1, %L796.preheader ]
%value_phi30 = phi i64 [ %235, %L1260 ], [ 0, %L796.preheader ]
%value_phi31 = phi i64 [ %234, %L1260 ], [ 0, %L796.preheader ]
%value_phi32 = phi i64 [ %value_phi39, %L1260 ], [ 0, %L796.preheader ]
%.urem = urem i64 %value_phi28, %23
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
; │┌ @ promotion.jl:410 within `=='
%.not171 = icmp eq i64 %.urem, 1, !dbg !735
; │└
br i1 %.not171, label %L814, label %L973, !dbg !733
L814: ; preds = %L796
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:194 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl:88 within `*'
%156 = mul i64 %value_phi32, %23, !dbg !736
; ││└
; ││┌ @ int.jl:87 within `+'
%157 = add i64 %156, %46, !dbg !739
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:713 within `trunc'
br i1 %148, label %L860, label %L858, !dbg !740
L858: ; preds = %L860, %L814
; │└└└
; │┌ @ int.jl:442 within `<='
%.not174 = icmp sgt i64 %157, %149, !dbg !743
; │└
br i1 %.not174, label %L972, label %L867, !dbg !738
L860: ; preds = %L814
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !744
call fastcc void @gpu_signal_exception(), !dbg !744
call void asm sideeffect "exit;", ""() #5, !dbg !744
br label %L858
L867: ; preds = %L858
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%158 = add i64 %151, %156, !dbg !745
; │└
; │┌ @ int.jl:88 within `*'
%159 = mul i64 %158, %23, !dbg !746
; │└
; │┌ @ int.jl:87 within `+'
%160 = add i64 %159, %1, !dbg !747
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:196 within `consolidate_batch_partition'
; │┌ @ int.jl:88 within `*'
%161 = mul i64 %157, %23, !dbg !748
; │└
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not177 = icmp slt i64 %161, %26, !dbg !750
; ││└
%162 = select i1 %.not177, i64 %161, i64 %26, !dbg !751
; │└
; │┌ @ int.jl:87 within `+'
%163 = add i64 %162, %1, !dbg !752
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
%164 = call fastcc i64 @julia_find_partition_23782({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %131, i64 %160, i64 %163, i8 %3), !dbg !724
; │┌ @ int.jl:86 within `-'
%165 = sub i64 %163, %164, !dbg !753
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not179, label %L965, label %L962, !dbg !721
L962: ; preds = %L867
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !721
call fastcc void @gpu_signal_exception(), !dbg !721
call void asm sideeffect "exit;", ""() #5, !dbg !721
call void asm sideeffect "exit;", ""() #5, !dbg !721
br label %L965
L965: ; preds = %L962, %L867
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %165, i64 addrspace(3)* %153, align 8, !dbg !726, !tbaa !478
; ││└└└└
br label %L972, !dbg !723
L972: ; preds = %L965, %L858
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:200 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%166 = add i64 %value_phi32, 1, !dbg !754
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L973, !dbg !547
L973: ; preds = %L972, %L796
%value_phi39 = phi i64 [ %166, %L972 ], [ %value_phi32, %L796 ]
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `consolidate_batch_partition'
store i64 %26, i64* %154, align 8, !dbg !756, !tbaa !246
store i64 %value_phi28, i64* %155, align 8, !dbg !756, !tbaa !246
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:211 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !757
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:212 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%167 = add i64 %value_phi39, -1, !dbg !759
; │└
; │┌ @ int.jl:88 within `*'
%168 = mul i64 %167, %23, !dbg !761
; │└
; │┌ @ int.jl:86 within `-'
%169 = sub i64 %value_phi28, %168, !dbg !759
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%170 = icmp slt i64 %169, 1, !dbg !762
%171 = icmp sgt i64 %169, %23, !dbg !762
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%172 = or i1 %170, %171, !dbg !765
br i1 %172, label %L998, label %L1001, !dbg !765
L998: ; preds = %L973
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !765
call fastcc void @gpu_signal_exception(), !dbg !765
call void asm sideeffect "exit;", ""() #5, !dbg !765
call void asm sideeffect "exit;", ""() #5, !dbg !765
br label %L1001
L1001: ; preds = %L998, %L973
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%173 = add i64 %169, -1, !dbg !768
; ││││││└
%174 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %173, !dbg !769
%175 = load i64, i64 addrspace(3)* %174, align 8, !dbg !769, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:213 within `consolidate_batch_partition'
%176 = call fastcc i64 @julia_n_eff_23768([2 x i64]* nocapture readonly %13), !dbg !774
; │┌ @ int.jl:86 within `-'
%177 = sub i64 %176, %175, !dbg !775
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:214 within `consolidate_batch_partition'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not180 = icmp slt i64 %177, %value_phi30, !dbg !776
; ││└
%178 = select i1 %.not180, i64 %177, i64 %value_phi30, !dbg !777
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:215 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !779
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:216 within `consolidate_batch_partition'
; │┌ @ int.jl:442 within `<='
%.not182 = icmp slt i64 %178, %46, !dbg !781
; │└
br i1 %.not182, label %L1076, label %L1025, !dbg !782
L1025: ; preds = %L1001
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:217 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%179 = add i64 %value_phi31, %1, !dbg !783
%180 = add i64 %179, %46, !dbg !783
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%181 = icmp slt i64 %180, 1, !dbg !787
%182 = icmp sgt i64 %180, %37, !dbg !787
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%183 = or i1 %181, %182, !dbg !790
br i1 %183, label %L1045, label %L1048, !dbg !790
L1045: ; preds = %L1025
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !790
call fastcc void @gpu_signal_exception(), !dbg !790
call void asm sideeffect "exit;", ""() #5, !dbg !790
call void asm sideeffect "exit;", ""() #5, !dbg !790
br label %L1048
L1048: ; preds = %L1045, %L1025
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%184 = mul i64 %180, %30, !dbg !792
; ││└
; ││┌ @ int.jl:87 within `+'
%185 = add i64 %184, %38, !dbg !794
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%186 = icmp slt i64 %185, 1, !dbg !795
%187 = icmp sgt i64 %185, %122, !dbg !795
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%188 = or i1 %186, %187, !dbg !798
br i1 %188, label %L1063, label %L1066, !dbg !798
L1063: ; preds = %L1048
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !798
call fastcc void @gpu_signal_exception(), !dbg !798
call void asm sideeffect "exit;", ""() #5, !dbg !798
call void asm sideeffect "exit;", ""() #5, !dbg !798
br label %L1066
L1066: ; preds = %L1063, %L1048
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%189 = add i64 %185, -1, !dbg !801
; ││││││└
%190 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %189, !dbg !802
%191 = load i64, i64 addrspace(1)* %190, align 8, !dbg !802, !tbaa !459
; └└└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L1076, !dbg !547
L1076: ; preds = %L1066, %L1001
%value_phi40 = phi i64 [ %191, %L1066 ], [ 0, %L1001 ]
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:221 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !807
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:222 within `consolidate_batch_partition'
br i1 %.not182, label %L1193, label %L1091, !dbg !809
L1091: ; preds = %L1076
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:223 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%192 = add i64 %value_phi31, %1, !dbg !810
%193 = add i64 %192, %value_phi30, !dbg !810
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%194 = add i64 %193, %177, !dbg !813
; │└└└
; │┌ @ int.jl:86 within `-'
%195 = sub i64 %194, %178, !dbg !816
; │└
; │┌ @ int.jl:87 within `+'
%196 = add i64 %195, %46, !dbg !817
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%197 = icmp slt i64 %196, 1, !dbg !818
%198 = icmp sgt i64 %196, %37, !dbg !818
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%199 = or i1 %197, %198, !dbg !821
br i1 %199, label %L1114, label %L1117, !dbg !821
L1114: ; preds = %L1091
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !821
call fastcc void @gpu_signal_exception(), !dbg !821
call void asm sideeffect "exit;", ""() #5, !dbg !821
call void asm sideeffect "exit;", ""() #5, !dbg !821
br label %L1117
L1117: ; preds = %L1114, %L1091
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%200 = mul i64 %196, %30, !dbg !823
; ││└
; ││┌ @ int.jl:87 within `+'
%201 = add i64 %200, %38, !dbg !825
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%202 = icmp slt i64 %201, 1, !dbg !826
%203 = icmp sgt i64 %201, %122, !dbg !826
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%204 = or i1 %202, %203, !dbg !829
br i1 %204, label %L1132, label %L1135, !dbg !829
L1132: ; preds = %L1117
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !829
call fastcc void @gpu_signal_exception(), !dbg !829
call void asm sideeffect "exit;", ""() #5, !dbg !829
call void asm sideeffect "exit;", ""() #5, !dbg !829
br label %L1135
L1135: ; preds = %L1132, %L1117
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%205 = add i64 %201, -1, !dbg !832
; ││││││└
%206 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %205, !dbg !833
%207 = load i64, i64 addrspace(1)* %206, align 8, !dbg !833, !tbaa !459
; │└└└└└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%208 = add i64 %192, %46, !dbg !810
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%209 = icmp slt i64 %208, 1, !dbg !838
%210 = icmp sgt i64 %208, %37, !dbg !838
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%211 = or i1 %209, %210, !dbg !841
br i1 %211, label %L1163, label %L1166, !dbg !841
L1163: ; preds = %L1135
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !841
call fastcc void @gpu_signal_exception(), !dbg !841
call void asm sideeffect "exit;", ""() #5, !dbg !841
call void asm sideeffect "exit;", ""() #5, !dbg !841
br label %L1166
L1166: ; preds = %L1163, %L1135
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%212 = mul i64 %208, %30, !dbg !843
; ││└
; ││┌ @ int.jl:87 within `+'
%213 = add i64 %212, %38, !dbg !845
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%214 = icmp slt i64 %213, 1, !dbg !846
%215 = icmp sgt i64 %213, %122, !dbg !846
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%216 = or i1 %214, %215, !dbg !849
br i1 %216, label %L1181, label %L1184, !dbg !849
L1181: ; preds = %L1166
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !849
call fastcc void @gpu_signal_exception(), !dbg !849
call void asm sideeffect "exit;", ""() #5, !dbg !849
call void asm sideeffect "exit;", ""() #5, !dbg !849
br label %L1184
L1184: ; preds = %L1181, %L1166
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%217 = add i64 %213, -1, !dbg !852
; ││││││└
%218 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %217, !dbg !853
store i64 %207, i64 addrspace(1)* %218, align 8, !dbg !853, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1193, !dbg !858
L1193: ; preds = %L1184, %L1076
%.not182.pr = phi i1 [ false, %L1184 ], [ true, %L1076 ]
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:225 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !859
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:226 within `consolidate_batch_partition'
br i1 %.not182.pr, label %L1260, label %L1207, !dbg !861
L1207: ; preds = %L1193
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:227 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%219 = add i64 %value_phi31, %1, !dbg !862
%220 = add i64 %219, %value_phi30, !dbg !862
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%221 = add i64 %220, %177, !dbg !865
; │└└└
; │┌ @ int.jl:86 within `-'
%222 = sub i64 %221, %178, !dbg !867
; │└
; │┌ @ int.jl:87 within `+'
%223 = add i64 %222, %46, !dbg !868
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%224 = icmp slt i64 %223, 1, !dbg !869
%225 = icmp sgt i64 %223, %37, !dbg !869
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%226 = or i1 %224, %225, !dbg !872
br i1 %226, label %L1230, label %L1233, !dbg !872
L1230: ; preds = %L1207
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !872
call fastcc void @gpu_signal_exception(), !dbg !872
call void asm sideeffect "exit;", ""() #5, !dbg !872
call void asm sideeffect "exit;", ""() #5, !dbg !872
br label %L1233
L1233: ; preds = %L1230, %L1207
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%227 = mul i64 %223, %30, !dbg !874
; ││└
; ││┌ @ int.jl:87 within `+'
%228 = add i64 %227, %38, !dbg !876
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%229 = icmp slt i64 %228, 1, !dbg !877
%230 = icmp sgt i64 %228, %122, !dbg !877
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%231 = or i1 %229, %230, !dbg !880
br i1 %231, label %L1248, label %L1251, !dbg !880
L1248: ; preds = %L1233
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !880
call fastcc void @gpu_signal_exception(), !dbg !880
call void asm sideeffect "exit;", ""() #5, !dbg !880
call void asm sideeffect "exit;", ""() #5, !dbg !880
br label %L1251
L1251: ; preds = %L1248, %L1233
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%232 = add i64 %228, -1, !dbg !883
; ││││││└
%233 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %232, !dbg !884
store i64 %value_phi40, i64 addrspace(1)* %233, align 8, !dbg !884, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1260, !dbg !889
L1260: ; preds = %L1251, %L1193
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:229 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !890
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:230 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%234 = add i64 %177, %value_phi31, !dbg !892
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:231 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%235 = add i64 %175, %value_phi30, !dbg !894
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not195.not = icmp eq i64 %value_phi28, %150, !dbg !896
; ││└
%236 = add nuw i64 %value_phi28, 1, !dbg !897
; │└
br i1 %.not195.not, label %L1274, label %L796, !dbg !895
L1274: ; preds = %L1260, %L778
%value_phi44 = phi i64 [ 0, %L778 ], [ %234, %L1260 ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:234 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !898
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:235 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%237 = add i64 %value_phi44, %1, !dbg !900
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:365 within `qsort_kernel'
br i1 %.not166, label %L1291, label %L609, !dbg !902
L1291: ; preds = %L1274
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:366 within `qsort_kernel'
; ┌ @ promotion.jl:410 within `=='
%.not198 = icmp eq i64 %237, %2, !dbg !903
; └
%238 = add i64 %5, 1, !dbg !904
%value_phi45 = select i1 %.not198, i64 %238, i64 0, !dbg !904
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:368 within `qsort_kernel'
; ┌ @ int.jl:83 within `<'
%239 = icmp slt i64 %value_phi45, 2, !dbg !905
%.not199 = icmp sgt i64 %237, %1
; └
%or.cond = and i1 %.not199, %239, !dbg !906
br i1 %or.cond, label %L1303, label %L1381, !dbg !906
L1303: ; preds = %L1291
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %7)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:369 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%240 = ptrtoint i64* %6 to i64, !dbg !907
; ││└└
%241 = call i32 @cudaStreamCreateWithFlags(i64 %240, i32 1), !dbg !912
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not200 = icmp eq i32 %241, 0, !dbg !918
; │└└
br i1 %.not200, label %L1316, label %L1313, !dbg !921
L1313: ; preds = %L1303
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%242 = getelementptr inbounds [1 x i32], [1 x i32]* %14, i64 0, i64 0, !dbg !922
store i32 %241, i32* %242, align 4, !dbg !922, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %14), !dbg !923
call void asm sideeffect "exit;", ""() #5, !dbg !923
br label %L1316
L1316: ; preds = %L1313, %L1303
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%243 = load i64, i64* %6, align 16, !dbg !924, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%244 = icmp slt i64 %4, 2, !dbg !931
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%245 = xor i8 %3, 1, !dbg !935
%246 = add i64 %4, -1, !dbg !935
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %7)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
br i1 %244, label %L1346, label %L1323, !dbg !934
L1323: ; preds = %L1316
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:371 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%247 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 0, !dbg !936
store i64 %23, i64* %247, align 8, !dbg !936, !tbaa !246
%248 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 1, i64 0, !dbg !936
store i64 %243, i64* %248, align 8, !dbg !936, !tbaa !246
%249 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 2, !dbg !936
store i64 %25, i64* %249, align 8, !dbg !936, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_23758({ i64, [1 x i64], i64 }* nocapture readonly %15, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %1, i64 %237, i8 %245, i64 %246, i64 %131, i64 %value_phi45), !dbg !940
; └└└└└└└└
br label %L1369, !dbg !939
L1346: ; preds = %L1316
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:375 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%250 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 0, !dbg !947
store i64 %23, i64* %250, align 8, !dbg !947, !tbaa !246
%251 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 1, i64 0, !dbg !947
store i64 %243, i64* %251, align 8, !dbg !947, !tbaa !246
%252 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 2, !dbg !947
store i64 %25, i64* %252, align 8, !dbg !947, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_23758({ i64, [1 x i64], i64 }* nocapture readonly %21, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %1, i64 %237, i8 %245, i64 %246, i64 %131, i64 %value_phi45), !dbg !951
; ││└└└└└└
br label %L1369, !dbg !957
L1369: ; preds = %L1346, %L1323
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:379 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%253 = call i32 @cudaStreamDestroy(i64 %243), !dbg !958
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not201 = icmp eq i32 %253, 0, !dbg !963
; │└└
br i1 %.not201, label %L1381, label %L1376, !dbg !966
L1376: ; preds = %L1369
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%254 = getelementptr inbounds [1 x i32], [1 x i32]* %16, i64 0, i64 0, !dbg !967
store i32 %253, i32* %254, align 4, !dbg !967, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %16), !dbg !968
call void asm sideeffect "exit;", ""() #5, !dbg !968
br label %L1381
L1381: ; preds = %L1376, %L1369, %L1291
%.not202 = icmp slt i64 %237, %2
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:382 within `qsort_kernel'
%or.cond205 = and i1 %.not202, %239, !dbg !969
br i1 %or.cond205, label %L1385, label %L609, !dbg !969
L1385: ; preds = %L1381
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %9)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:383 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%255 = ptrtoint i64* %8 to i64, !dbg !970
; ││└└
%256 = call i32 @cudaStreamCreateWithFlags(i64 %255, i32 1), !dbg !972
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not203 = icmp eq i32 %256, 0, !dbg !976
; │└└
br i1 %.not203, label %L1398, label %L1395, !dbg !979
L1395: ; preds = %L1385
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%257 = getelementptr inbounds [1 x i32], [1 x i32]* %17, i64 0, i64 0, !dbg !980
store i32 %256, i32* %257, align 4, !dbg !980, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %17), !dbg !981
call void asm sideeffect "exit;", ""() #5, !dbg !981
br label %L1398
L1398: ; preds = %L1395, %L1385
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%258 = load i64, i64* %8, align 16, !dbg !982, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%259 = icmp slt i64 %4, 2, !dbg !985
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%260 = xor i8 %3, 1, !dbg !935
%261 = add i64 %4, -1, !dbg !935
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %9)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
br i1 %259, label %L1428, label %L1405, !dbg !987
L1405: ; preds = %L1398
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:385 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%262 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 0, !dbg !988
store i64 %23, i64* %262, align 8, !dbg !988, !tbaa !246
%263 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 1, i64 0, !dbg !988
store i64 %258, i64* %263, align 8, !dbg !988, !tbaa !246
%264 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 2, !dbg !988
store i64 %25, i64* %264, align 8, !dbg !988, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_23758({ i64, [1 x i64], i64 }* nocapture readonly %18, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %237, i64 %2, i8 %260, i64 %261, i64 %131, i64 %value_phi45), !dbg !992
; └└└└└└└└
br label %L1451, !dbg !991
L1428: ; preds = %L1398
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:389 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%265 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 0, !dbg !999
store i64 %23, i64* %265, align 8, !dbg !999, !tbaa !246
%266 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 1, i64 0, !dbg !999
store i64 %258, i64* %266, align 8, !dbg !999, !tbaa !246
%267 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 2, !dbg !999
store i64 %25, i64* %267, align 8, !dbg !999, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_23758({ i64, [1 x i64], i64 }* nocapture readonly %20, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %10, i64 %237, i64 %2, i8 %260, i64 %261, i64 %131, i64 %value_phi45), !dbg !1003
; ││└└└└└└
br label %L1451, !dbg !1009
L1451: ; preds = %L1428, %L1405
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:393 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%268 = call i32 @cudaStreamDestroy(i64 %258), !dbg !1010
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not204 = icmp eq i32 %268, 0, !dbg !1013
; │└└
br i1 %.not204, label %L609, label %L1458, !dbg !1016
L1458: ; preds = %L1451
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%269 = getelementptr inbounds [1 x i32], [1 x i32]* %19, i64 0, i64 0, !dbg !1017
store i32 %268, i32* %269, align 4, !dbg !1017, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %19), !dbg !1018
call void asm sideeffect "exit;", ""() #5, !dbg !1018
br label %L609
fail: ; preds = %L95
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:337 within `qsort_kernel'
; ┌ @ abstractarray.jl:1164 within `getindex'
; │┌ @ abstractarray.jl:1203 within `_getindex'
; ││┌ @ abstractarray.jl:1210 within `_to_subscript_indices'
; │││┌ @ abstractarray.jl:1232 within `_unsafe_ind2sub'
; ││││┌ @ abstractarray.jl:2003 within `_ind2sub' @ abstractarray.jl:2041
; │││││┌ @ abstractarray.jl:2054 within `_ind2sub_recurse'
; ││││││┌ @ abstractarray.jl:2061 within `_div'
; │││││││┌ @ int.jl:261 within `div'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !338
call fastcc void @gpu_signal_exception(), !dbg !338
call void asm sideeffect "exit;", ""() #5, !dbg !338
br label %pass
pass: ; preds = %fail, %L95
%270 = sdiv i64 %33, %28, !dbg !338
; │││││└└└
; │││││┌ @ abstractarray.jl:2055 within `_ind2sub_recurse'
; ││││││┌ @ int.jl:88 within `*'
%271 = mul i64 %270, %30, !dbg !1019
; ││││││└
; ││││││┌ @ int.jl:86 within `-'
%272 = sub i64 %33, %271, !dbg !1021
; ││││││└
; ││││││┌ @ int.jl:87 within `+'
%273 = add i64 %272, 1, !dbg !1022
; ││└└└└└
; ││┌ @ multidimensional.jl:353 within `getindex'
; │││┌ @ broadcast.jl:883 within `materialize'
; ││││┌ @ broadcast.jl:1096 within `copy'
; │││││┌ @ ntuple.jl:49 within `ntuple'
; ││││││┌ @ broadcast.jl:1096 within `#19'
; │││││││┌ @ broadcast.jl:621 within `_broadcast_getindex'
; ││││││││┌ @ broadcast.jl:648 within `_broadcast_getindex_evalf'
; │││││││││┌ @ range.jl:702 within `getindex'
; ││││││││││┌ @ operators.jl:305 within `>'
; │││││││││││┌ @ int.jl:83 within `<'
%274 = icmp slt i64 %273, 1, !dbg !1023
; ││││││││││└└
; ││││││││││┌ @ int.jl:442 within `<='
%275 = icmp sgt i64 %273, %30, !dbg !1025
; ││││││││││└
%276 = or i1 %274, %275, !dbg !344
br i1 %276, label %L110, label %L117, !dbg !344
; └└└└└└└└└└
}
; Function Attrs: convergent nounwind
declare void @llvm.nvvm.barrier0() #1
; Function Attrs: nounwind readnone speculatable willreturn
declare double @llvm.ceil.f64(double) #2
declare i32 @cudaDeviceSynchronize() local_unnamed_addr
declare i32 @cudaStreamCreateWithFlags(i64, i32) local_unnamed_addr
declare i32 @cudaStreamDestroy(i64) local_unnamed_addr
; Function Attrs: nounwind readnone
declare i32 @llvm.nvvm.read.ptx.sreg.ntid.x() #3
; Function Attrs: nounwind readnone
declare i32 @llvm.nvvm.read.ptx.sreg.ctaid.x() #3
; Function Attrs: nounwind readnone
declare i32 @llvm.nvvm.read.ptx.sreg.tid.x() #3
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:17 within `throw_device_cuerror'
; Function Attrs: noinline
define internal fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture nonnull readonly align 4 dereferenceable(4) %0) unnamed_addr #4 !dbg !1026 {
top:
%1 = alloca %printf_args.223, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:19 within `throw_device_cuerror'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:207 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:15 within `description'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:49 within `cudaGetErrorString'
; │││┌ @ essentials.jl:396 within `cconvert'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:11 within `convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%2 = getelementptr inbounds [1 x i32], [1 x i32]* %0, i64 0, i64 0, !dbg !1027
; │││└└└
%3 = load i32, i32* %2, align 4, !dbg !1033, !tbaa !200
%4 = call i64 @cudaGetErrorString(i32 %3), !dbg !1033
; │└└
; │┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/CEnum.jl:19 within `Integer'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%5 = zext i32 %3 to i64, !dbg !1041
; │└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:13 within `name'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:55 within `cudaGetErrorName'
%6 = call i64 @cudaGetErrorName(i32 %3), !dbg !1048
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:120 within `_cuprint'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:158 within `macro expansion'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%7 = bitcast %printf_args.223* %1 to i8*, !dbg !1052
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %7), !dbg !1052
%8 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 0, !dbg !1052
store i64 %4, i64* %8, align 8, !dbg !1052
%9 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 1, !dbg !1052
store i64 %5, i64* %9, align 8, !dbg !1052
%10 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 2, !dbg !1052
store i64 %6, i64* %10, align 8, !dbg !1052
%11 = call i32 @vprintf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @0, i64 0, i64 0), i8* nonnull %7), !dbg !1052
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %7), !dbg !1052
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:20 within `throw_device_cuerror'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !1060
call fastcc void @gpu_signal_exception(), !dbg !1060
call void asm sideeffect "exit;", ""() #5, !dbg !1060
unreachable
}
declare i64 @cudaGetErrorString(i32) local_unnamed_addr
declare i64 @cudaGetErrorName(i32) local_unnamed_addr
declare i32 @vprintf(i8*, i8*) local_unnamed_addr
; @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `dynamic_cudacall##kw'
define internal fastcc void @julia_dynamic_cudacallYY_YY_kw_23787({ [2 x i64], i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(32) %0, i64 %1, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %2, i64 %3, i64 %4, i64 %5, i8 %6) unnamed_addr !dbg !1061 {
top:
%7 = alloca [1 x i32], align 4
%.sroa.022.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 0
%.sroa.022.0.copyload = load i64, i64* %.sroa.022.0..sroa_idx, align 8, !tbaa !174
%.sroa.223.0..sroa_idx24 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 1
%.sroa.223.0.copyload = load i64, i64* %.sroa.223.0..sroa_idx24, align 8, !tbaa !174
%.sroa.3.0..sroa_idx25 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 1
%8 = bitcast i8 addrspace(1)** %.sroa.3.0..sroa_idx25 to i64*
%.sroa.3.0.copyload43 = load i64, i64* %8, align 8, !tbaa !174
%.sroa.426.0..sroa_idx27 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 0
%.sroa.426.0.copyload = load i64, i64* %.sroa.426.0..sroa_idx27, align 8, !tbaa !174
%.sroa.5.0..sroa_idx28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 1, i64 0, i64 0
%.sroa.5.0.copyload = load i64, i64* %.sroa.5.0..sroa_idx28, align 8, !tbaa !174
%.sroa.6.0..sroa_idx29 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 2
%.sroa.6.0.copyload = load i64, i64* %.sroa.6.0..sroa_idx29, align 8, !tbaa !174
%.sroa.7.0..sroa_idx30 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 3
%.sroa.7.0.copyload = load i64, i64* %.sroa.7.0..sroa_idx30, align 8, !tbaa !174
; ┌ @ namedtuple.jl:118 within `getindex'
%9 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 1, !dbg !1062
%10 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 2, !dbg !1062
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `#dynamic_cudacall#229'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:383 within `macro expansion'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:59 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:25 within `CuDim3'
; ││││┌ @ tuple.jl:29 within `getindex'
%11 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 0, i64 0, !dbg !1065
%12 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 0, i64 1, !dbg !1065
; ││││└
; ││││ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:25 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%13 = load i64, i64* %11, align 8, !dbg !1075, !tbaa !200
%14 = trunc i64 %13 to i32, !dbg !1075
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%15 = icmp ugt i64 %13, 4294967295, !dbg !1084
br i1 %15, label %L35, label %L40, !dbg !1084
L35: ; preds = %top
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !1084
call fastcc void @gpu_signal_exception(), !dbg !1084
call void asm sideeffect "exit;", ""() #5, !dbg !1084
call void asm sideeffect "exit;", ""() #5, !dbg !1084
br label %L40
L40: ; preds = %L35, %top
; │││││││└
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%16 = load i64, i64* %12, align 8, !dbg !1075, !tbaa !200
%17 = trunc i64 %16 to i32, !dbg !1075
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%18 = icmp ugt i64 %16, 4294967295, !dbg !1084
br i1 %18, label %L45, label %L50, !dbg !1084
L45: ; preds = %L40
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !1084
call fastcc void @gpu_signal_exception(), !dbg !1084
call void asm sideeffect "exit;", ""() #5, !dbg !1084
call void asm sideeffect "exit;", ""() #5, !dbg !1084
br label %L50
L50: ; preds = %L45, %L40
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:60 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:23 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%19 = load i64, i64* %9, align 8, !dbg !1085, !tbaa !200
%20 = trunc i64 %19 to i32, !dbg !1085
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%21 = icmp ugt i64 %19, 4294967295, !dbg !1092
br i1 %21, label %L59, label %L64, !dbg !1092
L59: ; preds = %L50
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !1092
call fastcc void @gpu_signal_exception(), !dbg !1092
call void asm sideeffect "exit;", ""() #5, !dbg !1092
call void asm sideeffect "exit;", ""() #5, !dbg !1092
br label %L64
L64: ; preds = %L59, %L50
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:62 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:68 within `parameter_buffer'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:72 within `macro expansion'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:225 within `cudaGetParameterBufferV2'
; ││││││┌ @ essentials.jl:396 within `cconvert'
; │││││││┌ @ number.jl:7 within `convert'
; ││││││││┌ @ boot.jl:756 within `UInt32'
; │││││││││┌ @ boot.jl:716 within `toUInt32'
; ││││││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%22 = load i64, i64* %10, align 8, !dbg !1093, !tbaa !200
%23 = trunc i64 %22 to i32, !dbg !1093
; ││││││││││└
; ││││││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%24 = icmp ugt i64 %22, 4294967295, !dbg !1106
br i1 %24, label %L72, label %L78, !dbg !1106
L72: ; preds = %L64
call fastcc void @gpu_report_exception(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !1106
call fastcc void @gpu_signal_exception(), !dbg !1106
call void asm sideeffect "exit;", ""() #5, !dbg !1106
call void asm sideeffect "exit;", ""() #5, !dbg !1106
br label %L78
L78: ; preds = %L72, %L64
; ││││││└└└└└
%.fca.0.insert16 = insertvalue { i32, i32, i32 } undef, i32 %14, 0, !dbg !1099
%.fca.1.insert17 = insertvalue { i32, i32, i32 } %.fca.0.insert16, i32 %17, 1, !dbg !1099
%.fca.2.insert18 = insertvalue { i32, i32, i32 } %.fca.1.insert17, i32 1, 2, !dbg !1099
%.fca.0.insert = insertvalue { i32, i32, i32 } undef, i32 %20, 0, !dbg !1099
%.fca.1.insert = insertvalue { i32, i32, i32 } %.fca.0.insert, i32 1, 1, !dbg !1099
%.fca.2.insert15 = insertvalue { i32, i32, i32 } %.fca.1.insert, i32 1, 2, !dbg !1099
%25 = call i64 @cudaGetParameterBufferV2(i64 %1, { i32, i32, i32 } %.fca.2.insert18, { i32, i32, i32 } %.fca.2.insert15, i32 %23), !dbg !1099
; ││││└└
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:73 within `macro expansion'
%26 = inttoptr i64 %25 to { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }*, !dbg !1107
%.repack.repack.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 0, i64 0, !dbg !1107
store i64 %.sroa.022.0.copyload, i64* %.repack.repack.repack, align 8, !dbg !1107, !tbaa !220
%.repack.repack.repack39 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 0, i64 1, !dbg !1107
store i64 %.sroa.223.0.copyload, i64* %.repack.repack.repack39, align 8, !dbg !1107, !tbaa !220
%.repack.repack37 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 1, !dbg !1107
%27 = bitcast i8 addrspace(1)** %.repack.repack37 to i64*, !dbg !1107
store i64 %.sroa.3.0.copyload43, i64* %27, align 8, !dbg !1107, !tbaa !220
%.repack31.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 1, i32 0, !dbg !1107
store i64 %.sroa.426.0.copyload, i64* %.repack31.repack, align 8, !dbg !1107, !tbaa !220
%28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !1107
store i64 %.sroa.5.0.copyload, i64* %28, align 8, !dbg !1107, !tbaa !220
%.repack33 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 2, !dbg !1107
store i64 %.sroa.6.0.copyload, i64* %.repack33, align 8, !dbg !1107, !tbaa !220
%.repack35 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 3, !dbg !1107
store i64 %.sroa.7.0.copyload, i64* %.repack35, align 8, !dbg !1107, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%29 = inttoptr i64 %25 to i8*, !dbg !1108
%30 = getelementptr i8, i8* %29, i64 56, !dbg !1108
; │││││└
%31 = bitcast i8* %30 to i64*, !dbg !1107
store i64 %3, i64* %31, align 8, !dbg !1107, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%32 = getelementptr i8, i8* %29, i64 64, !dbg !1108
; │││││└
%33 = bitcast i8* %32 to i64*, !dbg !1107
store i64 %4, i64* %33, align 8, !dbg !1107, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%34 = getelementptr i8, i8* %29, i64 72, !dbg !1108
; │││││└
%35 = bitcast i8* %34 to i64*, !dbg !1107
store i64 %5, i64* %35, align 8, !dbg !1107, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%36 = getelementptr i8, i8* %29, i64 80, !dbg !1108
; │││││└
store i8 %6, i8* %36, align 1, !dbg !1107, !tbaa !220
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:251 within `cudaLaunchDeviceV2'
%37 = call i32 @cudaLaunchDeviceV2(i64 %25, i64 0), !dbg !1110
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_launch'
; │││┌ @ operators.jl:204 within `!='
; ││││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not = icmp eq i32 %37, 0, !dbg !1113
; │││└└
br i1 %.not, label %L130, label %L125, !dbg !1119
L125: ; preds = %L78
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%38 = getelementptr inbounds [1 x i32], [1 x i32]* %7, i64 0, i64 0, !dbg !1120
store i32 %37, i32* %38, align 4, !dbg !1120, !tbaa !246
; │││└
call fastcc void @julia_throw_device_cuerror_23765([1 x i32]* nocapture readonly %7), !dbg !1122
call void asm sideeffect "exit;", ""() #5, !dbg !1122
br label %L130
L130: ; preds = %L125, %L78
; └└└
ret void, !dbg !1064
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:153 within `find_partition'
define internal fastcc i64 @julia_find_partition_23782({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %0, i64 %1, i64 %2, i64 %3, i8 %4) unnamed_addr !dbg !1123 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:154 within `find_partition'
; ┌ @ int.jl:87 within `+'
%5 = add i64 %2, 1, !dbg !1124
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not9 = icmp sgt i64 %5, %3, !dbg !1127
; └
br i1 %.not9, label %L68, label %L6.lr.ph, !dbg !1129
L6.lr.ph: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ range.jl:613 within `last'
; ││││┌ @ Base.jl within `getproperty'
%6 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !1130
; │││└└
; │││┌ @ int.jl within `<='
%7 = load i64, i64* %6, align 8, !dbg !1142, !tbaa !200
; └└└└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ Base.jl within `getproperty'
%8 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 2, !dbg !1143
%9 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 3, !dbg !1143
; │└
; │┌ @ int.jl within `*'
%10 = load i64, i64* %9, align 8, !dbg !1145
; │└
; │┌ @ int.jl within `+'
%11 = load i64, i64* %8, align 8, !dbg !1147
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl within `prod'
%12 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 0, !dbg !1148
%13 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 1, !dbg !1148
; │││││└
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl within `*'
%14 = load i64, i64* %12, align 8, !dbg !1160
%15 = load i64, i64* %13, align 8, !dbg !1160
%16 = mul i64 %15, %14, !dbg !1160
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl within `max'
%17 = icmp sgt i64 %16, 0, !dbg !1162
%18 = select i1 %17, i64 %16, i64 0, !dbg !1162
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl within `getproperty'
%19 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 1, !dbg !1169
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%20 = bitcast i8 addrspace(1)** %19 to i64 addrspace(1)**, !dbg !1173
%21 = load i64 addrspace(1)*, i64 addrspace(1)** %20, align 8, !dbg !1173
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `flex_lt'
%22 = and i8 %4, 1, !dbg !1181
%.not8.not = icmp eq i8 %22, 0, !dbg !1181
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
br i1 %.not8.not, label %L6, label %L6.us, !dbg !1129
L6.us: ; preds = %L6.lr.ph, %L43.us
%value_phi111.us = phi i64 [ %value_phi5.us, %L43.us ], [ %5, %L6.lr.ph ]
%value_phi10.us = phi i64 [ %value_phi4.us, %L43.us ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%23 = add i64 %value_phi111.us, %value_phi10.us, !dbg !1183
; └
; ┌ @ int.jl:261 within `div'
%24 = sdiv i64 %23, 2, !dbg !1185
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%25 = icmp slt i64 %23, 2, !dbg !1187
%26 = icmp sgt i64 %24, %7, !dbg !1187
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%27 = or i1 %25, %26, !dbg !1138
br i1 %27, label %L19.us, label %L22.us, !dbg !1138
L19.us: ; preds = %L6.us
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1138
call fastcc void @gpu_signal_exception(), !dbg !1138
call void asm sideeffect "exit;", ""() #5, !dbg !1138
call void asm sideeffect "exit;", ""() #5, !dbg !1138
br label %L22.us
L22.us: ; preds = %L19.us, %L6.us
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%28 = mul i64 %10, %24, !dbg !1188
; │└
; │┌ @ int.jl:87 within `+'
%29 = add i64 %11, %28, !dbg !1189
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%30 = icmp slt i64 %29, 1, !dbg !1190
%31 = icmp sgt i64 %29, %18, !dbg !1190
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%32 = or i1 %30, %31, !dbg !1155
br i1 %32, label %L40.us, label %L43.us, !dbg !1155
L40.us: ; preds = %L22.us
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1155
call fastcc void @gpu_signal_exception(), !dbg !1155
call void asm sideeffect "exit;", ""() #5, !dbg !1155
call void asm sideeffect "exit;", ""() #5, !dbg !1155
br label %L43.us
L43.us: ; preds = %L40.us, %L22.us
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%33 = add i64 %29, -1, !dbg !1192
; │││││└
%34 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %33, !dbg !1194
%35 = load i64, i64 addrspace(1)* %34, align 8, !dbg !1194, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%.not12 = icmp slt i64 %35, %1, !dbg !1195
; └
%36 = add nsw i64 %24, -1, !dbg !1141
%37 = add nsw i64 %24, 1, !dbg !1141
%value_phi4.us = select i1 %.not12, i64 %value_phi10.us, i64 %36, !dbg !1141
%value_phi5.us = select i1 %.not12, i64 %37, i64 %value_phi111.us, !dbg !1141
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not.us = icmp sgt i64 %value_phi5.us, %value_phi4.us, !dbg !1127
; └
br i1 %.not.us, label %L68, label %L6.us, !dbg !1129
L6: ; preds = %L6.lr.ph, %L43
%value_phi111 = phi i64 [ %value_phi5, %L43 ], [ %5, %L6.lr.ph ]
%value_phi10 = phi i64 [ %value_phi4, %L43 ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%38 = add i64 %value_phi111, %value_phi10, !dbg !1183
; └
; ┌ @ int.jl:261 within `div'
%39 = sdiv i64 %38, 2, !dbg !1185
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%40 = icmp slt i64 %38, 2, !dbg !1187
%41 = icmp sgt i64 %39, %7, !dbg !1187
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%42 = or i1 %40, %41, !dbg !1138
br i1 %42, label %L19, label %L22, !dbg !1138
L19: ; preds = %L6
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1138
call fastcc void @gpu_signal_exception(), !dbg !1138
call void asm sideeffect "exit;", ""() #5, !dbg !1138
call void asm sideeffect "exit;", ""() #5, !dbg !1138
br label %L22
L22: ; preds = %L19, %L6
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%43 = mul i64 %10, %39, !dbg !1188
; │└
; │┌ @ int.jl:87 within `+'
%44 = add i64 %11, %43, !dbg !1189
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%45 = icmp slt i64 %44, 1, !dbg !1190
%46 = icmp sgt i64 %44, %18, !dbg !1190
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%47 = or i1 %45, %46, !dbg !1155
br i1 %47, label %L40, label %L43, !dbg !1155
L40: ; preds = %L22
call fastcc void @gpu_report_exception(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1155
call fastcc void @gpu_signal_exception(), !dbg !1155
call void asm sideeffect "exit;", ""() #5, !dbg !1155
call void asm sideeffect "exit;", ""() #5, !dbg !1155
br label %L43
L43: ; preds = %L40, %L22
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%48 = add i64 %44, -1, !dbg !1192
; │││││└
%49 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %48, !dbg !1194
%50 = load i64, i64 addrspace(1)* %49, align 8, !dbg !1194, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%51 = icmp sgt i64 %50, %1, !dbg !1195
; └
%52 = add nsw i64 %39, -1, !dbg !1141
%53 = add nsw i64 %39, 1, !dbg !1141
%value_phi4 = select i1 %51, i64 %52, i64 %value_phi10, !dbg !1141
%value_phi5 = select i1 %51, i64 %value_phi111, i64 %53, !dbg !1141
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %value_phi5, %value_phi4, !dbg !1127
; └
br i1 %.not, label %L68, label %L6, !dbg !1129
L68: ; preds = %L43.us, %L43, %top
%value_phi1.lcssa = phi i64 [ %5, %top ], [ %value_phi5, %L43 ], [ %value_phi5.us, %L43.us ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:164 within `find_partition'
; ┌ @ int.jl:86 within `-'
%54 = add i64 %value_phi1.lcssa, -1, !dbg !1196
; └
ret i64 %54, !dbg !1197
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `n_eff'
define internal fastcc i64 @julia_n_eff_23768([2 x i64]* nocapture nonnull readonly align 8 dereferenceable(16) %0) unnamed_addr !dbg !1198 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
%1 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 1, !dbg !1199
%2 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 0, !dbg !1199
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%3 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !1200, !range !265
; └└└└
; ┌ @ int.jl:93 within `/'
; │┌ @ float.jl:206 within `float'
; ││┌ @ float.jl:191 within `AbstractFloat'
; │││┌ @ float.jl:94 within `Float64'
%4 = load i64, i64* %2, align 8, !dbg !1210, !tbaa !200
%5 = sitofp i64 %4 to double, !dbg !1210
%6 = uitofp i32 %3 to double, !dbg !1210
; │└└└
; │ @ int.jl:93 within `/' @ float.jl:335
%7 = fdiv double %5, %6, !dbg !1218
; └
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:304 within `round'
%8 = call double @llvm.ceil.f64(double %7), !dbg !1220
; │└
; │┌ @ float.jl:713 within `trunc'
; ││┌ @ float.jl:374 within `<='
%9 = fcmp ult double %8, 0xC3E0000000000000, !dbg !1224
; ││└
%10 = fcmp uge double %8, 0x43E0000000000000, !dbg !1226
%11 = or i1 %9, %10, !dbg !1226
br i1 %11, label %L26, label %L24, !dbg !1226
L24: ; preds = %L26, %top
; │└
; │┌ @ float.jl:714 within `trunc'
; ││┌ @ float.jl:239 within `unsafe_trunc'
%12 = fptosi double %8 to i64, !dbg !1228
; └└└
; ┌ @ operators.jl:204 within `!='
; │┌ @ promotion.jl:410 within `=='
%13 = load i64, i64* %1, align 8, !dbg !1231, !tbaa !200
%.not = icmp eq i64 %13, %12, !dbg !1231
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `n_eff'
%14 = zext i32 %3 to i64, !dbg !1235
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
br i1 %.not, label %L47, label %L49, !dbg !1199
L26: ; preds = %top
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !1236
call fastcc void @gpu_signal_exception(), !dbg !1236
call void asm sideeffect "exit;", ""() #5, !dbg !1236
br label %L24
L47: ; preds = %L24
; └└
; ┌ @ int.jl:262 within `rem'
%15 = srem i64 %4, %14, !dbg !1237
; └
; ┌ @ promotion.jl:410 within `=='
%16 = icmp eq i64 %15, 0, !dbg !1239
; └
%spec.select = select i1 %16, i64 %14, i64 %15, !dbg !1199
br label %L49, !dbg !1199
L49: ; preds = %L47, %L24
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:205 within `n_eff'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%.pre-phi = phi i64 [ %14, %L24 ], [ %spec.select, %L47 ], !dbg !1240
; └└└└
ret i64 %.pre-phi, !dbg !1246
}
define ptx_kernel void @_Z24julia_qsort_kernel_2352913CuDeviceArrayI5Int64Li2ELi1EES0_S0_4Bool3ValILitrueEES0_v7_isless9_identityS2_ILi2EE({ [2 x i64], i8 addrspace(1)* } %0, i64 %1, i64 %2, i8 %3, i64 %4) local_unnamed_addr {
entry:
%5 = alloca { [2 x i64], i8 addrspace(1)* }, align 8
%.fca.0.0.extract = extractvalue { [2 x i64], i8 addrspace(1)* } %0, 0, 0
%.fca.0.0.gep = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %5, i64 0, i32 0, i64 0
store i64 %.fca.0.0.extract, i64* %.fca.0.0.gep, align 8
%.fca.0.1.extract = extractvalue { [2 x i64], i8 addrspace(1)* } %0, 0, 1
%.fca.0.1.gep = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %5, i64 0, i32 0, i64 1
store i64 %.fca.0.1.extract, i64* %.fca.0.1.gep, align 8
%.fca.1.extract = extractvalue { [2 x i64], i8 addrspace(1)* } %0, 1
%.fca.1.gep = getelementptr inbounds { [2 x i64], i8 addrspace(1)* }, { [2 x i64], i8 addrspace(1)* }* %5, i64 0, i32 1
store i8 addrspace(1)* %.fca.1.extract, i8 addrspace(1)** %.fca.1.gep, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:326 within `qsort_kernel'
call fastcc void @julia_qsort_kernel_23532({ [2 x i64], i8 addrspace(1)* }* nocapture readonly %5, i64 %1, i64 %2, i8 %3, i64 %4, i64 -1), !dbg !1247
ret void
}
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #0
; Function Attrs: argmemonly nounwind willreturn
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #0
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:41 within `report_exception'
define internal fastcc void @gpu_report_exception(i64 %0) unnamed_addr !dbg !1249 {
top:
%1 = alloca %printf_args.185.186.224, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:42 within `report_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = bitcast %printf_args.185.186.224* %1 to i8*, !dbg !1250
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %2), !dbg !1250
%3 = getelementptr inbounds %printf_args.185.186.224, %printf_args.185.186.224* %1, i64 0, i32 0, !dbg !1250
store i64 %0, i64* %3, align 8, !dbg !1250
%4 = call i32 @vprintf(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @2, i64 0, i64 0), i8* nonnull %2), !dbg !1250
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %2), !dbg !1250
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:46 within `report_exception'
ret void, !dbg !1257
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:27 within `signal_exception'
define internal fastcc void @gpu_signal_exception() unnamed_addr !dbg !1258 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:28 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:25 within `exception_flag'
%0 = call i64 @julia_exception_flag(), !dbg !1259
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:29 within `signal_exception'
%.not = icmp eq i64 %0, 0, !dbg !1262
br i1 %.not, label %L9, label %L5, !dbg !1262
L5: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:30 within `signal_exception'
; ┌ @ pointer.jl:118 within `unsafe_store!' @ pointer.jl:118
%1 = inttoptr i64 %0 to i64*, !dbg !1263
store i64 1, i64* %1, align 1, !dbg !1263, !tbaa !220
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:31 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:115 within `threadfence_system'
call void @llvm.nvvm.membar.sys(), !dbg !1267
; └
br label %L12, !dbg !1269
L9: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:33 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = call i32 @vprintf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @1, i64 0, i64 0), i8* null), !dbg !1270
br label %L12, !dbg !1270
L12: ; preds = %L9, %L5
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:38 within `signal_exception'
ret void, !dbg !1277
}
declare i64 @julia_exception_flag() local_unnamed_addr
; Function Attrs: nounwind
declare void @llvm.nvvm.membar.sys() #5
define ptx_kernel void @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, i64 %1, i64 %2, i8 %3, i64 %4, i64 %5, i64 %6) local_unnamed_addr {
entry:
%7 = alloca i64, align 16
%8 = bitcast i64* %7 to i8*
%9 = alloca i64, align 16
%10 = bitcast i64* %9 to i8*
%11 = alloca { [1 x i64], i8 addrspace(3)* }, align 8
%12 = alloca { [1 x i64], i8 addrspace(3)* }, align 8
%13 = alloca [2 x i64], align 8
%14 = alloca [1 x i32], align 4
%15 = alloca { i64, [1 x i64], i64 }, align 8
%16 = alloca [1 x i32], align 4
%17 = alloca [1 x i32], align 4
%18 = alloca { i64, [1 x i64], i64 }, align 8
%19 = alloca [1 x i32], align 4
%20 = alloca { i64, [1 x i64], i64 }, align 8
%21 = alloca { i64, [1 x i64], i64 }, align 8
%22 = alloca { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, align 8
%.fca.0.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 0
%.fca.0.0.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 0, i64 0
store i64 %.fca.0.0.0.extract, i64* %.fca.0.0.0.gep, align 8
%.fca.0.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 1
%.fca.0.0.1.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 0, i64 1
store i64 %.fca.0.0.1.extract, i64* %.fca.0.0.1.gep, align 8
%.fca.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 1
%.fca.0.1.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 1
store i8 addrspace(1)* %.fca.0.1.extract, i8 addrspace(1)** %.fca.0.1.gep, align 8
%.fca.1.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 1, 0
%.fca.1.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 1, i32 0
store i64 %.fca.1.0.extract, i64* %.fca.1.0.gep, align 8
%.fca.1.1.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 1, 1, 0, 0
%.fca.1.1.0.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 1, i32 1, i64 0, i64 0
store i64 %.fca.1.1.0.0.extract, i64* %.fca.1.1.0.0.gep, align 8
%.fca.2.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 2
%.fca.2.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 2
store i64 %.fca.2.extract, i64* %.fca.2.gep, align 8
%.fca.3.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 3
%.fca.3.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 3
store i64 %.fca.3.extract, i64* %.fca.3.gep, align 8
%23 = bitcast { [1 x i64], i8 addrspace(3)* }* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %23)
%24 = bitcast { [1 x i64], i8 addrspace(3)* }* %12 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %24)
%25 = bitcast [2 x i64]* %13 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %25)
%26 = bitcast [1 x i32]* %14 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %26)
%27 = bitcast { i64, [1 x i64], i64 }* %15 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %27)
%28 = bitcast [1 x i32]* %16 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %28)
%29 = bitcast [1 x i32]* %17 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %29)
%30 = bitcast { i64, [1 x i64], i64 }* %18 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %30)
%31 = bitcast [1 x i32]* %19 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %31)
%32 = bitcast { i64, [1 x i64], i64 }* %20 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %32)
%33 = bitcast { i64, [1 x i64], i64 }* %21 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %33)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:326 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%34 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !1278, !range !265
; │││└└
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%35 = zext i32 %34 to i64, !dbg !1292
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:39 within `CuDeviceArray' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:31
%36 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %11, i64 0, i32 0, i64 0, !dbg !1296
store i64 %35, i64* %36, align 8, !dbg !1296, !tbaa !246
%37 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %11, i64 0, i32 1, !dbg !1296
store i8 addrspace(3)* bitcast ([0 x i64] addrspace(3)* @__dynamic_shmem_686 to i8 addrspace(3)*), i8 addrspace(3)** %37, align 8, !dbg !1296, !tbaa !246
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:327 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:49 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:108 within `+'
%38 = getelementptr [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_687, i64 0, i64 %35, !dbg !1299
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:39 within `CuDeviceArray' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:31
%39 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %12, i64 0, i32 0, i64 0, !dbg !1303
store i64 %35, i64* %39, align 8, !dbg !1303, !tbaa !246
%40 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %12, i64 0, i32 1, !dbg !1303
%41 = bitcast i8 addrspace(3)** %40 to i64 addrspace(3)**, !dbg !1303
store i64 addrspace(3)* %38, i64 addrspace(3)** %41, align 8, !dbg !1303, !tbaa !246
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:328 within `qsort_kernel'
; ┌ @ int.jl:87 within `+'
%42 = shl nuw nsw i64 %35, 4, !dbg !1306
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:329 within `qsort_kernel'
; ┌ @ int.jl:86 within `-'
%43 = sub i64 %2, %1, !dbg !1309
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %43, %35, !dbg !1312
; └
%44 = bitcast i8 addrspace(1)* %.fca.0.1.extract to i64 addrspace(1)*, !dbg !1314
br i1 %.not, label %L77.i, label %L88.i, !dbg !1314
L77.i: ; preds = %entry
; ┌ @ int.jl:261 within `div'
%45 = sdiv i64 %43, %35, !dbg !1315
br label %L88.i, !dbg !1315
L88.i: ; preds = %L77.i, %entry
%value_phi.i = phi i64 [ %45, %L77.i ], [ 1, %entry ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:246 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1317
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:247 within `bubble_sort'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not105 = icmp slt i64 %43, %35, !dbg !1321
; ││└
%46 = select i1 %.not105, i64 %43, i64 %35, !dbg !1323
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:249 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%47 = call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !1326, !range !410
; │││└└
; │││┌ @ int.jl:87 within `+'
%narrow = add nuw nsw i32 %47, 1, !dbg !1334
%48 = zext i32 %narrow to i64, !dbg !1334
; │└└└
; │┌ @ int.jl:442 within `<='
%.not106 = icmp slt i64 %46, %48, !dbg !1335
; │└
br i1 %.not106, label %L201.i, label %L115.i, !dbg !1333
L115.i: ; preds = %L88.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:250 within `bubble_sort'
; │┌ @ int.jl:88 within `*'
%49 = mul i64 %value_phi.i, %48, !dbg !1336
; │└
; │┌ @ int.jl:87 within `+'
%50 = add i64 %49, %1, !dbg !1339
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%51 = icmp slt i64 %50, 1, !dbg !1340
%52 = icmp sgt i64 %50, %.fca.1.1.0.0.extract, !dbg !1340
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%53 = or i1 %51, %52, !dbg !1345
br i1 %53, label %L139.i, label %L138.i, !dbg !1345
L138.i: ; preds = %L139.i, %L115.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%54 = mul i64 %.fca.3.extract, %50, !dbg !1348
; ││└
; ││┌ @ int.jl:87 within `+'
%55 = add i64 %.fca.2.extract, %54, !dbg !1350
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%56 = mul i64 %.fca.0.0.1.extract, %.fca.0.0.0.extract, !dbg !1351
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%57 = icmp sgt i64 %56, 0, !dbg !1364
%58 = select i1 %57, i64 %56, i64 0, !dbg !1364
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%59 = icmp slt i64 %55, 1, !dbg !1371
%60 = icmp sgt i64 %55, %58, !dbg !1371
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%61 = or i1 %59, %60, !dbg !1359
br i1 %61, label %L160.i, label %L159.i, !dbg !1359
L139.i: ; preds = %L115.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1345
call fastcc void @gpu_signal_exception67(), !dbg !1345
call void asm sideeffect "exit;", ""() #5, !dbg !1345
call void asm sideeffect "exit;", ""() #5, !dbg !1345
br label %L138.i
L159.i: ; preds = %L160.i, %L138.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%62 = add i64 %55, -1, !dbg !1373
; ││││││└
%63 = getelementptr inbounds i64, i64 addrspace(1)* %44, i64 %62, !dbg !1374
%64 = load i64, i64 addrspace(1)* %63, align 8, !dbg !1374, !tbaa !459
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%65 = zext i32 %47 to i64, !dbg !1382
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not108 = icmp ult i32 %47, %34, !dbg !1386
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not108, label %L190.i, label %L191.i, !dbg !1389
L160.i: ; preds = %L138.i
; │└└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1359
call fastcc void @gpu_signal_exception67(), !dbg !1359
call void asm sideeffect "exit;", ""() #5, !dbg !1359
call void asm sideeffect "exit;", ""() #5, !dbg !1359
br label %L159.i
L190.i: ; preds = %L191.i, %L159.i
; │└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%66 = getelementptr inbounds i64, i64 addrspace(3)* %38, i64 %65, !dbg !1394
store i64 %64, i64 addrspace(3)* %66, align 8, !dbg !1394, !tbaa !478
; ││└└└└
br label %L201.i, !dbg !1392
L191.i: ; preds = %L159.i
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1389
call fastcc void @gpu_signal_exception67(), !dbg !1389
call void asm sideeffect "exit;", ""() #5, !dbg !1389
call void asm sideeffect "exit;", ""() #5, !dbg !1389
br label %L190.i
L201.i: ; preds = %L190.i, %L88.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:252 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1401
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv = icmp sgt i64 %46, -1, !dbg !1403
%67 = select i1 %.inv, i64 %46, i64 -1, !dbg !1403
; │└└└
br i1 %.inv, label %L213.i.preheader, label %L396.i, !dbg !1409
L213.i.preheader: ; preds = %L201.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl within `toInt64'
%68 = zext i32 %47 to i64, !dbg !1410
; │└└└└
; │┌ @ int.jl within `rem'
%narrow109 = and i32 %47, 1, !dbg !1415
%69 = xor i32 %narrow109, 1, !dbg !1415
%70 = zext i32 %69 to i64, !dbg !1415
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not121 = icmp ult i32 %47, %34, !dbg !1417
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%71 = getelementptr inbounds i64, i64 addrspace(3)* %38, i64 %68, !dbg !1424
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
br label %L213.i, !dbg !1429
L213.i: ; preds = %L384.i, %L213.i.preheader
%value_phi4.i = phi i64 [ %87, %L384.i ], [ 0, %L213.i.preheader ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ int.jl:262 within `rem'
%72 = srem i64 %value_phi4.i, 2, !dbg !1430
; │└
; │┌ @ operators.jl:204 within `!='
; ││┌ @ promotion.jl:410 within `=='
%.not110 = icmp eq i64 %72, %70, !dbg !1431
; │└└
; │┌ @ int.jl:88 within `*'
%73 = select i1 %.not110, i64 0, i64 2, !dbg !1435
; │└
; │┌ @ int.jl:87 within `+'
%74 = add nuw nsw i64 %73, %68, !dbg !1436
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
; │┌ @ int.jl:442 within `<='
%.not111 = icmp eq i64 %74, 0, !dbg !1437
; │└
%75 = icmp sgt i64 %74, %46, !dbg !1429
%76 = or i1 %.not111, %75, !dbg !1429
%brmerge = or i1 %76, %.not106, !dbg !1429
br i1 %brmerge, label %L287.i, label %L267.i, !dbg !1429
L267.i: ; preds = %L213.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:257 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
%77 = add nsw i64 %74, -1, !dbg !1438
%.not115 = icmp ult i64 %77, %35, !dbg !1438
br i1 %.not115, label %L275.i, label %L276.i, !dbg !1438
L275.i: ; preds = %L276.i, %L267.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%78 = getelementptr inbounds i64, i64 addrspace(3)* %38, i64 %77, !dbg !1442
%79 = load i64, i64 addrspace(3)* %78, align 8, !dbg !1442, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:670 within `iterate'
br label %L287.i, !dbg !1447
L276.i: ; preds = %L267.i
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:257 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1438
call fastcc void @gpu_signal_exception67(), !dbg !1438
call void asm sideeffect "exit;", ""() #5, !dbg !1438
call void asm sideeffect "exit;", ""() #5, !dbg !1438
br label %L275.i
L287.i: ; preds = %L275.i, %L213.i
%value_phi12.i = phi i64 [ %79, %L275.i ], [ 0, %L213.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:261 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1449
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:262 within `bubble_sort'
br i1 %brmerge, label %L384.i, label %L309.i, !dbg !1451
L309.i: ; preds = %L287.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ int.jl:83 within `<'
%80 = icmp ule i64 %74, %48, !dbg !1452
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not121, label %L340.i, label %L340.i.thread, !dbg !1420
L340.i: ; preds = %L309.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%81 = load i64, i64 addrspace(3)* %71, align 8, !dbg !1453, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%82 = icmp slt i64 %81, %value_phi12.i, !dbg !1454
; │└└└
%83 = xor i1 %80, %82, !dbg !1423
br i1 %83, label %L384.i, label %L373.i, !dbg !1423
L340.i.thread: ; preds = %L309.i
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1420
call fastcc void @gpu_signal_exception67(), !dbg !1420
call void asm sideeffect "exit;", ""() #5, !dbg !1420
call void asm sideeffect "exit;", ""() #5, !dbg !1420
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%84 = load i64, i64 addrspace(3)* %71, align 8, !dbg !1453, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%85 = icmp slt i64 %84, %value_phi12.i, !dbg !1454
; │└└└
%86 = xor i1 %80, %85, !dbg !1423
br i1 %86, label %L384.i, label %L374.i, !dbg !1423
L373.i: ; preds = %L374.i, %L340.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:264 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %value_phi12.i, i64 addrspace(3)* %71, align 8, !dbg !1459, !tbaa !478
; ││└└└└
br label %L384.i, !dbg !1464
L374.i: ; preds = %L340.i.thread
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1466
call fastcc void @gpu_signal_exception67(), !dbg !1466
call void asm sideeffect "exit;", ""() #5, !dbg !1466
call void asm sideeffect "exit;", ""() #5, !dbg !1466
br label %L373.i
L384.i: ; preds = %L373.i, %L340.i.thread, %L340.i, %L287.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1468
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not126.not = icmp eq i64 %value_phi4.i, %67, !dbg !1470
; ││└
%87 = add i64 %value_phi4.i, 1, !dbg !1471
; │└
br i1 %.not126.not, label %L396.i, label %L213.i, !dbg !1469
L396.i: ; preds = %L384.i, %L201.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:269 within `bubble_sort'
br i1 %.not106, label %L496.i, label %L409.i, !dbg !1472
L409.i: ; preds = %L396.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:270 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%88 = zext i32 %47 to i64, !dbg !1473
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not129 = icmp ult i32 %47, %34, !dbg !1478
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not129, label %L428.i, label %L429.i, !dbg !1481
L428.i: ; preds = %L429.i, %L409.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%89 = getelementptr inbounds i64, i64 addrspace(3)* %38, i64 %88, !dbg !1484
%90 = load i64, i64 addrspace(3)* %89, align 8, !dbg !1484, !tbaa !478
; │└└└└└
; │┌ @ int.jl:88 within `*'
%91 = mul i64 %value_phi.i, %48, !dbg !1489
; │└
; │┌ @ int.jl:87 within `+'
%92 = add i64 %91, %1, !dbg !1490
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%93 = icmp slt i64 %92, 1, !dbg !1491
%94 = icmp sgt i64 %92, %.fca.1.1.0.0.extract, !dbg !1491
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%95 = or i1 %93, %94, !dbg !1494
br i1 %95, label %L462.i, label %L461.i, !dbg !1494
L429.i: ; preds = %L409.i
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1481
call fastcc void @gpu_signal_exception67(), !dbg !1481
call void asm sideeffect "exit;", ""() #5, !dbg !1481
call void asm sideeffect "exit;", ""() #5, !dbg !1481
br label %L428.i
L461.i: ; preds = %L462.i, %L428.i
; │└└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%96 = mul i64 %.fca.3.extract, %92, !dbg !1497
; ││└
; ││┌ @ int.jl:87 within `+'
%97 = add i64 %.fca.2.extract, %96, !dbg !1499
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%98 = mul i64 %.fca.0.0.1.extract, %.fca.0.0.0.extract, !dbg !1500
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%99 = icmp sgt i64 %98, 0, !dbg !1508
%100 = select i1 %99, i64 %98, i64 0, !dbg !1508
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%101 = icmp slt i64 %97, 1, !dbg !1512
%102 = icmp sgt i64 %97, %100, !dbg !1512
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%103 = or i1 %101, %102, !dbg !1505
br i1 %103, label %L483.i, label %L482.i, !dbg !1505
L462.i: ; preds = %L428.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1494
call fastcc void @gpu_signal_exception67(), !dbg !1494
call void asm sideeffect "exit;", ""() #5, !dbg !1494
call void asm sideeffect "exit;", ""() #5, !dbg !1494
br label %L461.i
L482.i: ; preds = %L483.i, %L461.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%104 = add i64 %97, -1, !dbg !1514
; ││││││└
%105 = getelementptr inbounds i64, i64 addrspace(1)* %44, i64 %104, !dbg !1515
store i64 %90, i64 addrspace(1)* %105, align 8, !dbg !1515, !tbaa !459
; │└└└└└
br label %L496.i, !dbg !1477
L483.i: ; preds = %L461.i
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1505
call fastcc void @gpu_signal_exception67(), !dbg !1505
call void asm sideeffect "exit;", ""() #5, !dbg !1505
call void asm sideeffect "exit;", ""() #5, !dbg !1505
br label %L482.i
L496.i: ; preds = %L482.i, %L396.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:273 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1520
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:349 within `qsort_kernel'
br i1 %.not, label %L511.i, label %L510.i, !dbg !1522
L510.i: ; preds = %L496.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:350 within `qsort_kernel'
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %23), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %24), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %25), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %26), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %28), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %29), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %30), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %31), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %32), !dbg !1523
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %33), !dbg !1523
br label %_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit, !dbg !1523
L511.i: ; preds = %L496.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:353 within `qsort_kernel'
; ┌ @ int.jl:261 within `div'
%106 = lshr i32 %34, 1, !dbg !1524
%107 = zext i32 %106 to i64, !dbg !1524
%108 = sdiv i64 %43, %35, !dbg !1524
; └
; ┌ @ int.jl:88 within `*'
%109 = mul i64 %108, %107, !dbg !1526
; └
; ┌ @ int.jl:87 within `+'
%110 = add i64 %109, %1, !dbg !1527
; └
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%111 = icmp slt i64 %110, 1, !dbg !1528
%112 = load i64, i64* %.fca.1.1.0.0.gep, align 8, !dbg !1528
%113 = icmp sgt i64 %110, %112, !dbg !1528
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%114 = or i1 %111, %113, !dbg !1531
br i1 %114, label %L546.i, label %L545.i, !dbg !1531
L545.i: ; preds = %L546.i, %L511.i
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%115 = load i64, i64* %.fca.3.gep, align 8, !dbg !1533
%116 = mul i64 %115, %110, !dbg !1533
; │└
; │┌ @ int.jl:87 within `+'
%117 = load i64, i64* %.fca.2.gep, align 8, !dbg !1535
%118 = add i64 %117, %116, !dbg !1535
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl:88 within `*'
%119 = load i64, i64* %.fca.0.0.0.gep, align 8, !dbg !1536
%120 = load i64, i64* %.fca.0.0.1.gep, align 8, !dbg !1536
%121 = mul i64 %120, %119, !dbg !1536
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl:421 within `max'
%122 = icmp sgt i64 %121, 0, !dbg !1544
%123 = select i1 %122, i64 %121, i64 0, !dbg !1544
; │││└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%124 = icmp slt i64 %118, 1, !dbg !1548
%125 = icmp sgt i64 %118, %123, !dbg !1548
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%126 = or i1 %124, %125, !dbg !1541
br i1 %126, label %L567.i, label %L566.i, !dbg !1541
L546.i: ; preds = %L511.i
; └└└
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1531
call fastcc void @gpu_signal_exception67(), !dbg !1531
call void asm sideeffect "exit;", ""() #5, !dbg !1531
call void asm sideeffect "exit;", ""() #5, !dbg !1531
br label %L545.i
L566.i: ; preds = %L567.i, %L545.i
; └└
; ┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%127 = add i64 %118, -1, !dbg !1550
; │││││└
%128 = bitcast i8 addrspace(1)** %.fca.0.1.gep to i64 addrspace(1)**, !dbg !1551
%129 = load i64 addrspace(1)*, i64 addrspace(1)** %128, align 8, !dbg !1551
%130 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %127, !dbg !1551
%131 = load i64, i64 addrspace(1)* %130, align 8, !dbg !1551, !tbaa !459
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:295 within `call_batch_partition'
; │┌ @ int.jl:442 within `<='
%.not134193 = icmp slt i64 %2, %1, !dbg !1556
; │└
br i1 %.not134193, label %L940.i, label %L582.i.lr.ph, !dbg !1557
L582.i.lr.ph: ; preds = %L566.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:296 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; ││││┌ @ boot.jl:752 within `Int64'
; │││││┌ @ boot.jl within `toInt64'
%132 = zext i32 %47 to i64, !dbg !1560
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││││┌ @ abstractarray.jl:667 within `checkindex'
; ││││││┌ @ int.jl within `<='
%.not140 = icmp ult i32 %47, %34, !dbg !1567
; │││└└└└
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%133 = getelementptr inbounds i64, i64 addrspace(3)* %38, i64 %132, !dbg !1573
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `flex_lt'
%134 = and i8 %3, 1, !dbg !1578
%.not142 = icmp ne i8 %134, 0, !dbg !1578
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%135 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %132, !dbg !1580
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:121 within `batch_partition'
; ││┌ @ int.jl within `<'
%.not147190 = icmp ugt i32 %34, 2, !dbg !1586
; └└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:295 within `call_batch_partition'
br label %L582.i, !dbg !1557
L567.i: ; preds = %L545.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:353 within `qsort_kernel'
; ┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1541
call fastcc void @gpu_signal_exception67(), !dbg !1541
call void asm sideeffect "exit;", ""() #5, !dbg !1541
call void asm sideeffect "exit;", ""() #5, !dbg !1541
br label %L566.i
L582.i: ; preds = %L926.i, %L582.i.lr.ph
%value_phi21.i194 = phi i64 [ %1, %L582.i.lr.ph ], [ %136, %L926.i ]
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:296 within `call_batch_partition'
; │┌ @ int.jl:87 within `+'
%136 = add i64 %value_phi21.i194, %35, !dbg !1588
; │└
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not135 = icmp slt i64 %136, %2, !dbg !1589
; ││└
%137 = select i1 %.not135, i64 %136, i64 %2, !dbg !1590
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:110 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1591
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:111 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:77 within `blockIdx'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:57 within `blockIdx_y'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%138 = call i32 @llvm.nvvm.read.ptx.sreg.ctaid.y(), !dbg !1593, !range !1601
; ││└└└└
; ││┌ @ int.jl:88 within `*'
%narrow136 = mul nuw nsw i32 %34, %138, !dbg !1602
%139 = zext i32 %narrow136 to i64, !dbg !1602
; ││└
; ││┌ @ operators.jl:540 within `+' @ int.jl:87
%140 = add i64 %value_phi21.i194, %139, !dbg !1603
%141 = add i64 %140, %48, !dbg !1603
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:112 within `batch_partition'
; ││┌ @ int.jl:442 within `<='
%.not138 = icmp sgt i64 %141, %137, !dbg !1606
; ││└
br i1 %.not138, label %L778.i, label %L634.i, !dbg !1607
L634.i: ; preds = %L582.i
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; ││┌ @ subarray.jl:292 within `getindex'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%142 = icmp slt i64 %141, 1, !dbg !1608
%143 = icmp sgt i64 %141, %112, !dbg !1608
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%144 = or i1 %142, %143, !dbg !1611
br i1 %144, label %L645.i, label %L644.i, !dbg !1611
L644.i: ; preds = %L645.i, %L634.i
; ││└└
; ││┌ @ subarray.jl:293 within `getindex'
; │││┌ @ int.jl:88 within `*'
%145 = mul i64 %115, %141, !dbg !1613
; │││└
; │││┌ @ int.jl:87 within `+'
%146 = add i64 %117, %145, !dbg !1615
; │││└
; │││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││││┌ @ abstractarray.jl:667 within `checkindex'
; ││││││┌ @ int.jl:442 within `<='
%147 = icmp slt i64 %146, 1, !dbg !1616
%148 = icmp sgt i64 %146, %123, !dbg !1616
; │││││└└
; │││││ @ abstractarray.jl:610 within `checkbounds'
%149 = or i1 %147, %148, !dbg !1619
br i1 %149, label %L666.i, label %L665.i, !dbg !1619
L645.i: ; preds = %L634.i
; ││└└└
; ││┌ @ subarray.jl:292 within `getindex'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1611
call fastcc void @gpu_signal_exception67(), !dbg !1611
call void asm sideeffect "exit;", ""() #5, !dbg !1611
call void asm sideeffect "exit;", ""() #5, !dbg !1611
br label %L644.i
L665.i: ; preds = %L666.i, %L644.i
; ││└└
; ││┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││││┌ @ int.jl:86 within `-'
%150 = add i64 %146, -1, !dbg !1622
; │││││││└
%151 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %150, !dbg !1623
%152 = load i64, i64 addrspace(1)* %151, align 8, !dbg !1623, !tbaa !459
; ││└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not140, label %L725.i.thread, label %L768.i, !dbg !1570
L725.i.thread: ; preds = %L665.i
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %152, i64 addrspace(3)* %133, align 8, !dbg !1628, !tbaa !478
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%153 = icmp eq i64 %131, %152, !dbg !1629
%narrow143196 = and i1 %.not142, %153, !dbg !1629
%154 = icmp slt i64 %131, %152, !dbg !1629
%value_phi23.i.v197 = or i1 %narrow143196, %154, !dbg !1629
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
br label %L808.i, !dbg !1630
L666.i: ; preds = %L644.i
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; ││┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1619
call fastcc void @gpu_signal_exception67(), !dbg !1619
call void asm sideeffect "exit;", ""() #5, !dbg !1619
call void asm sideeffect "exit;", ""() #5, !dbg !1619
br label %L665.i
L768.i: ; preds = %L665.i
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1570
call fastcc void @gpu_signal_exception67(), !dbg !1570
call void asm sideeffect "exit;", ""() #5, !dbg !1570
call void asm sideeffect "exit;", ""() #5, !dbg !1570
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %152, i64 addrspace(3)* %133, align 8, !dbg !1628, !tbaa !478
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1632
call fastcc void @gpu_signal_exception67(), !dbg !1632
call void asm sideeffect "exit;", ""() #5, !dbg !1632
call void asm sideeffect "exit;", ""() #5, !dbg !1632
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%.pre = load i64, i64 addrspace(3)* %133, align 8, !dbg !1635, !tbaa !478
; ││└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%155 = icmp eq i64 %131, %.pre, !dbg !1629
%narrow143 = and i1 %.not142, %155, !dbg !1629
%156 = icmp slt i64 %131, %.pre, !dbg !1629
%value_phi23.i.v = or i1 %narrow143, %156, !dbg !1629
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1630
call fastcc void @gpu_signal_exception67(), !dbg !1630
call void asm sideeffect "exit;", ""() #5, !dbg !1630
call void asm sideeffect "exit;", ""() #5, !dbg !1630
br label %L808.i
L778.i: ; preds = %L582.i
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:116 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not140, label %L808.i, label %L798.i, !dbg !1640
L798.i: ; preds = %L778.i
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1640
call fastcc void @gpu_signal_exception67(), !dbg !1640
call void asm sideeffect "exit;", ""() #5, !dbg !1640
call void asm sideeffect "exit;", ""() #5, !dbg !1640
br label %L808.i
L808.i: ; preds = %L798.i, %L778.i, %L768.i, %L725.i.thread
%.not140.pr = phi i1 [ false, %L798.i ], [ true, %L778.i ], [ false, %L768.i ], [ true, %L725.i.thread ]
%storemerge.shrunk = phi i1 [ true, %L798.i ], [ true, %L778.i ], [ %value_phi23.i.v, %L768.i ], [ %value_phi23.i.v197, %L725.i.thread ]
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `batch_partition'
%storemerge = zext i1 %storemerge.shrunk to i64, !dbg !1644
store i64 %storemerge, i64 addrspace(3)* %135, align 8, !dbg !1644, !tbaa !478
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:118 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1645
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:119 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not140.pr, label %L828.i, label %L829.i, !dbg !1647
L828.i: ; preds = %L829.i, %L808.i
; │││└└
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%157 = load i64, i64 addrspace(3)* %133, align 8, !dbg !1651, !tbaa !478
; ││└└└└└
%158 = call fastcc i64 @julia_merge_swap_shmem_24079(i64 %157, i64 %48, i64 1, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %11, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %12), !dbg !1650
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:121 within `batch_partition'
br i1 %.not147190, label %L864.i, label %L878.i, !dbg !1587
L829.i: ; preds = %L808.i
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:119 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1647
call fastcc void @gpu_signal_exception67(), !dbg !1647
call void asm sideeffect "exit;", ""() #5, !dbg !1647
call void asm sideeffect "exit;", ""() #5, !dbg !1647
br label %L828.i
L864.i: ; preds = %L828.i, %L864.i
%value_phi25.i192 = phi i64 [ %159, %L864.i ], [ %158, %L828.i ]
%value_phi24.i191 = phi i64 [ %160, %L864.i ], [ 2, %L828.i ]
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:122 within `batch_partition'
%159 = call fastcc i64 @julia_merge_swap_shmem_24079(i64 %value_phi25.i192, i64 %48, i64 %value_phi24.i191, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %11, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %12), !dbg !1656
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:123 within `batch_partition'
; ││┌ @ int.jl:88 within `*'
%160 = shl i64 %value_phi24.i191, 1, !dbg !1657
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:121 within `batch_partition'
; ││┌ @ int.jl:83 within `<'
%.not147 = icmp slt i64 %160, %35, !dbg !1659
; ││└
br i1 %.not147, label %L864.i, label %L878.i, !dbg !1587
L878.i: ; preds = %L864.i, %L828.i
%value_phi25.i.lcssa = phi i64 [ %158, %L828.i ], [ %159, %L864.i ]
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:125 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1660
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:127 within `batch_partition'
br i1 %.not138, label %L926.i, label %L881.i, !dbg !1662
L881.i: ; preds = %L878.i
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:128 within `batch_partition'
; ││┌ @ subarray.jl:324 within `setindex!'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%161 = icmp slt i64 %141, 1, !dbg !1663
%162 = icmp sgt i64 %141, %112, !dbg !1663
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%163 = or i1 %161, %162, !dbg !1666
br i1 %163, label %L892.i, label %L891.i, !dbg !1666
L891.i: ; preds = %L892.i, %L881.i
; ││└└
; ││┌ @ subarray.jl:325 within `setindex!'
; │││┌ @ int.jl:88 within `*'
%164 = mul i64 %115, %141, !dbg !1669
; │││└
; │││┌ @ int.jl:87 within `+'
%165 = add i64 %117, %164, !dbg !1671
; │││└
; │││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││││┌ @ abstractarray.jl:667 within `checkindex'
; ││││││┌ @ int.jl:442 within `<='
%166 = icmp slt i64 %165, 1, !dbg !1672
%167 = icmp sgt i64 %165, %123, !dbg !1672
; │││││└└
; │││││ @ abstractarray.jl:610 within `checkbounds'
%168 = or i1 %166, %167, !dbg !1675
br i1 %168, label %L913.i, label %L912.i, !dbg !1675
L892.i: ; preds = %L881.i
; ││└└└
; ││┌ @ subarray.jl:324 within `setindex!'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1666
call fastcc void @gpu_signal_exception67(), !dbg !1666
call void asm sideeffect "exit;", ""() #5, !dbg !1666
call void asm sideeffect "exit;", ""() #5, !dbg !1666
br label %L891.i
L912.i: ; preds = %L913.i, %L891.i
; ││└└
; ││┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││││┌ @ int.jl:86 within `-'
%169 = add i64 %165, -1, !dbg !1678
; │││││││└
%170 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %169, !dbg !1679
store i64 %value_phi25.i.lcssa, i64 addrspace(1)* %170, align 8, !dbg !1679, !tbaa !459
; ││└└└└└
br label %L926.i, !dbg !1668
L913.i: ; preds = %L891.i
; ││┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1675
call fastcc void @gpu_signal_exception67(), !dbg !1675
call void asm sideeffect "exit;", ""() #5, !dbg !1675
call void asm sideeffect "exit;", ""() #5, !dbg !1675
br label %L912.i
L926.i: ; preds = %L912.i, %L878.i
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:130 within `batch_partition'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1684
; └└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:295 within `call_batch_partition'
; │┌ @ int.jl:442 within `<='
%.not134 = icmp sgt i64 %136, %2, !dbg !1556
; │└
br i1 %.not134, label %L940.i, label %L582.i, !dbg !1557
L940.i: ; preds = %L926.i, %L566.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:184 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1686
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ int.jl:93 within `/'
; │││┌ @ float.jl:206 within `float'
; ││││┌ @ float.jl:191 within `AbstractFloat'
; │││││┌ @ float.jl:94 within `Float64'
%171 = sitofp i64 %43 to double, !dbg !1690
%172 = uitofp i32 %34 to double, !dbg !1690
; │││└└└
; │││ @ int.jl:93 within `/' @ float.jl:335
%173 = fdiv double %171, %172, !dbg !1701
; ││└
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%174 = call double @llvm.ceil.f64(double %173), !dbg !1703
; │││└
; │││┌ @ float.jl:713 within `trunc'
; ││││┌ @ float.jl:374 within `<='
%175 = fcmp ult double %174, 0xC3E0000000000000, !dbg !1707
; ││││└
%176 = fcmp uge double %174, 0x43E0000000000000, !dbg !1709
%177 = or i1 %175, %176, !dbg !1709
br i1 %177, label %L965.i, label %L963.i, !dbg !1709
L963.i: ; preds = %L965.i, %L940.i
; │││└
; │││┌ @ float.jl:714 within `trunc'
; ││││┌ @ float.jl:239 within `unsafe_trunc'
%178 = fptosi double %174 to i64, !dbg !1711
; │└└└└
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv153 = icmp sgt i64 %178, 0, !dbg !1714
%179 = select i1 %.inv153, i64 %178, i64 0, !dbg !1714
; │└└└
br i1 %.inv153, label %L981.i.preheader, label %L1487.i, !dbg !1700
L981.i.preheader: ; preds = %L963.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl within `+'
%180 = add nsw i64 %48, -1, !dbg !1717
; └└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl within `toInt64'
%181 = zext i32 %47 to i64, !dbg !1721
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not161 = icmp ult i32 %47, %34, !dbg !1726
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%182 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %181, !dbg !1732
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `consolidate_batch_partition'
%183 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 0, !dbg !1737
%184 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 1, !dbg !1737
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
br label %L981.i, !dbg !1738
L965.i: ; preds = %L940.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !1739
call fastcc void @gpu_signal_exception67(), !dbg !1739
call void asm sideeffect "exit;", ""() #5, !dbg !1739
br label %L963.i
L981.i: ; preds = %L1473.i, %L981.i.preheader
%value_phi38.i = phi i64 [ %265, %L1473.i ], [ 1, %L981.i.preheader ]
%value_phi40.i = phi i64 [ %264, %L1473.i ], [ 0, %L981.i.preheader ]
%value_phi41.i = phi i64 [ %263, %L1473.i ], [ 0, %L981.i.preheader ]
%value_phi42.i = phi i64 [ %value_phi49.i, %L1473.i ], [ 0, %L981.i.preheader ]
%.urem = urem i64 %value_phi38.i, %35
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
; │┌ @ promotion.jl:410 within `=='
%.not154 = icmp eq i64 %.urem, 1, !dbg !1740
; │└
br i1 %.not154, label %L999.i, label %L1158.i, !dbg !1738
L999.i: ; preds = %L981.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:194 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl:88 within `*'
%185 = mul i64 %value_phi42.i, %35, !dbg !1741
; ││└
; ││┌ @ int.jl:87 within `+'
%186 = add i64 %185, %48, !dbg !1744
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:713 within `trunc'
br i1 %177, label %L1045.i, label %L1043.i, !dbg !1745
L1043.i: ; preds = %L1045.i, %L999.i
; │└└└
; │┌ @ int.jl:442 within `<='
%.not157 = icmp sgt i64 %186, %178, !dbg !1748
; │└
br i1 %.not157, label %L1157.i, label %L1052.i, !dbg !1743
L1045.i: ; preds = %L999.i
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !1749
call fastcc void @gpu_signal_exception67(), !dbg !1749
call void asm sideeffect "exit;", ""() #5, !dbg !1749
br label %L1043.i
L1052.i: ; preds = %L1043.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%187 = add i64 %180, %185, !dbg !1750
; │└
; │┌ @ int.jl:88 within `*'
%188 = mul i64 %187, %35, !dbg !1751
; │└
; │┌ @ int.jl:87 within `+'
%189 = add i64 %188, %1, !dbg !1752
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:196 within `consolidate_batch_partition'
; │┌ @ int.jl:88 within `*'
%190 = mul i64 %186, %35, !dbg !1753
; │└
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not160 = icmp slt i64 %190, %43, !dbg !1755
; ││└
%191 = select i1 %.not160, i64 %190, i64 %43, !dbg !1756
; │└
; │┌ @ int.jl:87 within `+'
%192 = add i64 %191, %1, !dbg !1757
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
%193 = call fastcc i64 @julia_find_partition_24074({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %131, i64 %189, i64 %192, i8 %3), !dbg !1725
; │┌ @ int.jl:86 within `-'
%194 = sub i64 %192, %193, !dbg !1758
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not161, label %L1146.i, label %L1147.i, !dbg !1729
L1146.i: ; preds = %L1147.i, %L1052.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %194, i64 addrspace(3)* %182, align 8, !dbg !1759, !tbaa !478
; ││└└└└
br label %L1157.i, !dbg !1731
L1147.i: ; preds = %L1052.i
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1729
call fastcc void @gpu_signal_exception67(), !dbg !1729
call void asm sideeffect "exit;", ""() #5, !dbg !1729
call void asm sideeffect "exit;", ""() #5, !dbg !1729
br label %L1146.i
L1157.i: ; preds = %L1146.i, %L1043.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:200 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%195 = add i64 %value_phi42.i, 1, !dbg !1760
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L1158.i, !dbg !1471
L1158.i: ; preds = %L1157.i, %L981.i
%value_phi49.i = phi i64 [ %195, %L1157.i ], [ %value_phi42.i, %L981.i ]
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `consolidate_batch_partition'
store i64 %43, i64* %183, align 8, !dbg !1762, !tbaa !246
store i64 %value_phi38.i, i64* %184, align 8, !dbg !1762, !tbaa !246
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:211 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1763
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:212 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%196 = add i64 %value_phi49.i, -1, !dbg !1765
; │└
; │┌ @ int.jl:88 within `*'
%197 = mul i64 %196, %35, !dbg !1767
; │└
; │┌ @ int.jl:86 within `-'
%198 = sub i64 %value_phi38.i, %197, !dbg !1765
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%199 = icmp slt i64 %198, 1, !dbg !1768
%200 = icmp sgt i64 %198, %35, !dbg !1768
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%201 = or i1 %199, %200, !dbg !1771
br i1 %201, label %L1183.i, label %L1182.i, !dbg !1771
L1182.i: ; preds = %L1183.i, %L1158.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%202 = add i64 %198, -1, !dbg !1774
; ││││││└
%203 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %202, !dbg !1775
%204 = load i64, i64 addrspace(3)* %203, align 8, !dbg !1775, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:213 within `consolidate_batch_partition'
%205 = call fastcc i64 @julia_n_eff_24060([2 x i64]* nocapture readonly %13), !dbg !1780
; │┌ @ int.jl:86 within `-'
%206 = sub i64 %205, %204, !dbg !1781
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:214 within `consolidate_batch_partition'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not162 = icmp slt i64 %206, %value_phi40.i, !dbg !1782
; ││└
%207 = select i1 %.not162, i64 %206, i64 %value_phi40.i, !dbg !1783
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:215 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1785
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:216 within `consolidate_batch_partition'
; │┌ @ int.jl:442 within `<='
%.not164 = icmp slt i64 %207, %48, !dbg !1787
; │└
br i1 %.not164, label %L1268.i, label %L1210.i, !dbg !1788
L1183.i: ; preds = %L1158.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:212 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1771
call fastcc void @gpu_signal_exception67(), !dbg !1771
call void asm sideeffect "exit;", ""() #5, !dbg !1771
call void asm sideeffect "exit;", ""() #5, !dbg !1771
br label %L1182.i
L1210.i: ; preds = %L1182.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:217 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%208 = add i64 %value_phi41.i, %1, !dbg !1789
%209 = add i64 %208, %48, !dbg !1789
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%210 = icmp slt i64 %209, 1, !dbg !1792
%211 = icmp sgt i64 %209, %112, !dbg !1792
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%212 = or i1 %210, %211, !dbg !1795
br i1 %212, label %L1234.i, label %L1233.i, !dbg !1795
L1233.i: ; preds = %L1234.i, %L1210.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%213 = mul i64 %115, %209, !dbg !1797
; ││└
; ││┌ @ int.jl:87 within `+'
%214 = add i64 %117, %213, !dbg !1799
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%215 = icmp slt i64 %214, 1, !dbg !1800
%216 = icmp sgt i64 %214, %123, !dbg !1800
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%217 = or i1 %215, %216, !dbg !1803
br i1 %217, label %L1255.i, label %L1254.i, !dbg !1803
L1234.i: ; preds = %L1210.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1795
call fastcc void @gpu_signal_exception67(), !dbg !1795
call void asm sideeffect "exit;", ""() #5, !dbg !1795
call void asm sideeffect "exit;", ""() #5, !dbg !1795
br label %L1233.i
L1254.i: ; preds = %L1255.i, %L1233.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%218 = add i64 %214, -1, !dbg !1806
; ││││││└
%219 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %218, !dbg !1807
%220 = load i64, i64 addrspace(1)* %219, align 8, !dbg !1807, !tbaa !459
; └└└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L1268.i, !dbg !1471
L1255.i: ; preds = %L1233.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:217 within `consolidate_batch_partition'
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1803
call fastcc void @gpu_signal_exception67(), !dbg !1803
call void asm sideeffect "exit;", ""() #5, !dbg !1803
call void asm sideeffect "exit;", ""() #5, !dbg !1803
br label %L1254.i
L1268.i: ; preds = %L1254.i, %L1182.i
%value_phi50.i = phi i64 [ %220, %L1254.i ], [ 0, %L1182.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:221 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1812
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:222 within `consolidate_batch_partition'
br i1 %.not164, label %L1399.i, label %L1283.i, !dbg !1814
L1283.i: ; preds = %L1268.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:223 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%221 = add i64 %value_phi41.i, %1, !dbg !1815
%222 = add i64 %221, %value_phi40.i, !dbg !1815
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%223 = add i64 %222, %206, !dbg !1818
; │└└└
; │┌ @ int.jl:86 within `-'
%224 = sub i64 %223, %207, !dbg !1821
; │└
; │┌ @ int.jl:87 within `+'
%225 = add i64 %224, %48, !dbg !1822
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%226 = icmp slt i64 %225, 1, !dbg !1823
%227 = icmp sgt i64 %225, %112, !dbg !1823
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%228 = or i1 %226, %227, !dbg !1826
br i1 %228, label %L1310.i, label %L1309.i, !dbg !1826
L1309.i: ; preds = %L1310.i, %L1283.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%229 = mul i64 %115, %225, !dbg !1828
; ││└
; ││┌ @ int.jl:87 within `+'
%230 = add i64 %117, %229, !dbg !1830
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%231 = icmp slt i64 %230, 1, !dbg !1831
%232 = icmp sgt i64 %230, %123, !dbg !1831
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%233 = or i1 %231, %232, !dbg !1834
br i1 %233, label %L1331.i, label %L1330.i, !dbg !1834
L1310.i: ; preds = %L1283.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1826
call fastcc void @gpu_signal_exception67(), !dbg !1826
call void asm sideeffect "exit;", ""() #5, !dbg !1826
call void asm sideeffect "exit;", ""() #5, !dbg !1826
br label %L1309.i
L1330.i: ; preds = %L1331.i, %L1309.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%234 = add i64 %230, -1, !dbg !1837
; ││││││└
%235 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %234, !dbg !1838
%236 = load i64, i64 addrspace(1)* %235, align 8, !dbg !1838, !tbaa !459
; │└└└└└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%237 = add i64 %221, %48, !dbg !1815
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%238 = icmp slt i64 %237, 1, !dbg !1843
%239 = icmp sgt i64 %237, %112, !dbg !1843
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%240 = or i1 %238, %239, !dbg !1846
br i1 %240, label %L1366.i, label %L1365.i, !dbg !1846
L1331.i: ; preds = %L1309.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1834
call fastcc void @gpu_signal_exception67(), !dbg !1834
call void asm sideeffect "exit;", ""() #5, !dbg !1834
call void asm sideeffect "exit;", ""() #5, !dbg !1834
br label %L1330.i
L1365.i: ; preds = %L1366.i, %L1330.i
; │└└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%241 = mul i64 %115, %237, !dbg !1848
; ││└
; ││┌ @ int.jl:87 within `+'
%242 = add i64 %117, %241, !dbg !1850
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%243 = icmp slt i64 %242, 1, !dbg !1851
%244 = icmp sgt i64 %242, %123, !dbg !1851
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%245 = or i1 %243, %244, !dbg !1854
br i1 %245, label %L1387.i, label %L1386.i, !dbg !1854
L1366.i: ; preds = %L1330.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1846
call fastcc void @gpu_signal_exception67(), !dbg !1846
call void asm sideeffect "exit;", ""() #5, !dbg !1846
call void asm sideeffect "exit;", ""() #5, !dbg !1846
br label %L1365.i
L1386.i: ; preds = %L1387.i, %L1365.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%246 = add i64 %242, -1, !dbg !1857
; ││││││└
%247 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %246, !dbg !1858
store i64 %236, i64 addrspace(1)* %247, align 8, !dbg !1858, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1399.i, !dbg !1863
L1387.i: ; preds = %L1365.i
; │└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1854
call fastcc void @gpu_signal_exception67(), !dbg !1854
call void asm sideeffect "exit;", ""() #5, !dbg !1854
call void asm sideeffect "exit;", ""() #5, !dbg !1854
br label %L1386.i
L1399.i: ; preds = %L1386.i, %L1268.i
%.not164.pr = phi i1 [ false, %L1386.i ], [ true, %L1268.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:225 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1864
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:226 within `consolidate_batch_partition'
br i1 %.not164.pr, label %L1473.i, label %L1413.i, !dbg !1866
L1413.i: ; preds = %L1399.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:227 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%248 = add i64 %value_phi41.i, %1, !dbg !1867
%249 = add i64 %248, %value_phi40.i, !dbg !1867
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%250 = add i64 %249, %206, !dbg !1870
; │└└└
; │┌ @ int.jl:86 within `-'
%251 = sub i64 %250, %207, !dbg !1872
; │└
; │┌ @ int.jl:87 within `+'
%252 = add i64 %251, %48, !dbg !1873
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%253 = icmp slt i64 %252, 1, !dbg !1874
%254 = icmp sgt i64 %252, %112, !dbg !1874
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%255 = or i1 %253, %254, !dbg !1877
br i1 %255, label %L1440.i, label %L1439.i, !dbg !1877
L1439.i: ; preds = %L1440.i, %L1413.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%256 = mul i64 %115, %252, !dbg !1879
; ││└
; ││┌ @ int.jl:87 within `+'
%257 = add i64 %117, %256, !dbg !1881
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%258 = icmp slt i64 %257, 1, !dbg !1882
%259 = icmp sgt i64 %257, %123, !dbg !1882
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%260 = or i1 %258, %259, !dbg !1885
br i1 %260, label %L1461.i, label %L1460.i, !dbg !1885
L1440.i: ; preds = %L1413.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1877
call fastcc void @gpu_signal_exception67(), !dbg !1877
call void asm sideeffect "exit;", ""() #5, !dbg !1877
call void asm sideeffect "exit;", ""() #5, !dbg !1877
br label %L1439.i
L1460.i: ; preds = %L1461.i, %L1439.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%261 = add i64 %257, -1, !dbg !1888
; ││││││└
%262 = getelementptr inbounds i64, i64 addrspace(1)* %129, i64 %261, !dbg !1889
store i64 %value_phi50.i, i64 addrspace(1)* %262, align 8, !dbg !1889, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1473.i, !dbg !1894
L1461.i: ; preds = %L1439.i
; │└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !1885
call fastcc void @gpu_signal_exception67(), !dbg !1885
call void asm sideeffect "exit;", ""() #5, !dbg !1885
call void asm sideeffect "exit;", ""() #5, !dbg !1885
br label %L1460.i
L1473.i: ; preds = %L1460.i, %L1399.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:229 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1895
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:230 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%263 = add i64 %206, %value_phi41.i, !dbg !1897
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:231 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%264 = add i64 %204, %value_phi40.i, !dbg !1899
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not177.not = icmp eq i64 %value_phi38.i, %179, !dbg !1901
; ││└
%265 = add nuw i64 %value_phi38.i, 1, !dbg !1902
; │└
br i1 %.not177.not, label %L1487.i, label %L981.i, !dbg !1900
L1487.i: ; preds = %L1473.i, %L963.i
%value_phi54.i = phi i64 [ 0, %L963.i ], [ %263, %L1473.i ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:234 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !1903
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:235 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%266 = add i64 %value_phi54.i, %1, !dbg !1905
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:365 within `qsort_kernel'
; ┌ @ promotion.jl:410 within `=='
%.not179 = icmp eq i32 %47, 0, !dbg !1907
; └
br i1 %.not179, label %L1504.i, label %L1683.i, !dbg !1908
L1504.i: ; preds = %L1487.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:366 within `qsort_kernel'
; ┌ @ promotion.jl:410 within `=='
%.not180 = icmp eq i64 %131, %5, !dbg !1909
; └
%267 = icmp eq i64 %value_phi54.i, 0, !dbg !1910
%narrow181 = and i1 %.not180, %267, !dbg !1910
%268 = icmp eq i64 %266, %2, !dbg !1910
%value_phi56.i.v = or i1 %narrow181, %268, !dbg !1910
%269 = add i64 %6, 1, !dbg !1910
%value_phi57.i = select i1 %value_phi56.i.v, i64 %269, i64 0, !dbg !1910
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:368 within `qsort_kernel'
; ┌ @ int.jl:83 within `<'
%270 = icmp slt i64 %value_phi57.i, 2, !dbg !1911
%.not183 = icmp sgt i64 %266, %1
; └
%or.cond = and i1 %.not183, %270, !dbg !1912
br i1 %or.cond, label %L1523.i, label %L1601.i, !dbg !1912
L1523.i: ; preds = %L1504.i
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:369 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%271 = ptrtoint i64* %7 to i64, !dbg !1913
; ││└└
%272 = call i32 @cudaStreamCreateWithFlags(i64 %271, i32 1), !dbg !1917
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not184 = icmp eq i32 %272, 0, !dbg !1923
; │└└
br i1 %.not184, label %L1536.i, label %L1533.i, !dbg !1927
L1533.i: ; preds = %L1523.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%273 = getelementptr inbounds [1 x i32], [1 x i32]* %14, i64 0, i64 0, !dbg !1928
store i32 %272, i32* %273, align 4, !dbg !1928, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture readonly %14), !dbg !1930
call void asm sideeffect "exit;", ""() #5, !dbg !1930
br label %L1536.i
L1536.i: ; preds = %L1533.i, %L1523.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%274 = load i64, i64* %7, align 16, !dbg !1931, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%275 = icmp slt i64 %4, 2, !dbg !1936
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%276 = xor i8 %3, 1, !dbg !1940
%277 = add i64 %4, -1, !dbg !1940
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %8)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
br i1 %275, label %L1566.i, label %L1543.i, !dbg !1939
L1543.i: ; preds = %L1536.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:371 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%278 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 0, !dbg !1941
store i64 %35, i64* %278, align 8, !dbg !1941, !tbaa !246
%279 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 1, i64 0, !dbg !1941
store i64 %274, i64* %279, align 8, !dbg !1941, !tbaa !246
%280 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 2, !dbg !1941
store i64 %42, i64* %280, align 8, !dbg !1941, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24050({ i64, [1 x i64], i64 }* nocapture readonly %15, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %1, i64 %266, i8 %276, i64 %277, i64 %131, i64 %value_phi57.i), !dbg !1947
; └└└└└└└└
br label %L1589.i, !dbg !1946
L1566.i: ; preds = %L1536.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:375 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%281 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 0, !dbg !1960
store i64 %35, i64* %281, align 8, !dbg !1960, !tbaa !246
%282 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 1, i64 0, !dbg !1960
store i64 %274, i64* %282, align 8, !dbg !1960, !tbaa !246
%283 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 2, !dbg !1960
store i64 %42, i64* %283, align 8, !dbg !1960, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24050({ i64, [1 x i64], i64 }* nocapture readonly %21, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %1, i64 %266, i8 %276, i64 %277, i64 %131, i64 %value_phi57.i), !dbg !1964
; ││└└└└└└
br label %L1589.i, !dbg !1970
L1589.i: ; preds = %L1566.i, %L1543.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:379 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%284 = call i32 @cudaStreamDestroy(i64 %274), !dbg !1971
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not185 = icmp eq i32 %284, 0, !dbg !1976
; │└└
br i1 %.not185, label %L1601.i, label %L1596.i, !dbg !1979
L1596.i: ; preds = %L1589.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%285 = getelementptr inbounds [1 x i32], [1 x i32]* %16, i64 0, i64 0, !dbg !1980
store i32 %284, i32* %285, align 4, !dbg !1980, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture readonly %16), !dbg !1981
call void asm sideeffect "exit;", ""() #5, !dbg !1981
br label %L1601.i
L1601.i: ; preds = %L1596.i, %L1589.i, %L1504.i
%.not186 = icmp slt i64 %266, %2
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:382 within `qsort_kernel'
%or.cond189 = and i1 %.not186, %270, !dbg !1982
br i1 %or.cond189, label %L1605.i, label %L1683.i, !dbg !1982
L1605.i: ; preds = %L1601.i
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %10)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:383 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%286 = ptrtoint i64* %9 to i64, !dbg !1983
; ││└└
%287 = call i32 @cudaStreamCreateWithFlags(i64 %286, i32 1), !dbg !1985
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not187 = icmp eq i32 %287, 0, !dbg !1989
; │└└
br i1 %.not187, label %L1618.i, label %L1615.i, !dbg !1992
L1615.i: ; preds = %L1605.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%288 = getelementptr inbounds [1 x i32], [1 x i32]* %17, i64 0, i64 0, !dbg !1993
store i32 %287, i32* %288, align 4, !dbg !1993, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture readonly %17), !dbg !1994
call void asm sideeffect "exit;", ""() #5, !dbg !1994
br label %L1618.i
L1618.i: ; preds = %L1615.i, %L1605.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%289 = load i64, i64* %9, align 16, !dbg !1995, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%290 = icmp slt i64 %4, 2, !dbg !1998
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%291 = xor i8 %3, 1, !dbg !1940
%292 = add i64 %4, -1, !dbg !1940
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %10)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
br i1 %290, label %L1648.i, label %L1625.i, !dbg !2000
L1625.i: ; preds = %L1618.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:385 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%293 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 0, !dbg !2001
store i64 %35, i64* %293, align 8, !dbg !2001, !tbaa !246
%294 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 1, i64 0, !dbg !2001
store i64 %289, i64* %294, align 8, !dbg !2001, !tbaa !246
%295 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 2, !dbg !2001
store i64 %42, i64* %295, align 8, !dbg !2001, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24050({ i64, [1 x i64], i64 }* nocapture readonly %18, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %266, i64 %2, i8 %291, i64 %292, i64 %131, i64 %value_phi57.i), !dbg !2005
; └└└└└└└└
br label %L1671.i, !dbg !2004
L1648.i: ; preds = %L1618.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:389 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%296 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 0, !dbg !2012
store i64 %35, i64* %296, align 8, !dbg !2012, !tbaa !246
%297 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 1, i64 0, !dbg !2012
store i64 %289, i64* %297, align 8, !dbg !2012, !tbaa !246
%298 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 2, !dbg !2012
store i64 %42, i64* %298, align 8, !dbg !2012, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24050({ i64, [1 x i64], i64 }* nocapture readonly %20, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %266, i64 %2, i8 %291, i64 %292, i64 %131, i64 %value_phi57.i), !dbg !2016
; ││└└└└└└
br label %L1671.i, !dbg !2022
L1671.i: ; preds = %L1648.i, %L1625.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:393 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%299 = call i32 @cudaStreamDestroy(i64 %289), !dbg !2023
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not188 = icmp eq i32 %299, 0, !dbg !2026
; │└└
br i1 %.not188, label %L1683.i, label %L1678.i, !dbg !2029
L1678.i: ; preds = %L1671.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%300 = getelementptr inbounds [1 x i32], [1 x i32]* %19, i64 0, i64 0, !dbg !2030
store i32 %299, i32* %300, align 4, !dbg !2030, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture readonly %19), !dbg !2031
call void asm sideeffect "exit;", ""() #5, !dbg !2031
br label %L1683.i
L1683.i: ; preds = %L1678.i, %L1671.i, %L1601.i, %L1487.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:397 within `qsort_kernel'
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %23), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %24), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %25), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %26), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %28), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %29), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %30), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %31), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %32), !dbg !2032
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %33), !dbg !2032
br label %_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit, !dbg !2032
_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit: ; preds = %L1683.i, %L510.i
ret void
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:41 within `report_exception'
define internal fastcc void @gpu_report_exception66(i64 %0) unnamed_addr !dbg !2034 {
top:
%1 = alloca %printf_args.185.186.224, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:42 within `report_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = bitcast %printf_args.185.186.224* %1 to i8*, !dbg !2035
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %2), !dbg !2035
%3 = getelementptr inbounds %printf_args.185.186.224, %printf_args.185.186.224* %1, i64 0, i32 0, !dbg !2035
store i64 %0, i64* %3, align 8, !dbg !2035
%4 = call i32 @vprintf(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @2, i64 0, i64 0), i8* nonnull %2), !dbg !2035
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %2), !dbg !2035
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:46 within `report_exception'
ret void, !dbg !2042
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:27 within `signal_exception'
define internal fastcc void @gpu_signal_exception67() unnamed_addr !dbg !2043 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:28 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:25 within `exception_flag'
%0 = call i64 @julia_exception_flag(), !dbg !2044
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:29 within `signal_exception'
%.not = icmp eq i64 %0, 0, !dbg !2047
br i1 %.not, label %L9, label %L5, !dbg !2047
L5: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:30 within `signal_exception'
; ┌ @ pointer.jl:118 within `unsafe_store!' @ pointer.jl:118
%1 = inttoptr i64 %0 to i64*, !dbg !2048
store i64 1, i64* %1, align 1, !dbg !2048, !tbaa !220
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:31 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:115 within `threadfence_system'
call void @llvm.nvvm.membar.sys(), !dbg !2052
; └
br label %L12, !dbg !2054
L9: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:33 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = call i32 @vprintf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @1, i64 0, i64 0), i8* null), !dbg !2055
br label %L12, !dbg !2055
L12: ; preds = %L9, %L5
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:38 within `signal_exception'
ret void, !dbg !2062
}
; Function Attrs: nounwind readnone
declare i32 @llvm.nvvm.read.ptx.sreg.ctaid.y() #3
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:86 within `merge_swap_shmem'
define internal fastcc i64 @julia_merge_swap_shmem_24079(i64 %0, i64 %1, i64 %2, { [1 x i64], i8 addrspace(3)* }* nocapture nonnull readonly align 8 dereferenceable(16) %3, { [1 x i64], i8 addrspace(3)* }* nocapture nonnull readonly align 8 dereferenceable(16) %4) unnamed_addr !dbg !2063 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:88 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2064
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:89 within `merge_swap_shmem'
; ┌ @ int.jl:88 within `*'
%5 = shl i64 %2, 1, !dbg !2067
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:86 within `-'
%6 = add i64 %1, -1, !dbg !2070
; │└
; │┌ @ int.jl:262 within `rem'
%cond = icmp eq i64 %5, 0, !dbg !2074
br i1 %cond, label %fail, label %oksrem, !dbg !2074
L17: ; preds = %oksrem
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2076
call fastcc void @gpu_signal_exception67(), !dbg !2076
call void asm sideeffect "exit;", ""() #5, !dbg !2076
call void asm sideeffect "exit;", ""() #5, !dbg !2076
br label %L20
L20: ; preds = %oksrem, %L17
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl:33 within `getproperty'
%7 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %3, i64 0, i32 1, !dbg !2082
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%8 = add i64 %42, -1, !dbg !2087
; │││││└
%9 = bitcast i8 addrspace(3)** %7 to i64 addrspace(3)**, !dbg !2088
%10 = load i64 addrspace(3)*, i64 addrspace(3)** %9, align 8, !dbg !2088, !tbaa !200
%11 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %8, !dbg !2088
%12 = load i64, i64 addrspace(3)* %11, align 8, !dbg !2088, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:90 within `merge_swap_shmem'
; ┌ @ int.jl:86 within `-'
%13 = sub i64 %2, %12, !dbg !2096
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:91 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:44 within `batch_ceil'
; │┌ @ int.jl:87 within `+'
%14 = add i64 %5, %1, !dbg !2098
; │└
; │┌ @ int.jl:262 within `rem'
br i1 %cond, label %fail1, label %oksrem4, !dbg !2103
L45: ; preds = %oksrem4
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2104
call fastcc void @gpu_signal_exception67(), !dbg !2104
call void asm sideeffect "exit;", ""() #5, !dbg !2104
call void asm sideeffect "exit;", ""() #5, !dbg !2104
br label %L48
L48: ; preds = %oksrem4, %L45
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%15 = add i64 %51, -1, !dbg !2107
; │││││└
%16 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %15, !dbg !2108
%17 = load i64, i64 addrspace(3)* %16, align 8, !dbg !2108, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:92 within `merge_swap_shmem'
; ┌ @ int.jl:86 within `-'
%18 = sub i64 %2, %17, !dbg !2113
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:93 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:312 within `eachindex'
; ││││┌ @ abstractarray.jl:109 within `axes1'
; │││││┌ @ abstractarray.jl:89 within `axes'
; ││││││┌ @ tuple.jl:213 within `map'
; │││││││┌ @ tuple.jl:29 within `getindex'
%19 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %4, i64 0, i32 0, i64 0, !dbg !2115
; │││││││└
; │││││││┌ @ range.jl:337 within `oneto'
; ││││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││││┌ @ promotion.jl:421 within `max'
; ││││││││││┌ @ int.jl:83 within `<'
%20 = load i64, i64* %19, align 8, !dbg !2132, !tbaa !200
; ││││││││││└
%21 = icmp sgt i64 %20, 0, !dbg !2134
%22 = select i1 %21, i64 %20, i64 0, !dbg !2134
; │││└└└└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%23 = icmp slt i64 %1, 1, !dbg !2141
%24 = icmp slt i64 %22, %1, !dbg !2141
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%25 = or i1 %23, %24, !dbg !2126
br i1 %25, label %L67, label %L70, !dbg !2126
L67: ; preds = %L48
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2126
call fastcc void @gpu_signal_exception67(), !dbg !2126
call void asm sideeffect "exit;", ""() #5, !dbg !2126
call void asm sideeffect "exit;", ""() #5, !dbg !2126
br label %L70
L70: ; preds = %L67, %L48
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl:33 within `getproperty'
%26 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %4, i64 0, i32 1, !dbg !2145
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%27 = bitcast i8 addrspace(3)** %26 to i64 addrspace(3)**, !dbg !2148
%28 = load i64 addrspace(3)*, i64 addrspace(3)** %27, align 8, !dbg !2148, !tbaa !200
%29 = getelementptr inbounds i64, i64 addrspace(3)* %28, i64 %6, !dbg !2148
store i64 %0, i64 addrspace(3)* %29, align 8, !dbg !2148, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:94 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2154
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:95 within `merge_swap_shmem'
; ┌ @ int.jl:87 within `+'
%30 = add i64 %17, %12, !dbg !2156
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%31 = icmp slt i64 %46, %1, !dbg !2158
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%32 = or i1 %23, %31, !dbg !2161
br i1 %32, label %L90, label %L93, !dbg !2161
L90: ; preds = %L70
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2161
call fastcc void @gpu_signal_exception67(), !dbg !2161
call void asm sideeffect "exit;", ""() #5, !dbg !2161
call void asm sideeffect "exit;", ""() #5, !dbg !2161
br label %L93
L93: ; preds = %L90, %L70
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%33 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %6, !dbg !2164
store i64 %30, i64 addrspace(3)* %33, align 8, !dbg !2164, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:96 within `merge_swap_shmem'
%34 = call fastcc i64 @julia_batch_step_swap_24092(i64 %1, i64 %5, i64 %13, i64 %12, i64 %18), !dbg !2169
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%35 = icmp slt i64 %34, 1, !dbg !2170
%36 = icmp sgt i64 %34, %22, !dbg !2170
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%37 = or i1 %35, %36, !dbg !2173
br i1 %37, label %L113, label %L116, !dbg !2173
L113: ; preds = %L93
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2173
call fastcc void @gpu_signal_exception67(), !dbg !2173
call void asm sideeffect "exit;", ""() #5, !dbg !2173
call void asm sideeffect "exit;", ""() #5, !dbg !2173
br label %L116
L116: ; preds = %L113, %L93
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%38 = add i64 %34, -1, !dbg !2176
; │││││└
%39 = getelementptr inbounds i64, i64 addrspace(3)* %28, i64 %38, !dbg !2177
%40 = load i64, i64 addrspace(3)* %39, align 8, !dbg !2177, !tbaa !478
; └└└└└
ret i64 %40, !dbg !2169
fail: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:89 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2074
call fastcc void @gpu_signal_exception67(), !dbg !2074
call void asm sideeffect "exit;", ""() #5, !dbg !2074
br label %oksrem, !dbg !2074
oksrem: ; preds = %fail, %top
%41 = srem i64 %6, %5, !dbg !2074
; │└
; │┌ @ int.jl:86 within `-'
%42 = sub i64 %1, %41, !dbg !2070
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:312 within `eachindex'
; ││││┌ @ abstractarray.jl:109 within `axes1'
; │││││┌ @ abstractarray.jl:89 within `axes'
; ││││││┌ @ tuple.jl:213 within `map'
; │││││││┌ @ tuple.jl:29 within `getindex'
%43 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %3, i64 0, i32 0, i64 0, !dbg !2182
; │││││││└
; │││││││┌ @ range.jl:337 within `oneto'
; ││││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││││┌ @ promotion.jl:421 within `max'
; ││││││││││┌ @ int.jl:83 within `<'
%44 = load i64, i64* %43, align 8, !dbg !2188, !tbaa !200
; ││││││││││└
%45 = icmp sgt i64 %44, 0, !dbg !2189
%46 = select i1 %45, i64 %44, i64 0, !dbg !2189
; │││└└└└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%47 = icmp slt i64 %42, 1, !dbg !2193
%48 = icmp sgt i64 %42, %46, !dbg !2193
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%49 = or i1 %47, %48, !dbg !2076
br i1 %49, label %L17, label %L20, !dbg !2076
fail1: ; preds = %L20
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:91 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:44 within `batch_ceil'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2103
call fastcc void @gpu_signal_exception67(), !dbg !2103
call void asm sideeffect "exit;", ""() #5, !dbg !2103
br label %oksrem4, !dbg !2103
oksrem4: ; preds = %fail1, %L20
; │└
; │┌ @ int.jl:86 within `-'
%50 = xor i64 %41, -1, !dbg !2195
%51 = add i64 %14, %50, !dbg !2195
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%52 = icmp slt i64 %51, 1, !dbg !2196
%53 = icmp sgt i64 %51, %46, !dbg !2196
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%54 = or i1 %52, %53, !dbg !2104
br i1 %54, label %L45, label %L48, !dbg !2104
; └└└
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:153 within `find_partition'
define internal fastcc i64 @julia_find_partition_24074({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %0, i64 %1, i64 %2, i64 %3, i8 %4) unnamed_addr !dbg !2199 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:154 within `find_partition'
; ┌ @ int.jl:87 within `+'
%5 = add i64 %2, 1, !dbg !2200
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not9 = icmp sgt i64 %5, %3, !dbg !2203
; └
br i1 %.not9, label %L68, label %L6.lr.ph, !dbg !2205
L6.lr.ph: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ range.jl:613 within `last'
; ││││┌ @ Base.jl within `getproperty'
%6 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !2206
; │││└└
; │││┌ @ int.jl within `<='
%7 = load i64, i64* %6, align 8, !dbg !2218, !tbaa !200
; └└└└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ Base.jl within `getproperty'
%8 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 2, !dbg !2219
%9 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 3, !dbg !2219
; │└
; │┌ @ int.jl within `*'
%10 = load i64, i64* %9, align 8, !dbg !2221
; │└
; │┌ @ int.jl within `+'
%11 = load i64, i64* %8, align 8, !dbg !2223
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl within `prod'
%12 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 0, !dbg !2224
%13 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 1, !dbg !2224
; │││││└
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl within `*'
%14 = load i64, i64* %12, align 8, !dbg !2236
%15 = load i64, i64* %13, align 8, !dbg !2236
%16 = mul i64 %15, %14, !dbg !2236
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl within `max'
%17 = icmp sgt i64 %16, 0, !dbg !2238
%18 = select i1 %17, i64 %16, i64 0, !dbg !2238
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl within `getproperty'
%19 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 1, !dbg !2245
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%20 = bitcast i8 addrspace(1)** %19 to i64 addrspace(1)**, !dbg !2249
%21 = load i64 addrspace(1)*, i64 addrspace(1)** %20, align 8, !dbg !2249
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `flex_lt'
%22 = and i8 %4, 1, !dbg !2257
%.not8.not = icmp eq i8 %22, 0, !dbg !2257
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
br i1 %.not8.not, label %L6, label %L6.us, !dbg !2205
L6.us: ; preds = %L6.lr.ph, %L43.us
%value_phi111.us = phi i64 [ %value_phi5.us, %L43.us ], [ %5, %L6.lr.ph ]
%value_phi10.us = phi i64 [ %value_phi4.us, %L43.us ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%23 = add i64 %value_phi111.us, %value_phi10.us, !dbg !2259
; └
; ┌ @ int.jl:261 within `div'
%24 = sdiv i64 %23, 2, !dbg !2261
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%25 = icmp slt i64 %23, 2, !dbg !2263
%26 = icmp sgt i64 %24, %7, !dbg !2263
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%27 = or i1 %25, %26, !dbg !2214
br i1 %27, label %L19.us, label %L22.us, !dbg !2214
L19.us: ; preds = %L6.us
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2214
call fastcc void @gpu_signal_exception67(), !dbg !2214
call void asm sideeffect "exit;", ""() #5, !dbg !2214
call void asm sideeffect "exit;", ""() #5, !dbg !2214
br label %L22.us
L22.us: ; preds = %L19.us, %L6.us
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%28 = mul i64 %10, %24, !dbg !2264
; │└
; │┌ @ int.jl:87 within `+'
%29 = add i64 %11, %28, !dbg !2265
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%30 = icmp slt i64 %29, 1, !dbg !2266
%31 = icmp sgt i64 %29, %18, !dbg !2266
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%32 = or i1 %30, %31, !dbg !2231
br i1 %32, label %L40.us, label %L43.us, !dbg !2231
L40.us: ; preds = %L22.us
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2231
call fastcc void @gpu_signal_exception67(), !dbg !2231
call void asm sideeffect "exit;", ""() #5, !dbg !2231
call void asm sideeffect "exit;", ""() #5, !dbg !2231
br label %L43.us
L43.us: ; preds = %L40.us, %L22.us
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%33 = add i64 %29, -1, !dbg !2268
; │││││└
%34 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %33, !dbg !2270
%35 = load i64, i64 addrspace(1)* %34, align 8, !dbg !2270, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%.not12 = icmp slt i64 %35, %1, !dbg !2271
; └
%36 = add nsw i64 %24, -1, !dbg !2217
%37 = add nsw i64 %24, 1, !dbg !2217
%value_phi4.us = select i1 %.not12, i64 %value_phi10.us, i64 %36, !dbg !2217
%value_phi5.us = select i1 %.not12, i64 %37, i64 %value_phi111.us, !dbg !2217
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not.us = icmp sgt i64 %value_phi5.us, %value_phi4.us, !dbg !2203
; └
br i1 %.not.us, label %L68, label %L6.us, !dbg !2205
L6: ; preds = %L6.lr.ph, %L43
%value_phi111 = phi i64 [ %value_phi5, %L43 ], [ %5, %L6.lr.ph ]
%value_phi10 = phi i64 [ %value_phi4, %L43 ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%38 = add i64 %value_phi111, %value_phi10, !dbg !2259
; └
; ┌ @ int.jl:261 within `div'
%39 = sdiv i64 %38, 2, !dbg !2261
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%40 = icmp slt i64 %38, 2, !dbg !2263
%41 = icmp sgt i64 %39, %7, !dbg !2263
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%42 = or i1 %40, %41, !dbg !2214
br i1 %42, label %L19, label %L22, !dbg !2214
L19: ; preds = %L6
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2214
call fastcc void @gpu_signal_exception67(), !dbg !2214
call void asm sideeffect "exit;", ""() #5, !dbg !2214
call void asm sideeffect "exit;", ""() #5, !dbg !2214
br label %L22
L22: ; preds = %L19, %L6
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%43 = mul i64 %10, %39, !dbg !2264
; │└
; │┌ @ int.jl:87 within `+'
%44 = add i64 %11, %43, !dbg !2265
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%45 = icmp slt i64 %44, 1, !dbg !2266
%46 = icmp sgt i64 %44, %18, !dbg !2266
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%47 = or i1 %45, %46, !dbg !2231
br i1 %47, label %L40, label %L43, !dbg !2231
L40: ; preds = %L22
call fastcc void @gpu_report_exception66(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2231
call fastcc void @gpu_signal_exception67(), !dbg !2231
call void asm sideeffect "exit;", ""() #5, !dbg !2231
call void asm sideeffect "exit;", ""() #5, !dbg !2231
br label %L43
L43: ; preds = %L40, %L22
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%48 = add i64 %44, -1, !dbg !2268
; │││││└
%49 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %48, !dbg !2270
%50 = load i64, i64 addrspace(1)* %49, align 8, !dbg !2270, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%51 = icmp sgt i64 %50, %1, !dbg !2271
; └
%52 = add nsw i64 %39, -1, !dbg !2217
%53 = add nsw i64 %39, 1, !dbg !2217
%value_phi4 = select i1 %51, i64 %52, i64 %value_phi10, !dbg !2217
%value_phi5 = select i1 %51, i64 %value_phi111, i64 %53, !dbg !2217
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %value_phi5, %value_phi4, !dbg !2203
; └
br i1 %.not, label %L68, label %L6, !dbg !2205
L68: ; preds = %L43.us, %L43, %top
%value_phi1.lcssa = phi i64 [ %5, %top ], [ %value_phi5, %L43 ], [ %value_phi5.us, %L43.us ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:164 within `find_partition'
; ┌ @ int.jl:86 within `-'
%54 = add i64 %value_phi1.lcssa, -1, !dbg !2272
; └
ret i64 %54, !dbg !2273
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `n_eff'
define internal fastcc i64 @julia_n_eff_24060([2 x i64]* nocapture nonnull readonly align 8 dereferenceable(16) %0) unnamed_addr !dbg !2274 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
%1 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 1, !dbg !2275
%2 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 0, !dbg !2275
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%3 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !2276, !range !265
; └└└└
; ┌ @ int.jl:93 within `/'
; │┌ @ float.jl:206 within `float'
; ││┌ @ float.jl:191 within `AbstractFloat'
; │││┌ @ float.jl:94 within `Float64'
%4 = load i64, i64* %2, align 8, !dbg !2286, !tbaa !200
%5 = sitofp i64 %4 to double, !dbg !2286
%6 = uitofp i32 %3 to double, !dbg !2286
; │└└└
; │ @ int.jl:93 within `/' @ float.jl:335
%7 = fdiv double %5, %6, !dbg !2294
; └
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:304 within `round'
%8 = call double @llvm.ceil.f64(double %7), !dbg !2296
; │└
; │┌ @ float.jl:713 within `trunc'
; ││┌ @ float.jl:374 within `<='
%9 = fcmp ult double %8, 0xC3E0000000000000, !dbg !2300
; ││└
%10 = fcmp uge double %8, 0x43E0000000000000, !dbg !2302
%11 = or i1 %9, %10, !dbg !2302
br i1 %11, label %L26, label %L24, !dbg !2302
L24: ; preds = %L26, %top
; │└
; │┌ @ float.jl:714 within `trunc'
; ││┌ @ float.jl:239 within `unsafe_trunc'
%12 = fptosi double %8 to i64, !dbg !2304
; └└└
; ┌ @ operators.jl:204 within `!='
; │┌ @ promotion.jl:410 within `=='
%13 = load i64, i64* %1, align 8, !dbg !2307, !tbaa !200
%.not = icmp eq i64 %13, %12, !dbg !2307
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `n_eff'
%14 = zext i32 %3 to i64, !dbg !2311
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
br i1 %.not, label %L47, label %L49, !dbg !2275
L26: ; preds = %top
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2312
call fastcc void @gpu_signal_exception67(), !dbg !2312
call void asm sideeffect "exit;", ""() #5, !dbg !2312
br label %L24
L47: ; preds = %L24
; └└
; ┌ @ int.jl:262 within `rem'
%15 = srem i64 %4, %14, !dbg !2313
; └
; ┌ @ promotion.jl:410 within `=='
%16 = icmp eq i64 %15, 0, !dbg !2315
; └
%spec.select = select i1 %16, i64 %14, i64 %15, !dbg !2275
br label %L49, !dbg !2275
L49: ; preds = %L47, %L24
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:205 within `n_eff'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%.pre-phi = phi i64 [ %14, %L24 ], [ %spec.select, %L47 ], !dbg !2316
; └└└└
ret i64 %.pre-phi, !dbg !2322
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:17 within `throw_device_cuerror'
; Function Attrs: noinline
define internal fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture nonnull readonly align 4 dereferenceable(4) %0) unnamed_addr #4 !dbg !2323 {
top:
%1 = alloca %printf_args.223, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:19 within `throw_device_cuerror'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:207 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:15 within `description'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:49 within `cudaGetErrorString'
; │││┌ @ essentials.jl:396 within `cconvert'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:11 within `convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%2 = getelementptr inbounds [1 x i32], [1 x i32]* %0, i64 0, i64 0, !dbg !2324
; │││└└└
%3 = load i32, i32* %2, align 4, !dbg !2330, !tbaa !200
%4 = call i64 @cudaGetErrorString(i32 %3), !dbg !2330
; │└└
; │┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/CEnum.jl:19 within `Integer'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%5 = zext i32 %3 to i64, !dbg !2337
; │└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:13 within `name'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:55 within `cudaGetErrorName'
%6 = call i64 @cudaGetErrorName(i32 %3), !dbg !2343
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:120 within `_cuprint'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:158 within `macro expansion'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%7 = bitcast %printf_args.223* %1 to i8*, !dbg !2347
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %7), !dbg !2347
%8 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 0, !dbg !2347
store i64 %4, i64* %8, align 8, !dbg !2347
%9 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 1, !dbg !2347
store i64 %5, i64* %9, align 8, !dbg !2347
%10 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 2, !dbg !2347
store i64 %6, i64* %10, align 8, !dbg !2347
%11 = call i32 @vprintf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @0, i64 0, i64 0), i8* nonnull %7), !dbg !2347
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %7), !dbg !2347
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:20 within `throw_device_cuerror'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2355
call fastcc void @gpu_signal_exception67(), !dbg !2355
call void asm sideeffect "exit;", ""() #5, !dbg !2355
unreachable
}
; @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `dynamic_cudacall##kw'
define internal fastcc void @julia_dynamic_cudacallYY_YY_kw_24050({ i64, [1 x i64], i64 }* nocapture nonnull readonly align 8 dereferenceable(24) %0, i64 %1, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %2, i64 %3, i64 %4, i8 %5, i64 %6, i64 %7, i64 %8) unnamed_addr !dbg !2356 {
top:
%9 = alloca [1 x i32], align 4
%.sroa.023.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 0
%.sroa.023.0.copyload = load i64, i64* %.sroa.023.0..sroa_idx, align 8, !tbaa !174
%.sroa.224.0..sroa_idx25 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 1
%.sroa.224.0.copyload = load i64, i64* %.sroa.224.0..sroa_idx25, align 8, !tbaa !174
%.sroa.3.0..sroa_idx26 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 1
%10 = bitcast i8 addrspace(1)** %.sroa.3.0..sroa_idx26 to i64*
%.sroa.3.0.copyload44 = load i64, i64* %10, align 8, !tbaa !174
%.sroa.427.0..sroa_idx28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 0
%.sroa.427.0.copyload = load i64, i64* %.sroa.427.0..sroa_idx28, align 8, !tbaa !174
%.sroa.5.0..sroa_idx29 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 1, i64 0, i64 0
%.sroa.5.0.copyload = load i64, i64* %.sroa.5.0..sroa_idx29, align 8, !tbaa !174
%.sroa.6.0..sroa_idx30 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 2
%.sroa.6.0.copyload = load i64, i64* %.sroa.6.0..sroa_idx30, align 8, !tbaa !174
%.sroa.7.0..sroa_idx31 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 3
%.sroa.7.0.copyload = load i64, i64* %.sroa.7.0..sroa_idx31, align 8, !tbaa !174
; ┌ @ namedtuple.jl:118 within `getindex'
%11 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 0, !dbg !2357
%12 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 2, !dbg !2357
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `#dynamic_cudacall#229'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:383 within `macro expansion'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:60 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:23 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%13 = load i64, i64* %11, align 8, !dbg !2360, !tbaa !200
%14 = trunc i64 %13 to i32, !dbg !2360
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%15 = icmp ugt i64 %13, 4294967295, !dbg !2377
br i1 %15, label %L33, label %L38, !dbg !2377
L33: ; preds = %top
call fastcc void @gpu_report_exception66(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !2377
call fastcc void @gpu_signal_exception67(), !dbg !2377
call void asm sideeffect "exit;", ""() #5, !dbg !2377
call void asm sideeffect "exit;", ""() #5, !dbg !2377
br label %L38
L38: ; preds = %L33, %top
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:62 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:68 within `parameter_buffer'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:72 within `macro expansion'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:225 within `cudaGetParameterBufferV2'
; ││││││┌ @ essentials.jl:396 within `cconvert'
; │││││││┌ @ number.jl:7 within `convert'
; ││││││││┌ @ boot.jl:756 within `UInt32'
; │││││││││┌ @ boot.jl:716 within `toUInt32'
; ││││││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%16 = load i64, i64* %12, align 8, !dbg !2378, !tbaa !200
%17 = trunc i64 %16 to i32, !dbg !2378
; ││││││││││└
; ││││││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%18 = icmp ugt i64 %16, 4294967295, !dbg !2391
br i1 %18, label %L46, label %L52, !dbg !2391
L46: ; preds = %L38
call fastcc void @gpu_report_exception66(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !2391
call fastcc void @gpu_signal_exception67(), !dbg !2391
call void asm sideeffect "exit;", ""() #5, !dbg !2391
call void asm sideeffect "exit;", ""() #5, !dbg !2391
br label %L52
L52: ; preds = %L46, %L38
; ││││││└└└└└
%.fca.0.insert = insertvalue { i32, i32, i32 } undef, i32 %14, 0, !dbg !2384
%.fca.1.insert = insertvalue { i32, i32, i32 } %.fca.0.insert, i32 1, 1, !dbg !2384
%.fca.2.insert16 = insertvalue { i32, i32, i32 } %.fca.1.insert, i32 1, 2, !dbg !2384
%19 = call i64 @cudaGetParameterBufferV2(i64 %1, { i32, i32, i32 } { i32 1, i32 1, i32 1 }, { i32, i32, i32 } %.fca.2.insert16, i32 %17), !dbg !2384
; ││││└└
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:73 within `macro expansion'
%20 = inttoptr i64 %19 to { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }*, !dbg !2392
%.repack.repack.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 0, !dbg !2392
store i64 %.sroa.023.0.copyload, i64* %.repack.repack.repack, align 8, !dbg !2392, !tbaa !220
%.repack.repack.repack40 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 1, !dbg !2392
store i64 %.sroa.224.0.copyload, i64* %.repack.repack.repack40, align 8, !dbg !2392, !tbaa !220
%.repack.repack38 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 1, !dbg !2392
%21 = bitcast i8 addrspace(1)** %.repack.repack38 to i64*, !dbg !2392
store i64 %.sroa.3.0.copyload44, i64* %21, align 8, !dbg !2392, !tbaa !220
%.repack32.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 0, !dbg !2392
store i64 %.sroa.427.0.copyload, i64* %.repack32.repack, align 8, !dbg !2392, !tbaa !220
%22 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !2392
store i64 %.sroa.5.0.copyload, i64* %22, align 8, !dbg !2392, !tbaa !220
%.repack34 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 2, !dbg !2392
store i64 %.sroa.6.0.copyload, i64* %.repack34, align 8, !dbg !2392, !tbaa !220
%.repack36 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 3, !dbg !2392
store i64 %.sroa.7.0.copyload, i64* %.repack36, align 8, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%23 = inttoptr i64 %19 to i8*, !dbg !2393
%24 = getelementptr i8, i8* %23, i64 56, !dbg !2393
; │││││└
%25 = bitcast i8* %24 to i64*, !dbg !2392
store i64 %3, i64* %25, align 8, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%26 = getelementptr i8, i8* %23, i64 64, !dbg !2393
; │││││└
%27 = bitcast i8* %26 to i64*, !dbg !2392
store i64 %4, i64* %27, align 8, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%28 = getelementptr i8, i8* %23, i64 72, !dbg !2393
; │││││└
store i8 %5, i8* %28, align 1, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%29 = getelementptr i8, i8* %23, i64 80, !dbg !2393
; │││││└
%30 = bitcast i8* %29 to i64*, !dbg !2392
store i64 %6, i64* %30, align 8, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%31 = getelementptr i8, i8* %23, i64 88, !dbg !2393
; │││││└
%32 = bitcast i8* %31 to i64*, !dbg !2392
store i64 %7, i64* %32, align 8, !dbg !2392, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%33 = getelementptr i8, i8* %23, i64 96, !dbg !2393
; │││││└
%34 = bitcast i8* %33 to i64*, !dbg !2392
store i64 %8, i64* %34, align 8, !dbg !2392, !tbaa !220
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:251 within `cudaLaunchDeviceV2'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:47 within `unsafe_convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%35 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 1, i64 0, !dbg !2395
; ││││└└
%36 = load i64, i64* %35, align 8, !dbg !2399, !tbaa !200
%37 = call i32 @cudaLaunchDeviceV2(i64 %19, i64 %36), !dbg !2399
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_launch'
; │││┌ @ operators.jl:204 within `!='
; ││││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not = icmp eq i32 %37, 0, !dbg !2402
; │││└└
br i1 %.not, label %L118, label %L113, !dbg !2408
L113: ; preds = %L52
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%38 = getelementptr inbounds [1 x i32], [1 x i32]* %9, i64 0, i64 0, !dbg !2409
store i32 %37, i32* %38, align 4, !dbg !2409, !tbaa !246
; │││└
call fastcc void @julia_throw_device_cuerror_24057([1 x i32]* nocapture readonly %9), !dbg !2411
call void asm sideeffect "exit;", ""() #5, !dbg !2411
br label %L118
L118: ; preds = %L113, %L52
; └└└
ret void, !dbg !2359
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:68 within `batch_step_swap'
define internal fastcc i64 @julia_batch_step_swap_24092(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4) unnamed_addr !dbg !2412 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:69 within `batch_step_swap'
; ┌ @ int.jl:86 within `-'
%5 = add i64 %0, -1, !dbg !2413
; └
; ┌ @ int.jl:262 within `rem'
switch i64 %1, label %after_srem [
i64 0, label %after_srem.thread7
i64 -1, label %after_srem5
], !dbg !2416
after_srem.thread7: ; preds = %top
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2416
call fastcc void @gpu_signal_exception67(), !dbg !2416
call void asm sideeffect "exit;", ""() #5, !dbg !2416
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:70 within `batch_step_swap'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception66(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2418
call fastcc void @gpu_signal_exception67(), !dbg !2418
call void asm sideeffect "exit;", ""() #5, !dbg !2418
%.pre = srem i64 %5, %1, !dbg !2418
br label %oksrem4, !dbg !2418
after_srem: ; preds = %top
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:69 within `batch_step_swap'
; ┌ @ int.jl:262 within `rem'
%6 = srem i64 %5, %1, !dbg !2416
%phi.bo = add i64 %6, 1, !dbg !2416
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:70 within `batch_step_swap'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
br label %oksrem4, !dbg !2418
oksrem4: ; preds = %after_srem, %after_srem.thread7
%.pre-phi = phi i64 [ %.pre, %after_srem.thread7 ], [ %6, %after_srem ], !dbg !2418
%phi.bo10 = phi i64 [ undef, %after_srem.thread7 ], [ %phi.bo, %after_srem ]
%phi.bo6 = xor i64 %.pre-phi, -1, !dbg !2418
br label %after_srem5, !dbg !2418
after_srem5: ; preds = %oksrem4, %top
%7 = phi i64 [ %phi.bo10, %oksrem4 ], [ 1, %top ]
%8 = phi i64 [ %phi.bo6, %oksrem4 ], [ -1, %top ]
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:62 within `step_swap'
; │┌ @ int.jl:86 within `-'
%9 = sub i64 %7, %2, !dbg !2422
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%10 = icmp sgt i64 %9, 0, !dbg !2425
; │└└
; │┌ @ int.jl:88 within `*'
%11 = select i1 %10, i64 %3, i64 0, !dbg !2429
; │└
; │┌ @ int.jl:87 within `+'
%12 = add i64 %4, %2, !dbg !2431
; │└
; │┌ @ int.jl:86 within `-'
%13 = sub i64 %7, %12, !dbg !2422
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%14 = icmp sgt i64 %13, 0, !dbg !2425
; │└└
; │┌ @ int.jl:87 within `+'
%15 = add i64 %4, %3, !dbg !2431
; │└
; │┌ @ int.jl:88 within `*'
%16 = select i1 %14, i64 %15, i64 0, !dbg !2429
; │└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%17 = add i64 %3, %2, !dbg !2433
%18 = add i64 %17, %4, !dbg !2433
; │└
; │┌ @ int.jl:86 within `-'
%19 = sub i64 %7, %18, !dbg !2422
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%20 = icmp sgt i64 %19, 0, !dbg !2425
; │└└
; │┌ @ int.jl:88 within `*'
%21 = select i1 %20, i64 %4, i64 0, !dbg !2429
; │└
; │┌ @ int.jl:87 within `+'
%22 = add i64 %7, %0, !dbg !2431
; │└
; │┌ @ int.jl:86 within `-'
%23 = add i64 %22, %8, !dbg !2422
; │└
; │┌ @ int.jl:87 within `+'
%24 = add i64 %23, %11, !dbg !2431
; └└
; ┌ @ int.jl:86 within `-'
%25 = sub i64 %24, %16, !dbg !2436
; └
; ┌ @ int.jl:87 within `+'
%26 = add i64 %25, %21, !dbg !2437
; └
ret i64 %26, !dbg !2421
}
define ptx_kernel void @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, i64 %1, i64 %2, i8 %3, i64 %4, i64 %5, i64 %6) local_unnamed_addr {
entry:
%7 = alloca i64, align 16
%8 = bitcast i64* %7 to i8*
%9 = alloca i64, align 16
%10 = bitcast i64* %9 to i8*
%11 = alloca { [2 x i64], i64, i64 }, align 8
%12 = alloca [1 x i32], align 4
%13 = alloca [2 x i64], align 8
%14 = alloca [1 x i32], align 4
%15 = alloca { i64, [1 x i64], i64 }, align 8
%16 = alloca [1 x i32], align 4
%17 = alloca [1 x i32], align 4
%18 = alloca { i64, [1 x i64], i64 }, align 8
%19 = alloca [1 x i32], align 4
%20 = alloca { i64, [1 x i64], i64 }, align 8
%21 = alloca { i64, [1 x i64], i64 }, align 8
%22 = alloca { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, align 8
%.fca.0.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 0
%.fca.0.0.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 0, i64 0
store i64 %.fca.0.0.0.extract, i64* %.fca.0.0.0.gep, align 8
%.fca.0.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 1
%.fca.0.0.1.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 0, i64 1
store i64 %.fca.0.0.1.extract, i64* %.fca.0.0.1.gep, align 8
%.fca.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 1
%.fca.0.1.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 0, i32 1
store i8 addrspace(1)* %.fca.0.1.extract, i8 addrspace(1)** %.fca.0.1.gep, align 8
%.fca.1.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 1, 0
%.fca.1.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 1, i32 0
store i64 %.fca.1.0.extract, i64* %.fca.1.0.gep, align 8
%.fca.1.1.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 1, 1, 0, 0
%.fca.1.1.0.0.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 1, i32 1, i64 0, i64 0
store i64 %.fca.1.1.0.0.extract, i64* %.fca.1.1.0.0.gep, align 8
%.fca.2.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 2
%.fca.2.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 2
store i64 %.fca.2.extract, i64* %.fca.2.gep, align 8
%.fca.3.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 3
%.fca.3.gep = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %22, i64 0, i32 3
store i64 %.fca.3.extract, i64* %.fca.3.gep, align 8
%23 = bitcast { [2 x i64], i64, i64 }* %11 to i8*
call void @llvm.lifetime.start.p0i8(i64 32, i8* nonnull %23)
%24 = bitcast [1 x i32]* %12 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %24)
%25 = bitcast [2 x i64]* %13 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %25)
%26 = bitcast [1 x i32]* %14 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %26)
%27 = bitcast { i64, [1 x i64], i64 }* %15 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %27)
%28 = bitcast [1 x i32]* %16 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %28)
%29 = bitcast [1 x i32]* %17 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %29)
%30 = bitcast { i64, [1 x i64], i64 }* %18 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %30)
%31 = bitcast [1 x i32]* %19 to i8*
call void @llvm.lifetime.start.p0i8(i64 4, i8* nonnull %31)
%32 = bitcast { i64, [1 x i64], i64 }* %20 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %32)
%33 = bitcast { i64, [1 x i64], i64 }* %21 to i8*
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %33)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:326 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%34 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !2438, !range !265
; │││└└
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%35 = zext i32 %34 to i64, !dbg !2452
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:327 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:49 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:108 within `+'
%36 = getelementptr [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_687, i64 0, i64 %35, !dbg !2456
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:328 within `qsort_kernel'
; ┌ @ int.jl:87 within `+'
%37 = shl nuw nsw i64 %35, 4, !dbg !2460
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:329 within `qsort_kernel'
; ┌ @ int.jl:86 within `-'
%38 = sub i64 %2, %1, !dbg !2463
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %38, %35, !dbg !2466
; └
%39 = bitcast i8 addrspace(1)* %.fca.0.1.extract to i64 addrspace(1)*, !dbg !2468
br i1 %.not, label %L77.i, label %L88.i, !dbg !2468
L77.i: ; preds = %entry
; ┌ @ int.jl:261 within `div'
%40 = sdiv i64 %38, %35, !dbg !2469
br label %L88.i, !dbg !2469
L88.i: ; preds = %L77.i, %entry
%value_phi.i = phi i64 [ %40, %L77.i ], [ 1, %entry ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:246 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2471
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:247 within `bubble_sort'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not95 = icmp slt i64 %38, %35, !dbg !2475
; ││└
%41 = select i1 %.not95, i64 %38, i64 %35, !dbg !2477
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:249 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%42 = call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !2480, !range !410
; │││└└
; │││┌ @ int.jl:87 within `+'
%narrow = add nuw nsw i32 %42, 1, !dbg !2488
%43 = zext i32 %narrow to i64, !dbg !2488
; │└└└
; │┌ @ int.jl:442 within `<='
%.not96 = icmp slt i64 %41, %43, !dbg !2489
; │└
br i1 %.not96, label %L201.i, label %L115.i, !dbg !2487
L115.i: ; preds = %L88.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:250 within `bubble_sort'
; │┌ @ int.jl:88 within `*'
%44 = mul i64 %value_phi.i, %43, !dbg !2490
; │└
; │┌ @ int.jl:87 within `+'
%45 = add i64 %44, %1, !dbg !2493
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%46 = icmp slt i64 %45, 1, !dbg !2494
%47 = icmp sgt i64 %45, %.fca.1.1.0.0.extract, !dbg !2494
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%48 = or i1 %46, %47, !dbg !2499
br i1 %48, label %L139.i, label %L138.i, !dbg !2499
L138.i: ; preds = %L139.i, %L115.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%49 = mul i64 %.fca.3.extract, %45, !dbg !2502
; ││└
; ││┌ @ int.jl:87 within `+'
%50 = add i64 %.fca.2.extract, %49, !dbg !2504
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%51 = mul i64 %.fca.0.0.1.extract, %.fca.0.0.0.extract, !dbg !2505
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%52 = icmp sgt i64 %51, 0, !dbg !2518
%53 = select i1 %52, i64 %51, i64 0, !dbg !2518
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%54 = icmp slt i64 %50, 1, !dbg !2525
%55 = icmp sgt i64 %50, %53, !dbg !2525
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%56 = or i1 %54, %55, !dbg !2513
br i1 %56, label %L160.i, label %L159.i, !dbg !2513
L139.i: ; preds = %L115.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2499
call fastcc void @gpu_signal_exception69(), !dbg !2499
call void asm sideeffect "exit;", ""() #5, !dbg !2499
call void asm sideeffect "exit;", ""() #5, !dbg !2499
br label %L138.i
L159.i: ; preds = %L160.i, %L138.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%57 = add i64 %50, -1, !dbg !2527
; ││││││└
%58 = getelementptr inbounds i64, i64 addrspace(1)* %39, i64 %57, !dbg !2528
%59 = load i64, i64 addrspace(1)* %58, align 8, !dbg !2528, !tbaa !459
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%60 = zext i32 %42 to i64, !dbg !2536
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not98 = icmp ult i32 %42, %34, !dbg !2540
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not98, label %L190.i, label %L191.i, !dbg !2543
L160.i: ; preds = %L138.i
; │└└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2513
call fastcc void @gpu_signal_exception69(), !dbg !2513
call void asm sideeffect "exit;", ""() #5, !dbg !2513
call void asm sideeffect "exit;", ""() #5, !dbg !2513
br label %L159.i
L190.i: ; preds = %L191.i, %L159.i
; │└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%61 = getelementptr inbounds i64, i64 addrspace(3)* %36, i64 %60, !dbg !2548
store i64 %59, i64 addrspace(3)* %61, align 8, !dbg !2548, !tbaa !478
; ││└└└└
br label %L201.i, !dbg !2546
L191.i: ; preds = %L159.i
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2543
call fastcc void @gpu_signal_exception69(), !dbg !2543
call void asm sideeffect "exit;", ""() #5, !dbg !2543
call void asm sideeffect "exit;", ""() #5, !dbg !2543
br label %L190.i
L201.i: ; preds = %L190.i, %L88.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:252 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2555
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv = icmp sgt i64 %41, -1, !dbg !2557
%62 = select i1 %.inv, i64 %41, i64 -1, !dbg !2557
; │└└└
br i1 %.inv, label %L213.i.preheader, label %L396.i, !dbg !2563
L213.i.preheader: ; preds = %L201.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl within `toInt64'
%63 = zext i32 %42 to i64, !dbg !2564
; │└└└└
; │┌ @ int.jl within `rem'
%narrow99 = and i32 %42, 1, !dbg !2569
%64 = xor i32 %narrow99, 1, !dbg !2569
%65 = zext i32 %64 to i64, !dbg !2569
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not111 = icmp ult i32 %42, %34, !dbg !2571
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%66 = getelementptr inbounds i64, i64 addrspace(3)* %36, i64 %63, !dbg !2578
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
br label %L213.i, !dbg !2583
L213.i: ; preds = %L384.i, %L213.i.preheader
%value_phi4.i = phi i64 [ %82, %L384.i ], [ 0, %L213.i.preheader ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:255 within `bubble_sort'
; │┌ @ int.jl:262 within `rem'
%67 = srem i64 %value_phi4.i, 2, !dbg !2584
; │└
; │┌ @ operators.jl:204 within `!='
; ││┌ @ promotion.jl:410 within `=='
%.not100 = icmp eq i64 %67, %65, !dbg !2585
; │└└
; │┌ @ int.jl:88 within `*'
%68 = select i1 %.not100, i64 0, i64 2, !dbg !2589
; │└
; │┌ @ int.jl:87 within `+'
%69 = add nuw nsw i64 %68, %63, !dbg !2590
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:256 within `bubble_sort'
; │┌ @ int.jl:442 within `<='
%.not101 = icmp eq i64 %69, 0, !dbg !2591
; │└
%70 = icmp sgt i64 %69, %41, !dbg !2583
%71 = or i1 %.not101, %70, !dbg !2583
%brmerge = or i1 %71, %.not96, !dbg !2583
br i1 %brmerge, label %L287.i, label %L267.i, !dbg !2583
L267.i: ; preds = %L213.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:257 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
%72 = add nsw i64 %69, -1, !dbg !2592
%.not105 = icmp ult i64 %72, %35, !dbg !2592
br i1 %.not105, label %L275.i, label %L276.i, !dbg !2592
L275.i: ; preds = %L276.i, %L267.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%73 = getelementptr inbounds i64, i64 addrspace(3)* %36, i64 %72, !dbg !2596
%74 = load i64, i64 addrspace(3)* %73, align 8, !dbg !2596, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:253 within `bubble_sort'
; │┌ @ range.jl:670 within `iterate'
br label %L287.i, !dbg !2601
L276.i: ; preds = %L267.i
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:257 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2592
call fastcc void @gpu_signal_exception69(), !dbg !2592
call void asm sideeffect "exit;", ""() #5, !dbg !2592
call void asm sideeffect "exit;", ""() #5, !dbg !2592
br label %L275.i
L287.i: ; preds = %L275.i, %L213.i
%value_phi12.i = phi i64 [ %74, %L275.i ], [ 0, %L213.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:261 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2603
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:262 within `bubble_sort'
br i1 %brmerge, label %L384.i, label %L309.i, !dbg !2605
L309.i: ; preds = %L287.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:263 within `bubble_sort'
; │┌ @ int.jl:83 within `<'
%75 = icmp ule i64 %69, %43, !dbg !2606
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not111, label %L340.i, label %L340.i.thread, !dbg !2574
L340.i: ; preds = %L309.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%76 = load i64, i64 addrspace(3)* %66, align 8, !dbg !2607, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%77 = icmp slt i64 %76, %value_phi12.i, !dbg !2608
; │└└└
%78 = xor i1 %75, %77, !dbg !2577
br i1 %78, label %L384.i, label %L373.i, !dbg !2577
L340.i.thread: ; preds = %L309.i
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2574
call fastcc void @gpu_signal_exception69(), !dbg !2574
call void asm sideeffect "exit;", ""() #5, !dbg !2574
call void asm sideeffect "exit;", ""() #5, !dbg !2574
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%79 = load i64, i64 addrspace(3)* %66, align 8, !dbg !2607, !tbaa !478
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
; ││┌ @ operators.jl:357 within `isless'
; │││┌ @ int.jl:83 within `<'
%80 = icmp slt i64 %79, %value_phi12.i, !dbg !2608
; │└└└
%81 = xor i1 %75, %80, !dbg !2577
br i1 %81, label %L384.i, label %L374.i, !dbg !2577
L373.i: ; preds = %L374.i, %L340.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:264 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %value_phi12.i, i64 addrspace(3)* %66, align 8, !dbg !2613, !tbaa !478
; ││└└└└
br label %L384.i, !dbg !2618
L374.i: ; preds = %L340.i.thread
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2620
call fastcc void @gpu_signal_exception69(), !dbg !2620
call void asm sideeffect "exit;", ""() #5, !dbg !2620
call void asm sideeffect "exit;", ""() #5, !dbg !2620
br label %L373.i
L384.i: ; preds = %L373.i, %L340.i.thread, %L340.i, %L287.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2622
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not116.not = icmp eq i64 %value_phi4.i, %62, !dbg !2624
; ││└
%82 = add i64 %value_phi4.i, 1, !dbg !2625
; │└
br i1 %.not116.not, label %L396.i, label %L213.i, !dbg !2623
L396.i: ; preds = %L384.i, %L201.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:269 within `bubble_sort'
br i1 %.not96, label %L496.i, label %L409.i, !dbg !2626
L409.i: ; preds = %L396.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:270 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%83 = zext i32 %42 to i64, !dbg !2627
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not119 = icmp ult i32 %42, %34, !dbg !2632
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not119, label %L428.i, label %L429.i, !dbg !2635
L428.i: ; preds = %L429.i, %L409.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%84 = getelementptr inbounds i64, i64 addrspace(3)* %36, i64 %83, !dbg !2638
%85 = load i64, i64 addrspace(3)* %84, align 8, !dbg !2638, !tbaa !478
; │└└└└└
; │┌ @ int.jl:88 within `*'
%86 = mul i64 %value_phi.i, %43, !dbg !2643
; │└
; │┌ @ int.jl:87 within `+'
%87 = add i64 %86, %1, !dbg !2644
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%88 = icmp slt i64 %87, 1, !dbg !2645
%89 = icmp sgt i64 %87, %.fca.1.1.0.0.extract, !dbg !2645
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%90 = or i1 %88, %89, !dbg !2648
br i1 %90, label %L462.i, label %L461.i, !dbg !2648
L429.i: ; preds = %L409.i
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2635
call fastcc void @gpu_signal_exception69(), !dbg !2635
call void asm sideeffect "exit;", ""() #5, !dbg !2635
call void asm sideeffect "exit;", ""() #5, !dbg !2635
br label %L428.i
L461.i: ; preds = %L462.i, %L428.i
; │└└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%91 = mul i64 %.fca.3.extract, %87, !dbg !2651
; ││└
; ││┌ @ int.jl:87 within `+'
%92 = add i64 %.fca.2.extract, %91, !dbg !2653
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%93 = mul i64 %.fca.0.0.1.extract, %.fca.0.0.0.extract, !dbg !2654
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%94 = icmp sgt i64 %93, 0, !dbg !2662
%95 = select i1 %94, i64 %93, i64 0, !dbg !2662
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%96 = icmp slt i64 %92, 1, !dbg !2666
%97 = icmp sgt i64 %92, %95, !dbg !2666
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%98 = or i1 %96, %97, !dbg !2659
br i1 %98, label %L483.i, label %L482.i, !dbg !2659
L462.i: ; preds = %L428.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2648
call fastcc void @gpu_signal_exception69(), !dbg !2648
call void asm sideeffect "exit;", ""() #5, !dbg !2648
call void asm sideeffect "exit;", ""() #5, !dbg !2648
br label %L461.i
L482.i: ; preds = %L483.i, %L461.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%99 = add i64 %92, -1, !dbg !2668
; ││││││└
%100 = getelementptr inbounds i64, i64 addrspace(1)* %39, i64 %99, !dbg !2669
store i64 %85, i64 addrspace(1)* %100, align 8, !dbg !2669, !tbaa !459
; │└└└└└
br label %L496.i, !dbg !2631
L483.i: ; preds = %L461.i
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2659
call fastcc void @gpu_signal_exception69(), !dbg !2659
call void asm sideeffect "exit;", ""() #5, !dbg !2659
call void asm sideeffect "exit;", ""() #5, !dbg !2659
br label %L482.i
L496.i: ; preds = %L482.i, %L396.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:273 within `bubble_sort'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2674
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:349 within `qsort_kernel'
br i1 %.not, label %L511.i, label %L510.i, !dbg !2676
L510.i: ; preds = %L496.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:350 within `qsort_kernel'
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %23), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %24), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %25), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %26), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %28), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %29), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %30), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %31), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %32), !dbg !2677
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %33), !dbg !2677
br label %_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit, !dbg !2677
L511.i: ; preds = %L496.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:353 within `qsort_kernel'
; ┌ @ int.jl:261 within `div'
%101 = lshr i32 %34, 1, !dbg !2678
%102 = zext i32 %101 to i64, !dbg !2678
%103 = sdiv i64 %38, %35, !dbg !2678
; └
; ┌ @ int.jl:88 within `*'
%104 = mul i64 %103, %102, !dbg !2680
; └
; ┌ @ int.jl:87 within `+'
%105 = add i64 %104, %1, !dbg !2681
; └
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%106 = icmp slt i64 %105, 1, !dbg !2682
%107 = load i64, i64* %.fca.1.1.0.0.gep, align 8, !dbg !2682
%108 = icmp sgt i64 %105, %107, !dbg !2682
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%109 = or i1 %106, %108, !dbg !2685
br i1 %109, label %L546.i, label %L545.i, !dbg !2685
L545.i: ; preds = %L546.i, %L511.i
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%110 = load i64, i64* %.fca.3.gep, align 8, !dbg !2687
%111 = mul i64 %110, %105, !dbg !2687
; │└
; │┌ @ int.jl:87 within `+'
%112 = load i64, i64* %.fca.2.gep, align 8, !dbg !2689
%113 = add i64 %112, %111, !dbg !2689
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl:88 within `*'
%114 = load i64, i64* %.fca.0.0.0.gep, align 8, !dbg !2690
%115 = load i64, i64* %.fca.0.0.1.gep, align 8, !dbg !2690
%116 = mul i64 %115, %114, !dbg !2690
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl:421 within `max'
%117 = icmp sgt i64 %116, 0, !dbg !2698
%118 = select i1 %117, i64 %116, i64 0, !dbg !2698
; │││└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%119 = icmp slt i64 %113, 1, !dbg !2702
%120 = icmp sgt i64 %113, %118, !dbg !2702
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%121 = or i1 %119, %120, !dbg !2695
br i1 %121, label %L567.i, label %L566.i, !dbg !2695
L546.i: ; preds = %L511.i
; └└└
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2685
call fastcc void @gpu_signal_exception69(), !dbg !2685
call void asm sideeffect "exit;", ""() #5, !dbg !2685
call void asm sideeffect "exit;", ""() #5, !dbg !2685
br label %L545.i
L566.i: ; preds = %L567.i, %L545.i
; └└
; ┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%122 = add i64 %113, -1, !dbg !2704
; │││││└
%123 = bitcast i8 addrspace(1)** %.fca.0.1.gep to i64 addrspace(1)**, !dbg !2705
%124 = load i64 addrspace(1)*, i64 addrspace(1)** %123, align 8, !dbg !2705
%125 = getelementptr inbounds i64, i64 addrspace(1)* %124, i64 %122, !dbg !2705
%126 = load i64, i64 addrspace(1)* %125, align 8, !dbg !2705, !tbaa !459
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:282 within `call_batch_partition'
; │┌ @ promotion.jl:410 within `=='
%.not125 = icmp eq i32 %42, 0, !dbg !2710
; │└
br i1 %.not125, label %L592.i, label %L566.i.L664.i_crit_edge, !dbg !2711
L566.i.L664.i_crit_edge: ; preds = %L566.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ int.jl:93 within `/'
; │││┌ @ float.jl:206 within `float'
; ││││┌ @ float.jl:191 within `AbstractFloat'
; │││││┌ @ float.jl:94 within `Float64'
%.pre = sitofp i64 %38 to double, !dbg !2714
%.pre165 = uitofp i32 %34 to double, !dbg !2714
; │││└└└
; │││ @ int.jl:93 within `/' @ float.jl:335
%.pre167 = fdiv double %.pre, %.pre165, !dbg !2727
; ││└
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%.pre169 = call double @llvm.ceil.f64(double %.pre167), !dbg !2729
; └└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:282 within `call_batch_partition'
br label %L664.i, !dbg !2711
L567.i: ; preds = %L545.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:353 within `qsort_kernel'
; ┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2695
call fastcc void @gpu_signal_exception69(), !dbg !2695
call void asm sideeffect "exit;", ""() #5, !dbg !2695
call void asm sideeffect "exit;", ""() #5, !dbg !2695
br label %L566.i
L592.i: ; preds = %L566.i
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:356 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:283 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; ││┌ @ int.jl:93 within `/'
; │││┌ @ float.jl:206 within `float'
; ││││┌ @ float.jl:191 within `AbstractFloat'
; │││││┌ @ float.jl:94 within `Float64'
%127 = sitofp i64 %38 to double, !dbg !2733
%128 = uitofp i32 %34 to double, !dbg !2733
; │││└└└
; │││ @ int.jl:93 within `/' @ float.jl:335
%129 = fdiv double %127, %128, !dbg !2740
; ││└
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%130 = call double @llvm.ceil.f64(double %129), !dbg !2741
; │││└
; │││┌ @ float.jl:713 within `trunc'
; ││││┌ @ float.jl:374 within `<='
%131 = fcmp ult double %130, 0xC3E0000000000000, !dbg !2743
; ││││└
%132 = fcmp uge double %130, 0x43E0000000000000, !dbg !2745
%133 = or i1 %131, %132, !dbg !2745
br i1 %133, label %L617.i, label %L615.i, !dbg !2745
L615.i: ; preds = %L617.i, %L592.i
; │││└
; │││┌ @ float.jl:714 within `trunc'
; ││││┌ @ float.jl:239 within `unsafe_trunc'
%134 = fptosi double %130 to i64, !dbg !2747
; ││└└└
; ││┌ @ int.jl:88 within `*'
%135 = shl nuw nsw i32 %34, 4, !dbg !2750
%136 = zext i32 %135 to i64, !dbg !2750
; ││└
; ││┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%.sroa.039.0..sroa_idx = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 0, i64 0, !dbg !2751
store i64 1, i64* %.sroa.039.0..sroa_idx, align 8, !dbg !2751, !tbaa !246
%.sroa.5.0..sroa_idx42 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 0, i64 1, !dbg !2751
store i64 %134, i64* %.sroa.5.0..sroa_idx42, align 8, !dbg !2751, !tbaa !246
%137 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 1, !dbg !2751
store i64 %35, i64* %137, align 8, !dbg !2751, !tbaa !246
%138 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %11, i64 0, i32 2, !dbg !2751
store i64 %136, i64* %138, align 8, !dbg !2751, !tbaa !246
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; ││││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24336({ [2 x i64], i64, i64 }* nocapture readonly %11, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i64, i8)* @_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %126, i64 %1, i64 %2, i8 %3), !dbg !2754
; └└└└└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:286 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_synchronize'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:37 within `cudaDeviceSynchronize'
%139 = call i32 @cudaDeviceSynchronize(), !dbg !2767
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_synchronize'
; ││┌ @ operators.jl:204 within `!='
; │││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not127 = icmp eq i32 %139, 0, !dbg !2772
; ││└└
br i1 %.not127, label %L664.i, label %L658.i, !dbg !2776
L617.i: ; preds = %L592.i
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:283 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2777
call fastcc void @gpu_signal_exception69(), !dbg !2777
call void asm sideeffect "exit;", ""() #5, !dbg !2777
br label %L615.i
L658.i: ; preds = %L615.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:286 within `call_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_synchronize'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%140 = getelementptr inbounds [1 x i32], [1 x i32]* %12, i64 0, i64 0, !dbg !2778
store i32 %139, i32* %140, align 4, !dbg !2778, !tbaa !246
; ││└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %12), !dbg !2780
call void asm sideeffect "exit;", ""() #5, !dbg !2780
br label %L664.i
L664.i: ; preds = %L658.i, %L615.i, %L566.i.L664.i_crit_edge
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:304 within `round'
%.pre-phi170 = phi double [ %.pre169, %L566.i.L664.i_crit_edge ], [ %130, %L615.i ], [ %130, %L658.i ], !dbg !2729
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:184 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2781
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:713 within `trunc'
; ││││┌ @ float.jl:374 within `<='
%141 = fcmp ult double %.pre-phi170, 0xC3E0000000000000, !dbg !2783
; ││││└
%142 = fcmp uge double %.pre-phi170, 0x43E0000000000000, !dbg !2784
%143 = or i1 %141, %142, !dbg !2784
br i1 %143, label %L688.i, label %L686.i, !dbg !2784
L686.i: ; preds = %L688.i, %L664.i
; │││└
; │││┌ @ float.jl:714 within `trunc'
; ││││┌ @ float.jl:239 within `unsafe_trunc'
%144 = fptosi double %.pre-phi170 to i64, !dbg !2785
; │└└└└
; │┌ @ range.jl:5 within `Colon'
; ││┌ @ range.jl:287 within `UnitRange'
; │││┌ @ range.jl:292 within `unitrange_last'
%.inv129 = icmp sgt i64 %144, 0, !dbg !2787
%145 = select i1 %.inv129, i64 %144, i64 0, !dbg !2787
; │└└└
br i1 %.inv129, label %L704.i.preheader, label %L1210.i, !dbg !2724
L704.i.preheader: ; preds = %L686.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl within `+'
%146 = add nsw i64 %43, -1, !dbg !2790
; └└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl within `toInt64'
%147 = zext i32 %42 to i64, !dbg !2794
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl within `<='
%.not137 = icmp ult i32 %42, %34, !dbg !2799
; ││└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%148 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %147, !dbg !2805
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `consolidate_batch_partition'
%149 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 0, !dbg !2810
%150 = getelementptr inbounds [2 x i64], [2 x i64]* %13, i64 0, i64 1, !dbg !2810
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
br label %L704.i, !dbg !2811
L688.i: ; preds = %L664.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:192 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2812
call fastcc void @gpu_signal_exception69(), !dbg !2812
call void asm sideeffect "exit;", ""() #5, !dbg !2812
br label %L686.i
L704.i: ; preds = %L1196.i, %L704.i.preheader
%value_phi26.i = phi i64 [ %231, %L1196.i ], [ 1, %L704.i.preheader ]
%value_phi28.i = phi i64 [ %230, %L1196.i ], [ 0, %L704.i.preheader ]
%value_phi29.i = phi i64 [ %229, %L1196.i ], [ 0, %L704.i.preheader ]
%value_phi30.i = phi i64 [ %value_phi37.i, %L1196.i ], [ 0, %L704.i.preheader ]
%.urem = urem i64 %value_phi26.i, %35
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:193 within `consolidate_batch_partition'
; │┌ @ promotion.jl:410 within `=='
%.not130 = icmp eq i64 %.urem, 1, !dbg !2813
; │└
br i1 %.not130, label %L722.i, label %L881.i, !dbg !2811
L722.i: ; preds = %L704.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:194 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:186 within `batch'
; ││┌ @ int.jl:88 within `*'
%151 = mul i64 %value_phi30.i, %35, !dbg !2814
; ││└
; ││┌ @ int.jl:87 within `+'
%152 = add i64 %151, %43, !dbg !2817
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:713 within `trunc'
br i1 %143, label %L768.i, label %L766.i, !dbg !2818
L766.i: ; preds = %L768.i, %L722.i
; │└└└
; │┌ @ int.jl:442 within `<='
%.not133 = icmp sgt i64 %152, %144, !dbg !2821
; │└
br i1 %.not133, label %L880.i, label %L775.i, !dbg !2816
L768.i: ; preds = %L722.i
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:185 within `N_b'
; ││┌ @ float.jl:295 within `ceil'
; │││┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !2822
call fastcc void @gpu_signal_exception69(), !dbg !2822
call void asm sideeffect "exit;", ""() #5, !dbg !2822
br label %L766.i
L775.i: ; preds = %L766.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:195 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%153 = add i64 %146, %151, !dbg !2823
; │└
; │┌ @ int.jl:88 within `*'
%154 = mul i64 %153, %35, !dbg !2824
; │└
; │┌ @ int.jl:87 within `+'
%155 = add i64 %154, %1, !dbg !2825
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:196 within `consolidate_batch_partition'
; │┌ @ int.jl:88 within `*'
%156 = mul i64 %152, %35, !dbg !2826
; │└
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not136 = icmp slt i64 %156, %38, !dbg !2828
; ││└
%157 = select i1 %.not136, i64 %156, i64 %38, !dbg !2829
; │└
; │┌ @ int.jl:87 within `+'
%158 = add i64 %157, %1, !dbg !2830
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:197 within `consolidate_batch_partition'
%159 = call fastcc i64 @julia_find_partition_24331({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %126, i64 %155, i64 %158, i8 %3), !dbg !2798
; │┌ @ int.jl:86 within `-'
%160 = sub i64 %158, %159, !dbg !2831
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not137, label %L869.i, label %L870.i, !dbg !2802
L869.i: ; preds = %L870.i, %L775.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
store i64 %160, i64 addrspace(3)* %148, align 8, !dbg !2832, !tbaa !478
; ││└└└└
br label %L880.i, !dbg !2804
L870.i: ; preds = %L775.i
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2802
call fastcc void @gpu_signal_exception69(), !dbg !2802
call void asm sideeffect "exit;", ""() #5, !dbg !2802
call void asm sideeffect "exit;", ""() #5, !dbg !2802
br label %L869.i
L880.i: ; preds = %L869.i, %L766.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:200 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%161 = add i64 %value_phi30.i, 1, !dbg !2833
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L881.i, !dbg !2625
L881.i: ; preds = %L880.i, %L704.i
%value_phi37.i = phi i64 [ %161, %L880.i ], [ %value_phi30.i, %L704.i ]
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `consolidate_batch_partition'
store i64 %38, i64* %149, align 8, !dbg !2835, !tbaa !246
store i64 %value_phi26.i, i64* %150, align 8, !dbg !2835, !tbaa !246
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:211 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2836
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:212 within `consolidate_batch_partition'
; │┌ @ int.jl:86 within `-'
%162 = add i64 %value_phi37.i, -1, !dbg !2838
; │└
; │┌ @ int.jl:88 within `*'
%163 = mul i64 %162, %35, !dbg !2840
; │└
; │┌ @ int.jl:86 within `-'
%164 = sub i64 %value_phi26.i, %163, !dbg !2838
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%165 = icmp slt i64 %164, 1, !dbg !2841
%166 = icmp sgt i64 %164, %35, !dbg !2841
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%167 = or i1 %165, %166, !dbg !2844
br i1 %167, label %L906.i, label %L905.i, !dbg !2844
L905.i: ; preds = %L906.i, %L881.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%168 = add i64 %164, -1, !dbg !2847
; ││││││└
%169 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_686, i64 0, i64 %168, !dbg !2848
%170 = load i64, i64 addrspace(3)* %169, align 8, !dbg !2848, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:213 within `consolidate_batch_partition'
%171 = call fastcc i64 @julia_n_eff_24317([2 x i64]* nocapture readonly %13), !dbg !2853
; │┌ @ int.jl:86 within `-'
%172 = sub i64 %171, %170, !dbg !2854
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:214 within `consolidate_batch_partition'
; │┌ @ promotion.jl:422 within `min'
; ││┌ @ int.jl:83 within `<'
%.not138 = icmp slt i64 %172, %value_phi28.i, !dbg !2855
; ││└
%173 = select i1 %.not138, i64 %172, i64 %value_phi28.i, !dbg !2856
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:215 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2858
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:216 within `consolidate_batch_partition'
; │┌ @ int.jl:442 within `<='
%.not140 = icmp slt i64 %173, %43, !dbg !2860
; │└
br i1 %.not140, label %L991.i, label %L933.i, !dbg !2861
L906.i: ; preds = %L881.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:212 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2844
call fastcc void @gpu_signal_exception69(), !dbg !2844
call void asm sideeffect "exit;", ""() #5, !dbg !2844
call void asm sideeffect "exit;", ""() #5, !dbg !2844
br label %L905.i
L933.i: ; preds = %L905.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:217 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%174 = add i64 %value_phi29.i, %1, !dbg !2862
%175 = add i64 %174, %43, !dbg !2862
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%176 = icmp slt i64 %175, 1, !dbg !2866
%177 = icmp sgt i64 %175, %107, !dbg !2866
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%178 = or i1 %176, %177, !dbg !2869
br i1 %178, label %L957.i, label %L956.i, !dbg !2869
L956.i: ; preds = %L957.i, %L933.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%179 = mul i64 %110, %175, !dbg !2871
; ││└
; ││┌ @ int.jl:87 within `+'
%180 = add i64 %112, %179, !dbg !2873
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%181 = icmp slt i64 %180, 1, !dbg !2874
%182 = icmp sgt i64 %180, %118, !dbg !2874
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%183 = or i1 %181, %182, !dbg !2877
br i1 %183, label %L978.i, label %L977.i, !dbg !2877
L957.i: ; preds = %L933.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2869
call fastcc void @gpu_signal_exception69(), !dbg !2869
call void asm sideeffect "exit;", ""() #5, !dbg !2869
call void asm sideeffect "exit;", ""() #5, !dbg !2869
br label %L956.i
L977.i: ; preds = %L978.i, %L956.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%184 = add i64 %180, -1, !dbg !2880
; ││││││└
%185 = getelementptr inbounds i64, i64 addrspace(1)* %124, i64 %184, !dbg !2881
%186 = load i64, i64 addrspace(1)* %185, align 8, !dbg !2881, !tbaa !459
; └└└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:347 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:267 within `bubble_sort'
; │┌ @ range.jl:674 within `iterate'
br label %L991.i, !dbg !2625
L978.i: ; preds = %L956.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:362 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:217 within `consolidate_batch_partition'
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2877
call fastcc void @gpu_signal_exception69(), !dbg !2877
call void asm sideeffect "exit;", ""() #5, !dbg !2877
call void asm sideeffect "exit;", ""() #5, !dbg !2877
br label %L977.i
L991.i: ; preds = %L977.i, %L905.i
%value_phi38.i = phi i64 [ %186, %L977.i ], [ 0, %L905.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:221 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2886
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:222 within `consolidate_batch_partition'
br i1 %.not140, label %L1122.i, label %L1006.i, !dbg !2888
L1006.i: ; preds = %L991.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:223 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%187 = add i64 %value_phi29.i, %1, !dbg !2889
%188 = add i64 %187, %value_phi28.i, !dbg !2889
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%189 = add i64 %188, %172, !dbg !2892
; │└└└
; │┌ @ int.jl:86 within `-'
%190 = sub i64 %189, %173, !dbg !2895
; │└
; │┌ @ int.jl:87 within `+'
%191 = add i64 %190, %43, !dbg !2896
; │└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%192 = icmp slt i64 %191, 1, !dbg !2897
%193 = icmp sgt i64 %191, %107, !dbg !2897
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%194 = or i1 %192, %193, !dbg !2900
br i1 %194, label %L1033.i, label %L1032.i, !dbg !2900
L1032.i: ; preds = %L1033.i, %L1006.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%195 = mul i64 %110, %191, !dbg !2902
; ││└
; ││┌ @ int.jl:87 within `+'
%196 = add i64 %112, %195, !dbg !2904
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%197 = icmp slt i64 %196, 1, !dbg !2905
%198 = icmp sgt i64 %196, %118, !dbg !2905
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%199 = or i1 %197, %198, !dbg !2908
br i1 %199, label %L1054.i, label %L1053.i, !dbg !2908
L1033.i: ; preds = %L1006.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2900
call fastcc void @gpu_signal_exception69(), !dbg !2900
call void asm sideeffect "exit;", ""() #5, !dbg !2900
call void asm sideeffect "exit;", ""() #5, !dbg !2900
br label %L1032.i
L1053.i: ; preds = %L1054.i, %L1032.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%200 = add i64 %196, -1, !dbg !2911
; ││││││└
%201 = getelementptr inbounds i64, i64 addrspace(1)* %124, i64 %200, !dbg !2912
%202 = load i64, i64 addrspace(1)* %201, align 8, !dbg !2912, !tbaa !459
; │└└└└└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%203 = add i64 %187, %43, !dbg !2889
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%204 = icmp slt i64 %203, 1, !dbg !2917
%205 = icmp sgt i64 %203, %107, !dbg !2917
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%206 = or i1 %204, %205, !dbg !2920
br i1 %206, label %L1089.i, label %L1088.i, !dbg !2920
L1054.i: ; preds = %L1032.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2908
call fastcc void @gpu_signal_exception69(), !dbg !2908
call void asm sideeffect "exit;", ""() #5, !dbg !2908
call void asm sideeffect "exit;", ""() #5, !dbg !2908
br label %L1053.i
L1088.i: ; preds = %L1089.i, %L1053.i
; │└└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%207 = mul i64 %110, %203, !dbg !2922
; ││└
; ││┌ @ int.jl:87 within `+'
%208 = add i64 %112, %207, !dbg !2924
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%209 = icmp slt i64 %208, 1, !dbg !2925
%210 = icmp sgt i64 %208, %118, !dbg !2925
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%211 = or i1 %209, %210, !dbg !2928
br i1 %211, label %L1110.i, label %L1109.i, !dbg !2928
L1089.i: ; preds = %L1053.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2920
call fastcc void @gpu_signal_exception69(), !dbg !2920
call void asm sideeffect "exit;", ""() #5, !dbg !2920
call void asm sideeffect "exit;", ""() #5, !dbg !2920
br label %L1088.i
L1109.i: ; preds = %L1110.i, %L1088.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%212 = add i64 %208, -1, !dbg !2931
; ││││││└
%213 = getelementptr inbounds i64, i64 addrspace(1)* %124, i64 %212, !dbg !2932
store i64 %202, i64 addrspace(1)* %213, align 8, !dbg !2932, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1122.i, !dbg !2937
L1110.i: ; preds = %L1088.i
; │└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2928
call fastcc void @gpu_signal_exception69(), !dbg !2928
call void asm sideeffect "exit;", ""() #5, !dbg !2928
call void asm sideeffect "exit;", ""() #5, !dbg !2928
br label %L1109.i
L1122.i: ; preds = %L1109.i, %L991.i
%.not140.pr = phi i1 [ false, %L1109.i ], [ true, %L991.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:225 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2938
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:226 within `consolidate_batch_partition'
br i1 %.not140.pr, label %L1196.i, label %L1136.i, !dbg !2940
L1136.i: ; preds = %L1122.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:227 within `consolidate_batch_partition'
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%214 = add i64 %value_phi29.i, %1, !dbg !2941
%215 = add i64 %214, %value_phi28.i, !dbg !2941
; ││ @ operators.jl:540 within `+'
; ││┌ @ operators.jl:527 within `afoldl'
; │││┌ @ int.jl:87 within `+'
%216 = add i64 %215, %172, !dbg !2944
; │└└└
; │┌ @ int.jl:86 within `-'
%217 = sub i64 %216, %173, !dbg !2946
; │└
; │┌ @ int.jl:87 within `+'
%218 = add i64 %217, %43, !dbg !2947
; │└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%219 = icmp slt i64 %218, 1, !dbg !2948
%220 = icmp sgt i64 %218, %107, !dbg !2948
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%221 = or i1 %219, %220, !dbg !2951
br i1 %221, label %L1163.i, label %L1162.i, !dbg !2951
L1162.i: ; preds = %L1163.i, %L1136.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%222 = mul i64 %110, %218, !dbg !2953
; ││└
; ││┌ @ int.jl:87 within `+'
%223 = add i64 %112, %222, !dbg !2955
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%224 = icmp slt i64 %223, 1, !dbg !2956
%225 = icmp sgt i64 %223, %118, !dbg !2956
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%226 = or i1 %224, %225, !dbg !2959
br i1 %226, label %L1184.i, label %L1183.i, !dbg !2959
L1163.i: ; preds = %L1136.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2951
call fastcc void @gpu_signal_exception69(), !dbg !2951
call void asm sideeffect "exit;", ""() #5, !dbg !2951
call void asm sideeffect "exit;", ""() #5, !dbg !2951
br label %L1162.i
L1183.i: ; preds = %L1184.i, %L1162.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%227 = add i64 %223, -1, !dbg !2962
; ││││││└
%228 = getelementptr inbounds i64, i64 addrspace(1)* %124, i64 %227, !dbg !2963
store i64 %value_phi38.i, i64 addrspace(1)* %228, align 8, !dbg !2963, !tbaa !459
; │└└└└└
; │┌ @ subarray.jl:326 within `setindex!'
br label %L1196.i, !dbg !2968
L1184.i: ; preds = %L1162.i
; │└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !2959
call fastcc void @gpu_signal_exception69(), !dbg !2959
call void asm sideeffect "exit;", ""() #5, !dbg !2959
call void asm sideeffect "exit;", ""() #5, !dbg !2959
br label %L1183.i
L1196.i: ; preds = %L1183.i, %L1122.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:229 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2969
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:230 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%229 = add i64 %172, %value_phi29.i, !dbg !2971
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:231 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%230 = add i64 %170, %value_phi28.i, !dbg !2973
; │└
; │┌ @ range.jl:674 within `iterate'
; ││┌ @ promotion.jl:410 within `=='
%.not153.not = icmp eq i64 %value_phi26.i, %145, !dbg !2975
; ││└
%231 = add nuw i64 %value_phi26.i, 1, !dbg !2976
; │└
br i1 %.not153.not, label %L1210.i, label %L704.i, !dbg !2974
L1210.i: ; preds = %L1196.i, %L686.i
%value_phi42.i = phi i64 [ 0, %L686.i ], [ %229, %L1196.i ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:234 within `consolidate_batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !2977
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:235 within `consolidate_batch_partition'
; │┌ @ int.jl:87 within `+'
%232 = add i64 %value_phi42.i, %1, !dbg !2979
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:365 within `qsort_kernel'
br i1 %.not125, label %L1227.i, label %L1406.i, !dbg !2981
L1227.i: ; preds = %L1210.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:366 within `qsort_kernel'
; ┌ @ promotion.jl:410 within `=='
%.not156 = icmp eq i64 %126, %5, !dbg !2982
; └
%233 = icmp eq i64 %value_phi42.i, 0, !dbg !2983
%narrow157 = and i1 %.not156, %233, !dbg !2983
%234 = icmp eq i64 %232, %2, !dbg !2983
%value_phi44.i.v = or i1 %narrow157, %234, !dbg !2983
%235 = add i64 %6, 1, !dbg !2983
%value_phi45.i = select i1 %value_phi44.i.v, i64 %235, i64 0, !dbg !2983
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:368 within `qsort_kernel'
; ┌ @ int.jl:83 within `<'
%236 = icmp slt i64 %value_phi45.i, 2, !dbg !2984
%.not158 = icmp sgt i64 %232, %1
; └
%or.cond = and i1 %.not158, %236, !dbg !2985
br i1 %or.cond, label %L1246.i, label %L1324.i, !dbg !2985
L1246.i: ; preds = %L1227.i
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %8)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:369 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%237 = ptrtoint i64* %7 to i64, !dbg !2986
; ││└└
%238 = call i32 @cudaStreamCreateWithFlags(i64 %237, i32 1), !dbg !2990
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not159 = icmp eq i32 %238, 0, !dbg !2996
; │└└
br i1 %.not159, label %L1259.i, label %L1256.i, !dbg !2999
L1256.i: ; preds = %L1246.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%239 = getelementptr inbounds [1 x i32], [1 x i32]* %14, i64 0, i64 0, !dbg !3000
store i32 %238, i32* %239, align 4, !dbg !3000, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %14), !dbg !3001
call void asm sideeffect "exit;", ""() #5, !dbg !3001
br label %L1259.i
L1259.i: ; preds = %L1256.i, %L1246.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%240 = load i64, i64* %7, align 16, !dbg !3002, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%241 = icmp slt i64 %4, 2, !dbg !3007
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%242 = xor i8 %3, 1, !dbg !3011
%243 = add i64 %4, -1, !dbg !3011
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %8)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:370 within `qsort_kernel'
br i1 %241, label %L1289.i, label %L1266.i, !dbg !3010
L1266.i: ; preds = %L1259.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:371 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%244 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 0, !dbg !3012
store i64 %35, i64* %244, align 8, !dbg !3012, !tbaa !246
%245 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 1, i64 0, !dbg !3012
store i64 %240, i64* %245, align 8, !dbg !3012, !tbaa !246
%246 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %15, i64 0, i32 2, !dbg !3012
store i64 %37, i64* %246, align 8, !dbg !3012, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24307({ i64, [1 x i64], i64 }* nocapture readonly %15, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %1, i64 %232, i8 %242, i64 %243, i64 %126, i64 %value_phi45.i), !dbg !3016
; └└└└└└└└
br label %L1312.i, !dbg !3015
L1289.i: ; preds = %L1259.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:375 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%247 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 0, !dbg !3023
store i64 %35, i64* %247, align 8, !dbg !3023, !tbaa !246
%248 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 1, i64 0, !dbg !3023
store i64 %240, i64* %248, align 8, !dbg !3023, !tbaa !246
%249 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %21, i64 0, i32 2, !dbg !3023
store i64 %37, i64* %249, align 8, !dbg !3023, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24307({ i64, [1 x i64], i64 }* nocapture readonly %21, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %1, i64 %232, i8 %242, i64 %243, i64 %126, i64 %value_phi45.i), !dbg !3027
; ││└└└└└└
br label %L1312.i, !dbg !3033
L1312.i: ; preds = %L1289.i, %L1266.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:379 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%250 = call i32 @cudaStreamDestroy(i64 %240), !dbg !3034
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not160 = icmp eq i32 %250, 0, !dbg !3039
; │└└
br i1 %.not160, label %L1324.i, label %L1319.i, !dbg !3042
L1319.i: ; preds = %L1312.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%251 = getelementptr inbounds [1 x i32], [1 x i32]* %16, i64 0, i64 0, !dbg !3043
store i32 %250, i32* %251, align 4, !dbg !3043, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %16), !dbg !3044
call void asm sideeffect "exit;", ""() #5, !dbg !3044
br label %L1324.i
L1324.i: ; preds = %L1319.i, %L1312.i, %L1227.i
%.not161 = icmp slt i64 %232, %2
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:382 within `qsort_kernel'
%or.cond164 = and i1 %.not161, %236, !dbg !3045
br i1 %or.cond164, label %L1328.i, label %L1406.i, !dbg !3045
L1328.i: ; preds = %L1324.i
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %10)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:383 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:73 within `cudaStreamCreateWithFlags'
; ││┌ @ refvalue.jl:40 within `unsafe_convert'
; │││┌ @ pointer.jl:147 within `pointer_from_objref'
%252 = ptrtoint i64* %9 to i64, !dbg !3046
; ││└└
%253 = call i32 @cudaStreamCreateWithFlags(i64 %252, i32 1), !dbg !3048
; │└
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not162 = icmp eq i32 %253, 0, !dbg !3052
; │└└
br i1 %.not162, label %L1341.i, label %L1338.i, !dbg !3055
L1338.i: ; preds = %L1328.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%254 = getelementptr inbounds [1 x i32], [1 x i32]* %17, i64 0, i64 0, !dbg !3056
store i32 %253, i32* %254, align 4, !dbg !3056, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %17), !dbg !3057
call void asm sideeffect "exit;", ""() #5, !dbg !3057
br label %L1341.i
L1341.i: ; preds = %L1338.i, %L1328.i
; │ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:41 within `CuDeviceStream' @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:43
; │┌ @ refvalue.jl:56 within `getindex'
; ││┌ @ Base.jl:33 within `getproperty'
%255 = load i64, i64* %9, align 16, !dbg !3058, !tbaa !928
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
; ┌ @ operators.jl:305 within `>'
; │┌ @ int.jl:83 within `<'
%256 = icmp slt i64 %4, 2, !dbg !3061
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `qsort_kernel'
%257 = xor i8 %3, 1, !dbg !3011
%258 = add i64 %4, -1, !dbg !3011
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %10)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:384 within `qsort_kernel'
br i1 %256, label %L1371.i, label %L1348.i, !dbg !3063
L1348.i: ; preds = %L1341.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:385 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%259 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 0, !dbg !3064
store i64 %35, i64* %259, align 8, !dbg !3064, !tbaa !246
%260 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 1, i64 0, !dbg !3064
store i64 %255, i64* %260, align 8, !dbg !3064, !tbaa !246
%261 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %18, i64 0, i32 2, !dbg !3064
store i64 %37, i64* %261, align 8, !dbg !3064, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24307({ i64, [1 x i64], i64 }* nocapture readonly %18, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %232, i64 %2, i8 %257, i64 %258, i64 %126, i64 %value_phi45.i), !dbg !3068
; └└└└└└└└
br label %L1394.i, !dbg !3067
L1371.i: ; preds = %L1341.i
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:389 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:86 within `macro expansion'
; │┌ @ boot.jl:591 within `NamedTuple' @ boot.jl:595
%262 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 0, !dbg !3075
store i64 %35, i64* %262, align 8, !dbg !3075, !tbaa !246
%263 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 1, i64 0, !dbg !3075
store i64 %255, i64* %263, align 8, !dbg !3075, !tbaa !246
%264 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %20, i64 0, i32 2, !dbg !3075
store i64 %37, i64* %264, align 8, !dbg !3075, !tbaa !246
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `Any##kw'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:407 within `#_#231'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `call##kw'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:163 within `#call#205'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:192 within `macro expansion'
; ││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `cudacall##kw'
; │││││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:357 within `#cudacall#228'
call fastcc void @julia_dynamic_cudacallYY_YY_kw_24307({ i64, [1 x i64], i64 }* nocapture readonly %20, i64 ptrtoint (void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_ to i64), { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture readonly %22, i64 %232, i64 %2, i8 %257, i64 %258, i64 %126, i64 %value_phi45.i), !dbg !3079
; ││└└└└└└
br label %L1394.i, !dbg !3085
L1394.i: ; preds = %L1371.i, %L1348.i
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:393 within `qsort_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:79 within `cudaStreamDestroy'
%265 = call i32 @cudaStreamDestroy(i64 %255), !dbg !3086
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `unsafe_destroy!'
; │┌ @ operators.jl:204 within `!='
; ││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not163 = icmp eq i32 %265, 0, !dbg !3089
; │└└
br i1 %.not163, label %L1406.i, label %L1401.i, !dbg !3092
L1401.i: ; preds = %L1394.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `unsafe_destroy!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%266 = getelementptr inbounds [1 x i32], [1 x i32]* %19, i64 0, i64 0, !dbg !3093
store i32 %265, i32* %266, align 4, !dbg !3093, !tbaa !246
; │└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %19), !dbg !3094
call void asm sideeffect "exit;", ""() #5, !dbg !3094
br label %L1406.i
L1406.i: ; preds = %L1401.i, %L1394.i, %L1324.i, %L1210.i
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:397 within `qsort_kernel'
call void @llvm.lifetime.end.p0i8(i64 32, i8* nonnull %23), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %24), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %25), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %26), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %27), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %28), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %29), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %30), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 4, i8* nonnull %31), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %32), !dbg !3095
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %33), !dbg !3095
br label %_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit, !dbg !3095
_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_.inner.exit: ; preds = %L1406.i, %L510.i
ret void
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:41 within `report_exception'
define internal fastcc void @gpu_report_exception68(i64 %0) unnamed_addr !dbg !3097 {
top:
%1 = alloca %printf_args.185.186.224, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:42 within `report_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = bitcast %printf_args.185.186.224* %1 to i8*, !dbg !3098
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %2), !dbg !3098
%3 = getelementptr inbounds %printf_args.185.186.224, %printf_args.185.186.224* %1, i64 0, i32 0, !dbg !3098
store i64 %0, i64* %3, align 8, !dbg !3098
%4 = call i32 @vprintf(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @2, i64 0, i64 0), i8* nonnull %2), !dbg !3098
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %2), !dbg !3098
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:46 within `report_exception'
ret void, !dbg !3105
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:27 within `signal_exception'
define internal fastcc void @gpu_signal_exception69() unnamed_addr !dbg !3106 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:28 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:25 within `exception_flag'
%0 = call i64 @julia_exception_flag(), !dbg !3107
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:29 within `signal_exception'
%.not = icmp eq i64 %0, 0, !dbg !3110
br i1 %.not, label %L9, label %L5, !dbg !3110
L5: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:30 within `signal_exception'
; ┌ @ pointer.jl:118 within `unsafe_store!' @ pointer.jl:118
%1 = inttoptr i64 %0 to i64*, !dbg !3111
store i64 1, i64* %1, align 1, !dbg !3111, !tbaa !220
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:31 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:115 within `threadfence_system'
call void @llvm.nvvm.membar.sys(), !dbg !3115
; └
br label %L12, !dbg !3117
L9: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:33 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = call i32 @vprintf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @1, i64 0, i64 0), i8* null), !dbg !3118
br label %L12, !dbg !3118
L12: ; preds = %L9, %L5
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:38 within `signal_exception'
ret void, !dbg !3125
}
; @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `dynamic_cudacall##kw'
define internal fastcc void @julia_dynamic_cudacallYY_YY_kw_24336({ [2 x i64], i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(32) %0, i64 %1, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %2, i64 %3, i64 %4, i64 %5, i8 %6) unnamed_addr !dbg !3126 {
top:
%7 = alloca [1 x i32], align 4
%.sroa.022.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 0
%.sroa.022.0.copyload = load i64, i64* %.sroa.022.0..sroa_idx, align 8, !tbaa !174
%.sroa.223.0..sroa_idx24 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 1
%.sroa.223.0.copyload = load i64, i64* %.sroa.223.0..sroa_idx24, align 8, !tbaa !174
%.sroa.3.0..sroa_idx25 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 1
%8 = bitcast i8 addrspace(1)** %.sroa.3.0..sroa_idx25 to i64*
%.sroa.3.0.copyload43 = load i64, i64* %8, align 8, !tbaa !174
%.sroa.426.0..sroa_idx27 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 0
%.sroa.426.0.copyload = load i64, i64* %.sroa.426.0..sroa_idx27, align 8, !tbaa !174
%.sroa.5.0..sroa_idx28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 1, i64 0, i64 0
%.sroa.5.0.copyload = load i64, i64* %.sroa.5.0..sroa_idx28, align 8, !tbaa !174
%.sroa.6.0..sroa_idx29 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 2
%.sroa.6.0.copyload = load i64, i64* %.sroa.6.0..sroa_idx29, align 8, !tbaa !174
%.sroa.7.0..sroa_idx30 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 3
%.sroa.7.0.copyload = load i64, i64* %.sroa.7.0..sroa_idx30, align 8, !tbaa !174
; ┌ @ namedtuple.jl:118 within `getindex'
%9 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 1, !dbg !3127
%10 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 2, !dbg !3127
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `#dynamic_cudacall#229'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:383 within `macro expansion'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:59 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:25 within `CuDim3'
; ││││┌ @ tuple.jl:29 within `getindex'
%11 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 0, i64 0, !dbg !3130
%12 = getelementptr inbounds { [2 x i64], i64, i64 }, { [2 x i64], i64, i64 }* %0, i64 0, i32 0, i64 1, !dbg !3130
; ││││└
; ││││ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:25 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%13 = load i64, i64* %11, align 8, !dbg !3140, !tbaa !200
%14 = trunc i64 %13 to i32, !dbg !3140
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%15 = icmp ugt i64 %13, 4294967295, !dbg !3149
br i1 %15, label %L35, label %L40, !dbg !3149
L35: ; preds = %top
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3149
call fastcc void @gpu_signal_exception69(), !dbg !3149
call void asm sideeffect "exit;", ""() #5, !dbg !3149
call void asm sideeffect "exit;", ""() #5, !dbg !3149
br label %L40
L40: ; preds = %L35, %top
; │││││││└
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%16 = load i64, i64* %12, align 8, !dbg !3140, !tbaa !200
%17 = trunc i64 %16 to i32, !dbg !3140
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%18 = icmp ugt i64 %16, 4294967295, !dbg !3149
br i1 %18, label %L45, label %L50, !dbg !3149
L45: ; preds = %L40
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3149
call fastcc void @gpu_signal_exception69(), !dbg !3149
call void asm sideeffect "exit;", ""() #5, !dbg !3149
call void asm sideeffect "exit;", ""() #5, !dbg !3149
br label %L50
L50: ; preds = %L45, %L40
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:60 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:23 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%19 = load i64, i64* %9, align 8, !dbg !3150, !tbaa !200
%20 = trunc i64 %19 to i32, !dbg !3150
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%21 = icmp ugt i64 %19, 4294967295, !dbg !3157
br i1 %21, label %L59, label %L64, !dbg !3157
L59: ; preds = %L50
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3157
call fastcc void @gpu_signal_exception69(), !dbg !3157
call void asm sideeffect "exit;", ""() #5, !dbg !3157
call void asm sideeffect "exit;", ""() #5, !dbg !3157
br label %L64
L64: ; preds = %L59, %L50
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:62 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:68 within `parameter_buffer'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:72 within `macro expansion'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:225 within `cudaGetParameterBufferV2'
; ││││││┌ @ essentials.jl:396 within `cconvert'
; │││││││┌ @ number.jl:7 within `convert'
; ││││││││┌ @ boot.jl:756 within `UInt32'
; │││││││││┌ @ boot.jl:716 within `toUInt32'
; ││││││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%22 = load i64, i64* %10, align 8, !dbg !3158, !tbaa !200
%23 = trunc i64 %22 to i32, !dbg !3158
; ││││││││││└
; ││││││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%24 = icmp ugt i64 %22, 4294967295, !dbg !3171
br i1 %24, label %L72, label %L78, !dbg !3171
L72: ; preds = %L64
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3171
call fastcc void @gpu_signal_exception69(), !dbg !3171
call void asm sideeffect "exit;", ""() #5, !dbg !3171
call void asm sideeffect "exit;", ""() #5, !dbg !3171
br label %L78
L78: ; preds = %L72, %L64
; ││││││└└└└└
%.fca.0.insert16 = insertvalue { i32, i32, i32 } undef, i32 %14, 0, !dbg !3164
%.fca.1.insert17 = insertvalue { i32, i32, i32 } %.fca.0.insert16, i32 %17, 1, !dbg !3164
%.fca.2.insert18 = insertvalue { i32, i32, i32 } %.fca.1.insert17, i32 1, 2, !dbg !3164
%.fca.0.insert = insertvalue { i32, i32, i32 } undef, i32 %20, 0, !dbg !3164
%.fca.1.insert = insertvalue { i32, i32, i32 } %.fca.0.insert, i32 1, 1, !dbg !3164
%.fca.2.insert15 = insertvalue { i32, i32, i32 } %.fca.1.insert, i32 1, 2, !dbg !3164
%25 = call i64 @cudaGetParameterBufferV2(i64 %1, { i32, i32, i32 } %.fca.2.insert18, { i32, i32, i32 } %.fca.2.insert15, i32 %23), !dbg !3164
; ││││└└
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:73 within `macro expansion'
%26 = inttoptr i64 %25 to { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }*, !dbg !3172
%.repack.repack.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 0, i64 0, !dbg !3172
store i64 %.sroa.022.0.copyload, i64* %.repack.repack.repack, align 8, !dbg !3172, !tbaa !220
%.repack.repack.repack39 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 0, i64 1, !dbg !3172
store i64 %.sroa.223.0.copyload, i64* %.repack.repack.repack39, align 8, !dbg !3172, !tbaa !220
%.repack.repack37 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 0, i32 1, !dbg !3172
%27 = bitcast i8 addrspace(1)** %.repack.repack37 to i64*, !dbg !3172
store i64 %.sroa.3.0.copyload43, i64* %27, align 8, !dbg !3172, !tbaa !220
%.repack31.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 1, i32 0, !dbg !3172
store i64 %.sroa.426.0.copyload, i64* %.repack31.repack, align 8, !dbg !3172, !tbaa !220
%28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !3172
store i64 %.sroa.5.0.copyload, i64* %28, align 8, !dbg !3172, !tbaa !220
%.repack33 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 2, !dbg !3172
store i64 %.sroa.6.0.copyload, i64* %.repack33, align 8, !dbg !3172, !tbaa !220
%.repack35 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %26, i64 0, i32 3, !dbg !3172
store i64 %.sroa.7.0.copyload, i64* %.repack35, align 8, !dbg !3172, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%29 = inttoptr i64 %25 to i8*, !dbg !3173
%30 = getelementptr i8, i8* %29, i64 56, !dbg !3173
; │││││└
%31 = bitcast i8* %30 to i64*, !dbg !3172
store i64 %3, i64* %31, align 8, !dbg !3172, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%32 = getelementptr i8, i8* %29, i64 64, !dbg !3173
; │││││└
%33 = bitcast i8* %32 to i64*, !dbg !3172
store i64 %4, i64* %33, align 8, !dbg !3172, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%34 = getelementptr i8, i8* %29, i64 72, !dbg !3173
; │││││└
%35 = bitcast i8* %34 to i64*, !dbg !3172
store i64 %5, i64* %35, align 8, !dbg !3172, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%36 = getelementptr i8, i8* %29, i64 80, !dbg !3173
; │││││└
store i8 %6, i8* %36, align 1, !dbg !3172, !tbaa !220
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:251 within `cudaLaunchDeviceV2'
%37 = call i32 @cudaLaunchDeviceV2(i64 %25, i64 0), !dbg !3175
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_launch'
; │││┌ @ operators.jl:204 within `!='
; ││││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not = icmp eq i32 %37, 0, !dbg !3178
; │││└└
br i1 %.not, label %L130, label %L125, !dbg !3184
L125: ; preds = %L78
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%38 = getelementptr inbounds [1 x i32], [1 x i32]* %7, i64 0, i64 0, !dbg !3185
store i32 %37, i32* %38, align 4, !dbg !3185, !tbaa !246
; │││└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %7), !dbg !3187
call void asm sideeffect "exit;", ""() #5, !dbg !3187
br label %L130
L130: ; preds = %L125, %L78
; └└└
ret void, !dbg !3129
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:17 within `throw_device_cuerror'
; Function Attrs: noinline
define internal fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture nonnull readonly align 4 dereferenceable(4) %0) unnamed_addr #4 !dbg !3188 {
top:
%1 = alloca %printf_args.223, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:19 within `throw_device_cuerror'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:207 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:15 within `description'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:49 within `cudaGetErrorString'
; │││┌ @ essentials.jl:396 within `cconvert'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:11 within `convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%2 = getelementptr inbounds [1 x i32], [1 x i32]* %0, i64 0, i64 0, !dbg !3189
; │││└└└
%3 = load i32, i32* %2, align 4, !dbg !3195, !tbaa !200
%4 = call i64 @cudaGetErrorString(i32 %3), !dbg !3195
; │└└
; │┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/CEnum.jl:19 within `Integer'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%5 = zext i32 %3 to i64, !dbg !3202
; │└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:13 within `name'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:55 within `cudaGetErrorName'
%6 = call i64 @cudaGetErrorName(i32 %3), !dbg !3208
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:120 within `_cuprint'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:158 within `macro expansion'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%7 = bitcast %printf_args.223* %1 to i8*, !dbg !3212
call void @llvm.lifetime.start.p0i8(i64 24, i8* nonnull %7), !dbg !3212
%8 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 0, !dbg !3212
store i64 %4, i64* %8, align 8, !dbg !3212
%9 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 1, !dbg !3212
store i64 %5, i64* %9, align 8, !dbg !3212
%10 = getelementptr inbounds %printf_args.223, %printf_args.223* %1, i64 0, i32 2, !dbg !3212
store i64 %6, i64* %10, align 8, !dbg !3212
%11 = call i32 @vprintf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @0, i64 0, i64 0), i8* nonnull %7), !dbg !3212
call void @llvm.lifetime.end.p0i8(i64 24, i8* nonnull %7), !dbg !3212
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:20 within `throw_device_cuerror'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3220
call fastcc void @gpu_signal_exception69(), !dbg !3220
call void asm sideeffect "exit;", ""() #5, !dbg !3220
unreachable
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:153 within `find_partition'
define internal fastcc i64 @julia_find_partition_24331({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %0, i64 %1, i64 %2, i64 %3, i8 %4) unnamed_addr !dbg !3221 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:154 within `find_partition'
; ┌ @ int.jl:87 within `+'
%5 = add i64 %2, 1, !dbg !3222
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not9 = icmp sgt i64 %5, %3, !dbg !3225
; └
br i1 %.not9, label %L68, label %L6.lr.ph, !dbg !3227
L6.lr.ph: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ range.jl:613 within `last'
; ││││┌ @ Base.jl within `getproperty'
%6 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !3228
; │││└└
; │││┌ @ int.jl within `<='
%7 = load i64, i64* %6, align 8, !dbg !3240, !tbaa !200
; └└└└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ Base.jl within `getproperty'
%8 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 2, !dbg !3241
%9 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 3, !dbg !3241
; │└
; │┌ @ int.jl within `*'
%10 = load i64, i64* %9, align 8, !dbg !3243
; │└
; │┌ @ int.jl within `+'
%11 = load i64, i64* %8, align 8, !dbg !3245
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:311 within `eachindex'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; │││││┌ @ tuple.jl within `prod'
%12 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 0, !dbg !3246
%13 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 0, i64 1, !dbg !3246
; │││││└
; │││││┌ @ tuple.jl:480 within `prod'
; ││││││┌ @ int.jl within `*'
%14 = load i64, i64* %12, align 8, !dbg !3258
%15 = load i64, i64* %13, align 8, !dbg !3258
%16 = mul i64 %15, %14, !dbg !3258
; ││││└└└
; ││││┌ @ range.jl:337 within `oneto'
; │││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; ││││││┌ @ promotion.jl within `max'
%17 = icmp sgt i64 %16, 0, !dbg !3260
%18 = select i1 %17, i64 %16, i64 0, !dbg !3260
; │└└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl within `getproperty'
%19 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %0, i64 0, i32 0, i32 1, !dbg !3267
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:0
%20 = bitcast i8 addrspace(1)** %19 to i64 addrspace(1)**, !dbg !3271
%21 = load i64 addrspace(1)*, i64 addrspace(1)** %20, align 8, !dbg !3271
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `flex_lt'
%22 = and i8 %4, 1, !dbg !3279
%.not8.not = icmp eq i8 %22, 0, !dbg !3279
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
br i1 %.not8.not, label %L6, label %L6.us, !dbg !3227
L6.us: ; preds = %L6.lr.ph, %L43.us
%value_phi111.us = phi i64 [ %value_phi5.us, %L43.us ], [ %5, %L6.lr.ph ]
%value_phi10.us = phi i64 [ %value_phi4.us, %L43.us ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%23 = add i64 %value_phi111.us, %value_phi10.us, !dbg !3281
; └
; ┌ @ int.jl:261 within `div'
%24 = sdiv i64 %23, 2, !dbg !3283
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%25 = icmp slt i64 %23, 2, !dbg !3285
%26 = icmp sgt i64 %24, %7, !dbg !3285
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%27 = or i1 %25, %26, !dbg !3236
br i1 %27, label %L19.us, label %L22.us, !dbg !3236
L19.us: ; preds = %L6.us
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3236
call fastcc void @gpu_signal_exception69(), !dbg !3236
call void asm sideeffect "exit;", ""() #5, !dbg !3236
call void asm sideeffect "exit;", ""() #5, !dbg !3236
br label %L22.us
L22.us: ; preds = %L19.us, %L6.us
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%28 = mul i64 %10, %24, !dbg !3286
; │└
; │┌ @ int.jl:87 within `+'
%29 = add i64 %11, %28, !dbg !3287
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%30 = icmp slt i64 %29, 1, !dbg !3288
%31 = icmp sgt i64 %29, %18, !dbg !3288
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%32 = or i1 %30, %31, !dbg !3253
br i1 %32, label %L40.us, label %L43.us, !dbg !3253
L40.us: ; preds = %L22.us
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3253
call fastcc void @gpu_signal_exception69(), !dbg !3253
call void asm sideeffect "exit;", ""() #5, !dbg !3253
call void asm sideeffect "exit;", ""() #5, !dbg !3253
br label %L43.us
L43.us: ; preds = %L40.us, %L22.us
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%33 = add i64 %29, -1, !dbg !3290
; │││││└
%34 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %33, !dbg !3292
%35 = load i64, i64 addrspace(1)* %34, align 8, !dbg !3292, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%.not12 = icmp slt i64 %35, %1, !dbg !3293
; └
%36 = add nsw i64 %24, -1, !dbg !3239
%37 = add nsw i64 %24, 1, !dbg !3239
%value_phi4.us = select i1 %.not12, i64 %value_phi10.us, i64 %36, !dbg !3239
%value_phi5.us = select i1 %.not12, i64 %37, i64 %value_phi111.us, !dbg !3239
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not.us = icmp sgt i64 %value_phi5.us, %value_phi4.us, !dbg !3225
; └
br i1 %.not.us, label %L68, label %L6.us, !dbg !3227
L6: ; preds = %L6.lr.ph, %L43
%value_phi111 = phi i64 [ %value_phi5, %L43 ], [ %5, %L6.lr.ph ]
%value_phi10 = phi i64 [ %value_phi4, %L43 ], [ %3, %L6.lr.ph ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:157 within `find_partition'
; ┌ @ int.jl:87 within `+'
%38 = add i64 %value_phi111, %value_phi10, !dbg !3281
; └
; ┌ @ int.jl:261 within `div'
%39 = sdiv i64 %38, 2, !dbg !3283
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:158 within `find_partition'
; ┌ @ subarray.jl:292 within `getindex'
; │┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││┌ @ abstractarray.jl:667 within `checkindex'
; │││┌ @ int.jl:442 within `<='
%40 = icmp slt i64 %38, 2, !dbg !3285
%41 = icmp sgt i64 %39, %7, !dbg !3285
; ││└└
; ││ @ abstractarray.jl:610 within `checkbounds'
%42 = or i1 %40, %41, !dbg !3236
br i1 %42, label %L19, label %L22, !dbg !3236
L19: ; preds = %L6
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3236
call fastcc void @gpu_signal_exception69(), !dbg !3236
call void asm sideeffect "exit;", ""() #5, !dbg !3236
call void asm sideeffect "exit;", ""() #5, !dbg !3236
br label %L22
L22: ; preds = %L19, %L6
; └└
; ┌ @ subarray.jl:293 within `getindex'
; │┌ @ int.jl:88 within `*'
%43 = mul i64 %10, %39, !dbg !3286
; │└
; │┌ @ int.jl:87 within `+'
%44 = add i64 %11, %43, !dbg !3287
; │└
; │ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%45 = icmp slt i64 %44, 1, !dbg !3288
%46 = icmp sgt i64 %44, %18, !dbg !3288
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%47 = or i1 %45, %46, !dbg !3253
br i1 %47, label %L40, label %L43, !dbg !3253
L40: ; preds = %L22
call fastcc void @gpu_report_exception68(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3253
call fastcc void @gpu_signal_exception69(), !dbg !3253
call void asm sideeffect "exit;", ""() #5, !dbg !3253
call void asm sideeffect "exit;", ""() #5, !dbg !3253
br label %L43
L43: ; preds = %L40, %L22
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%48 = add i64 %44, -1, !dbg !3290
; │││││└
%49 = getelementptr inbounds i64, i64 addrspace(1)* %21, i64 %48, !dbg !3292
%50 = load i64, i64 addrspace(1)* %49, align 8, !dbg !3292, !tbaa !459
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%51 = icmp sgt i64 %50, %1, !dbg !3293
; └
%52 = add nsw i64 %39, -1, !dbg !3239
%53 = add nsw i64 %39, 1, !dbg !3239
%value_phi4 = select i1 %51, i64 %52, i64 %value_phi10, !dbg !3239
%value_phi5 = select i1 %51, i64 %value_phi111, i64 %53, !dbg !3239
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:156 within `find_partition'
; ┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %value_phi5, %value_phi4, !dbg !3225
; └
br i1 %.not, label %L68, label %L6, !dbg !3227
L68: ; preds = %L43.us, %L43, %top
%value_phi1.lcssa = phi i64 [ %5, %top ], [ %value_phi5, %L43 ], [ %value_phi5.us, %L43.us ]
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:164 within `find_partition'
; ┌ @ int.jl:86 within `-'
%54 = add i64 %value_phi1.lcssa, -1, !dbg !3294
; └
ret i64 %54, !dbg !3295
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:203 within `n_eff'
define internal fastcc i64 @julia_n_eff_24317([2 x i64]* nocapture nonnull readonly align 8 dereferenceable(16) %0) unnamed_addr !dbg !3296 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
%1 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 1, !dbg !3297
%2 = getelementptr inbounds [2 x i64], [2 x i64]* %0, i64 0, i64 0, !dbg !3297
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%3 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !3298, !range !265
; └└└└
; ┌ @ int.jl:93 within `/'
; │┌ @ float.jl:206 within `float'
; ││┌ @ float.jl:191 within `AbstractFloat'
; │││┌ @ float.jl:94 within `Float64'
%4 = load i64, i64* %2, align 8, !dbg !3308, !tbaa !200
%5 = sitofp i64 %4 to double, !dbg !3308
%6 = uitofp i32 %3 to double, !dbg !3308
; │└└└
; │ @ int.jl:93 within `/' @ float.jl:335
%7 = fdiv double %5, %6, !dbg !3316
; └
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:304 within `round'
%8 = call double @llvm.ceil.f64(double %7), !dbg !3318
; │└
; │┌ @ float.jl:713 within `trunc'
; ││┌ @ float.jl:374 within `<='
%9 = fcmp ult double %8, 0xC3E0000000000000, !dbg !3322
; ││└
%10 = fcmp uge double %8, 0x43E0000000000000, !dbg !3324
%11 = or i1 %9, %10, !dbg !3324
br i1 %11, label %L26, label %L24, !dbg !3324
L24: ; preds = %L26, %top
; │└
; │┌ @ float.jl:714 within `trunc'
; ││┌ @ float.jl:239 within `unsafe_trunc'
%12 = fptosi double %8 to i64, !dbg !3326
; └└└
; ┌ @ operators.jl:204 within `!='
; │┌ @ promotion.jl:410 within `=='
%13 = load i64, i64* %1, align 8, !dbg !3329, !tbaa !200
%.not = icmp eq i64 %13, %12, !dbg !3329
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl within `n_eff'
%14 = zext i32 %3 to i64, !dbg !3333
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:204 within `n_eff'
br i1 %.not, label %L47, label %L49, !dbg !3297
L26: ; preds = %top
; ┌ @ float.jl:295 within `ceil'
; │┌ @ float.jl:716 within `trunc'
call fastcc void @gpu_report_exception68(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3334
call fastcc void @gpu_signal_exception69(), !dbg !3334
call void asm sideeffect "exit;", ""() #5, !dbg !3334
br label %L24
L47: ; preds = %L24
; └└
; ┌ @ int.jl:262 within `rem'
%15 = srem i64 %4, %14, !dbg !3335
; └
; ┌ @ promotion.jl:410 within `=='
%16 = icmp eq i64 %15, 0, !dbg !3337
; └
%spec.select = select i1 %16, i64 %14, i64 %15, !dbg !3297
br label %L49, !dbg !3297
L49: ; preds = %L47, %L24
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:205 within `n_eff'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; ││┌ @ boot.jl:752 within `Int64'
; │││┌ @ boot.jl:676 within `toInt64'
%.pre-phi = phi i64 [ %14, %L24 ], [ %spec.select, %L47 ], !dbg !3338
; └└└└
ret i64 %.pre-phi, !dbg !3344
}
; @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `dynamic_cudacall##kw'
define internal fastcc void @julia_dynamic_cudacallYY_YY_kw_24307({ i64, [1 x i64], i64 }* nocapture nonnull readonly align 8 dereferenceable(24) %0, i64 %1, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* nocapture nonnull readonly align 8 dereferenceable(56) %2, i64 %3, i64 %4, i8 %5, i64 %6, i64 %7, i64 %8) unnamed_addr !dbg !3345 {
top:
%9 = alloca [1 x i32], align 4
%.sroa.023.0..sroa_idx = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 0
%.sroa.023.0.copyload = load i64, i64* %.sroa.023.0..sroa_idx, align 8, !tbaa !174
%.sroa.224.0..sroa_idx25 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 0, i64 1
%.sroa.224.0.copyload = load i64, i64* %.sroa.224.0..sroa_idx25, align 8, !tbaa !174
%.sroa.3.0..sroa_idx26 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 0, i32 1
%10 = bitcast i8 addrspace(1)** %.sroa.3.0..sroa_idx26 to i64*
%.sroa.3.0.copyload44 = load i64, i64* %10, align 8, !tbaa !174
%.sroa.427.0..sroa_idx28 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 0
%.sroa.427.0.copyload = load i64, i64* %.sroa.427.0..sroa_idx28, align 8, !tbaa !174
%.sroa.5.0..sroa_idx29 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 1, i32 1, i64 0, i64 0
%.sroa.5.0.copyload = load i64, i64* %.sroa.5.0..sroa_idx29, align 8, !tbaa !174
%.sroa.6.0..sroa_idx30 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 2
%.sroa.6.0.copyload = load i64, i64* %.sroa.6.0..sroa_idx30, align 8, !tbaa !174
%.sroa.7.0..sroa_idx31 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %2, i64 0, i32 3
%.sroa.7.0.copyload = load i64, i64* %.sroa.7.0..sroa_idx31, align 8, !tbaa !174
; ┌ @ namedtuple.jl:118 within `getindex'
%11 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 0, !dbg !3346
%12 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 2, !dbg !3346
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:361 within `#dynamic_cudacall#229'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl:383 within `macro expansion'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:60 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:23 within `CuDim3' @ /home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl:18
; ││││┌ @ number.jl:7 within `convert'
; │││││┌ @ boot.jl:756 within `UInt32'
; ││││││┌ @ boot.jl:716 within `toUInt32'
; │││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%13 = load i64, i64* %11, align 8, !dbg !3349, !tbaa !200
%14 = trunc i64 %13 to i32, !dbg !3349
; │││││││└
; │││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%15 = icmp ugt i64 %13, 4294967295, !dbg !3366
br i1 %15, label %L33, label %L38, !dbg !3366
L33: ; preds = %top
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3366
call fastcc void @gpu_signal_exception69(), !dbg !3366
call void asm sideeffect "exit;", ""() #5, !dbg !3366
call void asm sideeffect "exit;", ""() #5, !dbg !3366
br label %L38
L38: ; preds = %L33, %top
; ││└└└└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:62 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:68 within `parameter_buffer'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:72 within `macro expansion'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:225 within `cudaGetParameterBufferV2'
; ││││││┌ @ essentials.jl:396 within `cconvert'
; │││││││┌ @ number.jl:7 within `convert'
; ││││││││┌ @ boot.jl:756 within `UInt32'
; │││││││││┌ @ boot.jl:716 within `toUInt32'
; ││││││││││┌ @ boot.jl:630 within `checked_trunc_uint'
%16 = load i64, i64* %12, align 8, !dbg !3367, !tbaa !200
%17 = trunc i64 %16 to i32, !dbg !3367
; ││││││││││└
; ││││││││││┌ @ boot.jl:632 within `checked_trunc_uint'
%18 = icmp ugt i64 %16, 4294967295, !dbg !3380
br i1 %18, label %L46, label %L52, !dbg !3380
L46: ; preds = %L38
call fastcc void @gpu_report_exception68(i64 ptrtoint ([13 x i8]* @exception74 to i64)), !dbg !3380
call fastcc void @gpu_signal_exception69(), !dbg !3380
call void asm sideeffect "exit;", ""() #5, !dbg !3380
call void asm sideeffect "exit;", ""() #5, !dbg !3380
br label %L52
L52: ; preds = %L46, %L38
; ││││││└└└└└
%.fca.0.insert = insertvalue { i32, i32, i32 } undef, i32 %14, 0, !dbg !3373
%.fca.1.insert = insertvalue { i32, i32, i32 } %.fca.0.insert, i32 1, 1, !dbg !3373
%.fca.2.insert16 = insertvalue { i32, i32, i32 } %.fca.1.insert, i32 1, 2, !dbg !3373
%19 = call i64 @cudaGetParameterBufferV2(i64 %1, { i32, i32, i32 } { i32 1, i32 1, i32 1 }, { i32, i32, i32 } %.fca.2.insert16, i32 %17), !dbg !3373
; ││││└└
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:73 within `macro expansion'
%20 = inttoptr i64 %19 to { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }*, !dbg !3381
%.repack.repack.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 0, !dbg !3381
store i64 %.sroa.023.0.copyload, i64* %.repack.repack.repack, align 8, !dbg !3381, !tbaa !220
%.repack.repack.repack40 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 0, i64 1, !dbg !3381
store i64 %.sroa.224.0.copyload, i64* %.repack.repack.repack40, align 8, !dbg !3381, !tbaa !220
%.repack.repack38 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 0, i32 1, !dbg !3381
%21 = bitcast i8 addrspace(1)** %.repack.repack38 to i64*, !dbg !3381
store i64 %.sroa.3.0.copyload44, i64* %21, align 8, !dbg !3381, !tbaa !220
%.repack32.repack = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 0, !dbg !3381
store i64 %.sroa.427.0.copyload, i64* %.repack32.repack, align 8, !dbg !3381, !tbaa !220
%22 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 1, i32 1, i64 0, i64 0, !dbg !3381
store i64 %.sroa.5.0.copyload, i64* %22, align 8, !dbg !3381, !tbaa !220
%.repack34 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 2, !dbg !3381
store i64 %.sroa.6.0.copyload, i64* %.repack34, align 8, !dbg !3381, !tbaa !220
%.repack36 = getelementptr inbounds { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }* %20, i64 0, i32 3, !dbg !3381
store i64 %.sroa.7.0.copyload, i64* %.repack36, align 8, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%23 = inttoptr i64 %19 to i8*, !dbg !3382
%24 = getelementptr i8, i8* %23, i64 56, !dbg !3382
; │││││└
%25 = bitcast i8* %24 to i64*, !dbg !3381
store i64 %3, i64* %25, align 8, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%26 = getelementptr i8, i8* %23, i64 64, !dbg !3382
; │││││└
%27 = bitcast i8* %26 to i64*, !dbg !3381
store i64 %4, i64* %27, align 8, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%28 = getelementptr i8, i8* %23, i64 72, !dbg !3382
; │││││└
store i8 %5, i8* %28, align 1, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%29 = getelementptr i8, i8* %23, i64 80, !dbg !3382
; │││││└
%30 = bitcast i8* %29 to i64*, !dbg !3381
store i64 %6, i64* %30, align 8, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%31 = getelementptr i8, i8* %23, i64 88, !dbg !3382
; │││││└
%32 = bitcast i8* %31 to i64*, !dbg !3381
store i64 %7, i64* %32, align 8, !dbg !3381, !tbaa !220
; │││││┌ @ pointer.jl:159 within `+'
%33 = getelementptr i8, i8* %23, i64 96, !dbg !3382
; │││││└
%34 = bitcast i8* %33 to i64*, !dbg !3381
store i64 %8, i64* %34, align 8, !dbg !3381, !tbaa !220
; ││└└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:25 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl:251 within `cudaLaunchDeviceV2'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:47 within `unsafe_convert'
; │││││┌ @ Base.jl:33 within `getproperty'
%35 = getelementptr inbounds { i64, [1 x i64], i64 }, { i64, [1 x i64], i64 }* %0, i64 0, i32 1, i64 0, !dbg !3384
; ││││└└
%36 = load i64, i64* %35, align 8, !dbg !3388, !tbaa !200
%37 = call i32 @cudaLaunchDeviceV2(i64 %19, i64 %36), !dbg !3388
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:26 within `device_launch'
; │││┌ @ operators.jl:204 within `!='
; ││││┌ @ /home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl:7 within `==' @ promotion.jl:410
%.not = icmp eq i32 %37, 0, !dbg !3391
; │││└└
br i1 %.not, label %L118, label %L113, !dbg !3397
L113: ; preds = %L52
; ││└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:27 within `device_launch'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl:8 within `CuDeviceError'
%38 = getelementptr inbounds [1 x i32], [1 x i32]* %9, i64 0, i64 0, !dbg !3398
store i32 %37, i32* %38, align 4, !dbg !3398, !tbaa !246
; │││└
call fastcc void @julia_throw_device_cuerror_24314([1 x i32]* nocapture readonly %9), !dbg !3400
call void asm sideeffect "exit;", ""() #5, !dbg !3400
br label %L118
L118: ; preds = %L113, %L52
; └└└
ret void, !dbg !3348
}
define ptx_kernel void @_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, i64 %1, i64 %2, i64 %3, i8 %4) local_unnamed_addr {
entry:
%5 = alloca { [1 x i64], i8 addrspace(3)* }, align 8
%6 = alloca { [1 x i64], i8 addrspace(3)* }, align 8
%.fca.0.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 0
%.fca.0.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 0, 1
%.fca.0.1.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 0, 1
%.fca.1.1.0.0.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 1, 1, 0, 0
%.fca.2.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 2
%.fca.3.extract = extractvalue { { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 } %0, 3
%7 = bitcast { [1 x i64], i8 addrspace(3)* }* %5 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %7)
%8 = bitcast { [1 x i64], i8 addrspace(3)* }* %6 to i8*
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %8)
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:139 within `partition_batches_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:84 within `blockDim'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:52 within `blockDim_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%9 = call i32 @llvm.nvvm.read.ptx.sreg.ntid.x(), !dbg !3401, !range !265
; │││└└
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%10 = zext i32 %9 to i64, !dbg !3415
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:39 within `CuDeviceArray' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:31
%11 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %5, i64 0, i32 0, i64 0, !dbg !3419
store i64 %10, i64* %11, align 8, !dbg !3419, !tbaa !246
%12 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %5, i64 0, i32 1, !dbg !3419
store i8 addrspace(3)* bitcast ([0 x i64] addrspace(3)* @__dynamic_shmem_673 to i8 addrspace(3)*), i8 addrspace(3)** %12, align 8, !dbg !3419, !tbaa !246
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:140 within `partition_batches_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:49 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:108 within `+'
%13 = getelementptr [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_674, i64 0, i64 %10, !dbg !3422
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl:50 within `macro expansion'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:39 within `CuDeviceArray' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:31
%14 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %6, i64 0, i32 0, i64 0, !dbg !3426
store i64 %10, i64* %14, align 8, !dbg !3426, !tbaa !246
%15 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %6, i64 0, i32 1, !dbg !3426
%16 = bitcast i8 addrspace(3)** %15 to i64 addrspace(3)**, !dbg !3426
store i64 addrspace(3)* %13, i64 addrspace(3)** %16, align 8, !dbg !3426, !tbaa !246
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:141 within `partition_batches_kernel'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:110 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3429
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:111 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:77 within `blockIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:57 within `blockIdx_y'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%17 = call i32 @llvm.nvvm.read.ptx.sreg.ctaid.y(), !dbg !3434, !range !1601
; │└└└└
; │┌ @ int.jl:88 within `*'
%narrow = mul nuw nsw i32 %9, %17, !dbg !3442
%18 = zext i32 %narrow to i64, !dbg !3442
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `_index'
; ││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%19 = call i32 @llvm.nvvm.read.ptx.sreg.tid.x(), !dbg !3444, !range !410
; │││└└
; │││┌ @ int.jl:87 within `+'
%narrow29 = add nuw nsw i32 %19, 1, !dbg !3451
%20 = zext i32 %narrow29 to i64, !dbg !3451
; │└└└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%21 = add i64 %18, %2, !dbg !3453
%22 = add i64 %21, %20, !dbg !3453
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:112 within `batch_partition'
; │┌ @ int.jl:442 within `<='
%.not = icmp sgt i64 %22, %3, !dbg !3456
; │└
br i1 %.not, label %L243.i, label %L99.i, !dbg !3458
L99.i: ; preds = %entry
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%23 = icmp slt i64 %22, 1, !dbg !3459
%24 = icmp sgt i64 %22, %.fca.1.1.0.0.extract, !dbg !3459
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%25 = or i1 %23, %24, !dbg !3464
br i1 %25, label %L110.i, label %L109.i, !dbg !3464
L109.i: ; preds = %L110.i, %L99.i
; │└└
; │┌ @ subarray.jl:293 within `getindex'
; ││┌ @ int.jl:88 within `*'
%26 = mul i64 %22, %.fca.3.extract, !dbg !3468
; ││└
; ││┌ @ int.jl:87 within `+'
%27 = add i64 %26, %.fca.2.extract, !dbg !3470
; ││└
; ││ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%28 = mul i64 %.fca.0.0.0.extract, %.fca.0.0.1.extract, !dbg !3471
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%29 = icmp sgt i64 %28, 0, !dbg !3484
%30 = select i1 %29, i64 %28, i64 0, !dbg !3484
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%31 = icmp slt i64 %27, 1, !dbg !3491
%32 = icmp sgt i64 %27, %30, !dbg !3491
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%33 = or i1 %31, %32, !dbg !3479
br i1 %33, label %L131.i, label %L130.i, !dbg !3479
L110.i: ; preds = %L99.i
; │└└└
; │┌ @ subarray.jl:292 within `getindex'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3464
call fastcc void @gpu_signal_exception71(), !dbg !3464
call void asm sideeffect "exit;", ""() #5, !dbg !3464
call void asm sideeffect "exit;", ""() #5, !dbg !3464
br label %L109.i
L130.i: ; preds = %L131.i, %L109.i
; │└└
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%34 = add i64 %27, -1, !dbg !3493
; ││││││└
%35 = bitcast i8 addrspace(1)* %.fca.0.1.extract to i64 addrspace(1)*, !dbg !3495
%36 = getelementptr inbounds i64, i64 addrspace(1)* %35, i64 %34, !dbg !3495
%37 = load i64, i64 addrspace(1)* %36, align 8, !dbg !3495, !tbaa !459
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%38 = zext i32 %19 to i64, !dbg !3503
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not30 = icmp ult i32 %19, %9, !dbg !3507
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not30, label %L161.i.thread, label %L191.i, !dbg !3510
L161.i.thread: ; preds = %L130.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%39 = getelementptr inbounds i64, i64 addrspace(3)* %13, i64 %38, !dbg !3515
store i64 %37, i64 addrspace(3)* %39, align 8, !dbg !3515, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br label %L190.i, !dbg !3522
L131.i: ; preds = %L109.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; │┌ @ subarray.jl:293 within `getindex' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3479
call fastcc void @gpu_signal_exception71(), !dbg !3479
call void asm sideeffect "exit;", ""() #5, !dbg !3479
call void asm sideeffect "exit;", ""() #5, !dbg !3479
br label %L130.i
L190.i: ; preds = %L191.i, %L161.i.thread
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%40 = phi i64 [ %.pre, %L191.i ], [ %37, %L161.i.thread ], !dbg !3526
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:76 within `flex_lt'
%41 = and i8 %4, 1, !dbg !3531
%.not32 = icmp ne i8 %41, 0, !dbg !3531
%42 = icmp eq i64 %40, %1, !dbg !3531
%narrow33 = and i1 %.not32, %42, !dbg !3531
%43 = icmp sgt i64 %40, %1, !dbg !3531
%value_phi1.i.v = or i1 %narrow33, %43, !dbg !3531
; │└
; │┌ @ int.jl:921 within `&'
; ││┌ @ int.jl:474 within `rem'
; │││┌ @ number.jl:7 within `convert'
; ││││┌ @ boot.jl:752 within `Int64'
; │││││┌ @ boot.jl:679 within `toInt64'
%44 = zext i1 %value_phi1.i.v to i64, !dbg !3533
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not30, label %L232.i, label %L233.i, !dbg !3541
L191.i: ; preds = %L130.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:113 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3510
call fastcc void @gpu_signal_exception71(), !dbg !3510
call void asm sideeffect "exit;", ""() #5, !dbg !3510
call void asm sideeffect "exit;", ""() #5, !dbg !3510
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%45 = getelementptr inbounds i64, i64 addrspace(3)* %13, i64 %38, !dbg !3515
store i64 %37, i64 addrspace(3)* %45, align 8, !dbg !3515, !tbaa !478
; └└└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:114 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3522
call fastcc void @gpu_signal_exception71(), !dbg !3522
call void asm sideeffect "exit;", ""() #5, !dbg !3522
call void asm sideeffect "exit;", ""() #5, !dbg !3522
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%.pre = load i64, i64 addrspace(3)* %45, align 8, !dbg !3526, !tbaa !478
br label %L190.i
L232.i: ; preds = %L233.i, %L190.i
; │└└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%46 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_673, i64 0, i64 %38, !dbg !3544
store i64 %44, i64 addrspace(3)* %46, align 8, !dbg !3544, !tbaa !478
; │└└└└└
br label %L273.i, !dbg !3525
L233.i: ; preds = %L190.i
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3541
call fastcc void @gpu_signal_exception71(), !dbg !3541
call void asm sideeffect "exit;", ""() #5, !dbg !3541
call void asm sideeffect "exit;", ""() #5, !dbg !3541
br label %L232.i
L243.i: ; preds = %entry
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:116 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%47 = zext i32 %19 to i64, !dbg !3549
; │└└└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not40 = icmp ult i32 %19, %9, !dbg !3554
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not40, label %L262.i, label %L263.i, !dbg !3557
L262.i: ; preds = %L263.i, %L243.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%48 = getelementptr inbounds [0 x i64], [0 x i64] addrspace(3)* @__dynamic_shmem_673, i64 0, i64 %47, !dbg !3560
store i64 1, i64 addrspace(3)* %48, align 8, !dbg !3560, !tbaa !478
; ││└└└└
br label %L273.i, !dbg !3559
L263.i: ; preds = %L243.i
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3557
call fastcc void @gpu_signal_exception71(), !dbg !3557
call void asm sideeffect "exit;", ""() #5, !dbg !3557
call void asm sideeffect "exit;", ""() #5, !dbg !3557
br label %L262.i
L273.i: ; preds = %L262.i, %L232.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:119 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:91 within `threadIdx'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl:47 within `threadIdx_x'
; │││┌ @ boot.jl:752 within `Int64'
; ││││┌ @ boot.jl:676 within `toInt64'
%.pre-phi = phi i64 [ %47, %L262.i ], [ %38, %L232.i ], !dbg !3565
; └└└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:118 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3570
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:119 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%.not35 = icmp ult i32 %19, %9, !dbg !3572
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
br i1 %.not35, label %L293.i, label %L294.i, !dbg !3575
L293.i: ; preds = %L294.i, %L273.i
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%49 = getelementptr inbounds i64, i64 addrspace(3)* %13, i64 %.pre-phi, !dbg !3578
%50 = load i64, i64 addrspace(3)* %49, align 8, !dbg !3578, !tbaa !478
; │└└└└└
%51 = call fastcc i64 @julia_merge_swap_shmem_24416(i64 %50, i64 %20, i64 1, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %5, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %6), !dbg !3569
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:121 within `batch_partition'
; │┌ @ int.jl:83 within `<'
%.not3741 = icmp ugt i32 %9, 2, !dbg !3583
; │└
br i1 %.not3741, label %L329.i, label %L343.i, !dbg !3585
L294.i: ; preds = %L273.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:119 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3575
call fastcc void @gpu_signal_exception71(), !dbg !3575
call void asm sideeffect "exit;", ""() #5, !dbg !3575
call void asm sideeffect "exit;", ""() #5, !dbg !3575
br label %L293.i
L329.i: ; preds = %L293.i, %L329.i
%value_phi3.i43 = phi i64 [ %52, %L329.i ], [ %51, %L293.i ]
%value_phi2.i42 = phi i64 [ %53, %L329.i ], [ 2, %L293.i ]
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:122 within `batch_partition'
%52 = call fastcc i64 @julia_merge_swap_shmem_24416(i64 %value_phi3.i43, i64 %20, i64 %value_phi2.i42, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %5, { [1 x i64], i8 addrspace(3)* }* nocapture readonly %6), !dbg !3586
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:123 within `batch_partition'
; │┌ @ int.jl:88 within `*'
%53 = shl i64 %value_phi2.i42, 1, !dbg !3587
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:121 within `batch_partition'
; │┌ @ int.jl:83 within `<'
%.not37 = icmp slt i64 %53, %10, !dbg !3583
; │└
br i1 %.not37, label %L329.i, label %L343.i, !dbg !3585
L343.i: ; preds = %L329.i, %L293.i
%value_phi3.i.lcssa = phi i64 [ %51, %L293.i ], [ %52, %L329.i ]
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:125 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3589
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:127 within `batch_partition'
br i1 %.not, label %_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity.inner.exit, label %L346.i, !dbg !3591
L346.i: ; preds = %L343.i
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:128 within `batch_partition'
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%54 = icmp slt i64 %22, 1, !dbg !3592
%55 = icmp sgt i64 %22, %.fca.1.1.0.0.extract, !dbg !3592
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%56 = or i1 %54, %55, !dbg !3595
br i1 %56, label %L357.i, label %L356.i, !dbg !3595
L356.i: ; preds = %L357.i, %L346.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!'
; ││┌ @ int.jl:88 within `*'
%57 = mul i64 %22, %.fca.3.extract, !dbg !3599
; ││└
; ││┌ @ int.jl:87 within `+'
%58 = add i64 %57, %.fca.2.extract, !dbg !3601
; ││└
; ││ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; ││││┌ @ abstractarray.jl:311 within `eachindex'
; │││││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:60 within `length'
; ││││││┌ @ tuple.jl:480 within `prod'
; │││││││┌ @ int.jl:88 within `*'
%59 = mul i64 %.fca.0.0.0.extract, %.fca.0.0.1.extract, !dbg !3602
; │││││└└└
; │││││┌ @ range.jl:337 within `oneto'
; ││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││┌ @ promotion.jl:421 within `max'
%60 = icmp sgt i64 %59, 0, !dbg !3610
%61 = select i1 %60, i64 %59, i64 0, !dbg !3610
; ││││└└└└
; ││││┌ @ abstractarray.jl:667 within `checkindex'
; │││││┌ @ int.jl:442 within `<='
%62 = icmp slt i64 %58, 1, !dbg !3614
%63 = icmp sgt i64 %58, %61, !dbg !3614
; ││││└└
; ││││ @ abstractarray.jl:610 within `checkbounds'
%64 = or i1 %62, %63, !dbg !3607
br i1 %64, label %L378.i, label %L377.i, !dbg !3607
L357.i: ; preds = %L346.i
; │└└└
; │┌ @ subarray.jl:324 within `setindex!'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3595
call fastcc void @gpu_signal_exception71(), !dbg !3595
call void asm sideeffect "exit;", ""() #5, !dbg !3595
call void asm sideeffect "exit;", ""() #5, !dbg !3595
br label %L356.i
L377.i: ; preds = %L378.i, %L356.i
; │└└
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; │││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; ││││││┌ @ int.jl:86 within `-'
%65 = add i64 %58, -1, !dbg !3616
; ││││││└
%66 = bitcast i8 addrspace(1)* %.fca.0.1.extract to i64 addrspace(1)*, !dbg !3617
%67 = getelementptr inbounds i64, i64 addrspace(1)* %66, i64 %65, !dbg !3617
store i64 %value_phi3.i.lcssa, i64 addrspace(1)* %67, align 8, !dbg !3617, !tbaa !459
; │└└└└└
br label %_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity.inner.exit, !dbg !3598
L378.i: ; preds = %L356.i
; │┌ @ subarray.jl:325 within `setindex!' @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; │││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3607
call fastcc void @gpu_signal_exception71(), !dbg !3607
call void asm sideeffect "exit;", ""() #5, !dbg !3607
call void asm sideeffect "exit;", ""() #5, !dbg !3607
br label %L377.i
_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity.inner.exit: ; preds = %L377.i, %L343.i
; └└└└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:130 within `batch_partition'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3622
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:142 within `partition_batches_kernel'
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %7), !dbg !3624
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %8), !dbg !3624
ret void
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:41 within `report_exception'
define internal fastcc void @gpu_report_exception70(i64 %0) unnamed_addr !dbg !3625 {
top:
%1 = alloca %printf_args.185.186.224, align 8
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:42 within `report_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = bitcast %printf_args.185.186.224* %1 to i8*, !dbg !3626
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %2), !dbg !3626
%3 = getelementptr inbounds %printf_args.185.186.224, %printf_args.185.186.224* %1, i64 0, i32 0, !dbg !3626
store i64 %0, i64* %3, align 8, !dbg !3626
%4 = call i32 @vprintf(i8* getelementptr inbounds ([108 x i8], [108 x i8]* @2, i64 0, i64 0), i8* nonnull %2), !dbg !3626
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %2), !dbg !3626
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:46 within `report_exception'
ret void, !dbg !3633
}
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:27 within `signal_exception'
define internal fastcc void @gpu_signal_exception71() unnamed_addr !dbg !3634 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:28 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:25 within `exception_flag'
%0 = call i64 @julia_exception_flag(), !dbg !3635
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:29 within `signal_exception'
%.not = icmp eq i64 %0, 0, !dbg !3638
br i1 %.not, label %L9, label %L5, !dbg !3638
L5: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:30 within `signal_exception'
; ┌ @ pointer.jl:118 within `unsafe_store!' @ pointer.jl:118
%1 = inttoptr i64 %0 to i64*, !dbg !3639
store i64 1, i64* %1, align 1, !dbg !3639, !tbaa !220
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:31 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:115 within `threadfence_system'
call void @llvm.nvvm.membar.sys(), !dbg !3643
; └
br label %L12, !dbg !3645
L9: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:33 within `signal_exception'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `_cuprintf'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl:38 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%2 = call i32 @vprintf(i8* getelementptr inbounds ([110 x i8], [110 x i8]* @1, i64 0, i64 0), i8* null), !dbg !3646
br label %L12, !dbg !3646
L12: ; preds = %L9, %L5
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl:38 within `signal_exception'
ret void, !dbg !3653
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:86 within `merge_swap_shmem'
define internal fastcc i64 @julia_merge_swap_shmem_24416(i64 %0, i64 %1, i64 %2, { [1 x i64], i8 addrspace(3)* }* nocapture nonnull readonly align 8 dereferenceable(16) %3, { [1 x i64], i8 addrspace(3)* }* nocapture nonnull readonly align 8 dereferenceable(16) %4) unnamed_addr !dbg !3654 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:88 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3655
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:89 within `merge_swap_shmem'
; ┌ @ int.jl:88 within `*'
%5 = shl i64 %2, 1, !dbg !3658
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:86 within `-'
%6 = add i64 %1, -1, !dbg !3661
; │└
; │┌ @ int.jl:262 within `rem'
%cond = icmp eq i64 %5, 0, !dbg !3665
br i1 %cond, label %fail, label %oksrem, !dbg !3665
L17: ; preds = %oksrem
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3667
call fastcc void @gpu_signal_exception71(), !dbg !3667
call void asm sideeffect "exit;", ""() #5, !dbg !3667
call void asm sideeffect "exit;", ""() #5, !dbg !3667
br label %L20
L20: ; preds = %oksrem, %L17
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl:33 within `getproperty'
%7 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %3, i64 0, i32 1, !dbg !3673
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%8 = add i64 %42, -1, !dbg !3678
; │││││└
%9 = bitcast i8 addrspace(3)** %7 to i64 addrspace(3)**, !dbg !3679
%10 = load i64 addrspace(3)*, i64 addrspace(3)** %9, align 8, !dbg !3679, !tbaa !200
%11 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %8, !dbg !3679
%12 = load i64, i64 addrspace(3)* %11, align 8, !dbg !3679, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:90 within `merge_swap_shmem'
; ┌ @ int.jl:86 within `-'
%13 = sub i64 %2, %12, !dbg !3687
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:91 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:44 within `batch_ceil'
; │┌ @ int.jl:87 within `+'
%14 = add i64 %5, %1, !dbg !3689
; │└
; │┌ @ int.jl:262 within `rem'
br i1 %cond, label %fail1, label %oksrem4, !dbg !3694
L45: ; preds = %oksrem4
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3695
call fastcc void @gpu_signal_exception71(), !dbg !3695
call void asm sideeffect "exit;", ""() #5, !dbg !3695
call void asm sideeffect "exit;", ""() #5, !dbg !3695
br label %L48
L48: ; preds = %oksrem4, %L45
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%15 = add i64 %51, -1, !dbg !3698
; │││││└
%16 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %15, !dbg !3699
%17 = load i64, i64 addrspace(3)* %16, align 8, !dbg !3699, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:92 within `merge_swap_shmem'
; ┌ @ int.jl:86 within `-'
%18 = sub i64 %2, %17, !dbg !3704
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:93 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:312 within `eachindex'
; ││││┌ @ abstractarray.jl:109 within `axes1'
; │││││┌ @ abstractarray.jl:89 within `axes'
; ││││││┌ @ tuple.jl:213 within `map'
; │││││││┌ @ tuple.jl:29 within `getindex'
%19 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %4, i64 0, i32 0, i64 0, !dbg !3706
; │││││││└
; │││││││┌ @ range.jl:337 within `oneto'
; ││││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││││┌ @ promotion.jl:421 within `max'
; ││││││││││┌ @ int.jl:83 within `<'
%20 = load i64, i64* %19, align 8, !dbg !3723, !tbaa !200
; ││││││││││└
%21 = icmp sgt i64 %20, 0, !dbg !3725
%22 = select i1 %21, i64 %20, i64 0, !dbg !3725
; │││└└└└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%23 = icmp slt i64 %1, 1, !dbg !3732
%24 = icmp slt i64 %22, %1, !dbg !3732
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%25 = or i1 %23, %24, !dbg !3717
br i1 %25, label %L67, label %L70, !dbg !3717
L67: ; preds = %L48
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3717
call fastcc void @gpu_signal_exception71(), !dbg !3717
call void asm sideeffect "exit;", ""() #5, !dbg !3717
call void asm sideeffect "exit;", ""() #5, !dbg !3717
br label %L70
L70: ; preds = %L67, %L48
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:54 within `pointer'
; │││┌ @ Base.jl:33 within `getproperty'
%26 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %4, i64 0, i32 1, !dbg !3736
; ││└└
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%27 = bitcast i8 addrspace(3)** %26 to i64 addrspace(3)**, !dbg !3739
%28 = load i64 addrspace(3)*, i64 addrspace(3)** %27, align 8, !dbg !3739, !tbaa !200
%29 = getelementptr inbounds i64, i64 addrspace(3)* %28, i64 %6, !dbg !3739
store i64 %0, i64 addrspace(3)* %29, align 8, !dbg !3739, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:94 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl:14 within `sync_threads'
call void @llvm.nvvm.barrier0(), !dbg !3745
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:95 within `merge_swap_shmem'
; ┌ @ int.jl:87 within `+'
%30 = add i64 %17, %12, !dbg !3747
; └
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:103 within `setindex!'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:86 within `arrayset'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%31 = icmp slt i64 %46, %1, !dbg !3749
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%32 = or i1 %23, %31, !dbg !3752
br i1 %32, label %L90, label %L93, !dbg !3752
L90: ; preds = %L70
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3752
call fastcc void @gpu_signal_exception71(), !dbg !3752
call void asm sideeffect "exit;", ""() #5, !dbg !3752
call void asm sideeffect "exit;", ""() #5, !dbg !3752
br label %L93
L93: ; preds = %L90, %L70
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:88 within `arrayset'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:82 within `unsafe_store!'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `pointerset'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:42 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
%33 = getelementptr inbounds i64, i64 addrspace(3)* %10, i64 %6, !dbg !3755
store i64 %30, i64 addrspace(3)* %33, align 8, !dbg !3755, !tbaa !478
; └└└└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:96 within `merge_swap_shmem'
%34 = call fastcc i64 @julia_batch_step_swap_24429(i64 %1, i64 %5, i64 %13, i64 %12, i64 %18), !dbg !3760
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%35 = icmp slt i64 %34, 1, !dbg !3761
%36 = icmp sgt i64 %34, %22, !dbg !3761
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%37 = or i1 %35, %36, !dbg !3764
br i1 %37, label %L113, label %L116, !dbg !3764
L113: ; preds = %L93
call fastcc void @gpu_report_exception70(i64 ptrtoint ([12 x i8]* @exception32 to i64)), !dbg !3764
call fastcc void @gpu_signal_exception71(), !dbg !3764
call void asm sideeffect "exit;", ""() #5, !dbg !3764
call void asm sideeffect "exit;", ""() #5, !dbg !3764
br label %L116
L116: ; preds = %L113, %L93
; │└└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:82 within `arrayref'
; ││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:79 within `unsafe_load'
; │││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `pointerref'
; ││││┌ @ /home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl:7 within `macro expansion' @ /home/tbesard/Julia/pkg/LLVM/src/interop/base.jl:74
; │││││┌ @ int.jl:86 within `-'
%38 = add i64 %34, -1, !dbg !3767
; │││││└
%39 = getelementptr inbounds i64, i64 addrspace(3)* %28, i64 %38, !dbg !3768
%40 = load i64, i64 addrspace(3)* %39, align 8, !dbg !3768, !tbaa !478
; └└└└└
ret i64 %40, !dbg !3760
fail: ; preds = %top
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:89 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3665
call fastcc void @gpu_signal_exception71(), !dbg !3665
call void asm sideeffect "exit;", ""() #5, !dbg !3665
br label %oksrem, !dbg !3665
oksrem: ; preds = %fail, %top
%41 = srem i64 %6, %5, !dbg !3665
; │└
; │┌ @ int.jl:86 within `-'
%42 = sub i64 %1, %41, !dbg !3661
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:312 within `eachindex'
; ││││┌ @ abstractarray.jl:109 within `axes1'
; │││││┌ @ abstractarray.jl:89 within `axes'
; ││││││┌ @ tuple.jl:213 within `map'
; │││││││┌ @ tuple.jl:29 within `getindex'
%43 = getelementptr inbounds { [1 x i64], i8 addrspace(3)* }, { [1 x i64], i8 addrspace(3)* }* %3, i64 0, i32 0, i64 0, !dbg !3773
; │││││││└
; │││││││┌ @ range.jl:337 within `oneto'
; ││││││││┌ @ range.jl:335 within `OneTo' @ range.jl:326
; │││││││││┌ @ promotion.jl:421 within `max'
; ││││││││││┌ @ int.jl:83 within `<'
%44 = load i64, i64* %43, align 8, !dbg !3779, !tbaa !200
; ││││││││││└
%45 = icmp sgt i64 %44, 0, !dbg !3780
%46 = select i1 %45, i64 %44, i64 0, !dbg !3780
; │││└└└└└└└
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%47 = icmp slt i64 %42, 1, !dbg !3784
%48 = icmp sgt i64 %42, %46, !dbg !3784
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%49 = or i1 %47, %48, !dbg !3667
br i1 %49, label %L17, label %L20, !dbg !3667
fail1: ; preds = %L20
; └└└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:91 within `merge_swap_shmem'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:44 within `batch_ceil'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3694
call fastcc void @gpu_signal_exception71(), !dbg !3694
call void asm sideeffect "exit;", ""() #5, !dbg !3694
br label %oksrem4, !dbg !3694
oksrem4: ; preds = %fail1, %L20
; │└
; │┌ @ int.jl:86 within `-'
%50 = xor i64 %41, -1, !dbg !3786
%51 = add i64 %14, %50, !dbg !3786
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:101 within `getindex'
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/device/array.jl:80 within `arrayref'
; ││┌ @ abstractarray.jl:610 within `checkbounds' @ abstractarray.jl:595
; │││┌ @ abstractarray.jl:667 within `checkindex'
; ││││┌ @ int.jl:442 within `<='
%52 = icmp slt i64 %51, 1, !dbg !3787
%53 = icmp sgt i64 %51, %46, !dbg !3787
; │││└└
; │││ @ abstractarray.jl:610 within `checkbounds'
%54 = or i1 %52, %53, !dbg !3695
br i1 %54, label %L45, label %L48, !dbg !3695
; └└└
}
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:68 within `batch_step_swap'
define internal fastcc i64 @julia_batch_step_swap_24429(i64 %0, i64 %1, i64 %2, i64 %3, i64 %4) unnamed_addr !dbg !3790 {
top:
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:69 within `batch_step_swap'
; ┌ @ int.jl:86 within `-'
%5 = add i64 %0, -1, !dbg !3791
; └
; ┌ @ int.jl:262 within `rem'
switch i64 %1, label %after_srem [
i64 0, label %after_srem.thread7
i64 -1, label %after_srem5
], !dbg !3794
after_srem.thread7: ; preds = %top
call fastcc void @gpu_report_exception70(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3794
call fastcc void @gpu_signal_exception71(), !dbg !3794
call void asm sideeffect "exit;", ""() #5, !dbg !3794
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:70 within `batch_step_swap'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
call fastcc void @gpu_report_exception70(i64 ptrtoint ([10 x i8]* @exception6 to i64)), !dbg !3796
call fastcc void @gpu_signal_exception71(), !dbg !3796
call void asm sideeffect "exit;", ""() #5, !dbg !3796
%.pre = srem i64 %5, %1, !dbg !3796
br label %oksrem4, !dbg !3796
after_srem: ; preds = %top
; └└
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:69 within `batch_step_swap'
; ┌ @ int.jl:262 within `rem'
%6 = srem i64 %5, %1, !dbg !3794
%phi.bo = add i64 %6, 1, !dbg !3794
; └
; @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:70 within `batch_step_swap'
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:37 within `batch_floor'
; │┌ @ int.jl:262 within `rem'
br label %oksrem4, !dbg !3796
oksrem4: ; preds = %after_srem, %after_srem.thread7
%.pre-phi = phi i64 [ %.pre, %after_srem.thread7 ], [ %6, %after_srem ], !dbg !3796
%phi.bo10 = phi i64 [ undef, %after_srem.thread7 ], [ %phi.bo, %after_srem ]
%phi.bo6 = xor i64 %.pre-phi, -1, !dbg !3796
br label %after_srem5, !dbg !3796
after_srem5: ; preds = %oksrem4, %top
%7 = phi i64 [ %phi.bo10, %oksrem4 ], [ 1, %top ]
%8 = phi i64 [ %phi.bo6, %oksrem4 ], [ -1, %top ]
; └└
; ┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:62 within `step_swap'
; │┌ @ int.jl:86 within `-'
%9 = sub i64 %7, %2, !dbg !3800
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%10 = icmp sgt i64 %9, 0, !dbg !3803
; │└└
; │┌ @ int.jl:88 within `*'
%11 = select i1 %10, i64 %3, i64 0, !dbg !3807
; │└
; │┌ @ int.jl:87 within `+'
%12 = add i64 %4, %2, !dbg !3809
; │└
; │┌ @ int.jl:86 within `-'
%13 = sub i64 %7, %12, !dbg !3800
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%14 = icmp sgt i64 %13, 0, !dbg !3803
; │└└
; │┌ @ int.jl:87 within `+'
%15 = add i64 %4, %3, !dbg !3809
; │└
; │┌ @ int.jl:88 within `*'
%16 = select i1 %14, i64 %15, i64 0, !dbg !3807
; │└
; │┌ @ operators.jl:540 within `+' @ int.jl:87
%17 = add i64 %3, %2, !dbg !3811
%18 = add i64 %17, %4, !dbg !3811
; │└
; │┌ @ int.jl:86 within `-'
%19 = sub i64 %7, %18, !dbg !3800
; │└
; │┌ @ /home/tbesard/Julia/pkg/CUDA/src/sorting.jl:51 within `Θ'
; ││┌ @ int.jl:442 within `<='
%20 = icmp sgt i64 %19, 0, !dbg !3803
; │└└
; │┌ @ int.jl:88 within `*'
%21 = select i1 %20, i64 %4, i64 0, !dbg !3807
; │└
; │┌ @ int.jl:87 within `+'
%22 = add i64 %7, %0, !dbg !3809
; │└
; │┌ @ int.jl:86 within `-'
%23 = add i64 %22, %8, !dbg !3800
; │└
; │┌ @ int.jl:87 within `+'
%24 = add i64 %23, %11, !dbg !3809
; └└
; ┌ @ int.jl:86 within `-'
%25 = sub i64 %24, %16, !dbg !3814
; └
; ┌ @ int.jl:87 within `+'
%26 = add i64 %25, %21, !dbg !3815
; └
ret i64 %26, !dbg !3799
}
attributes #0 = { argmemonly nounwind willreturn }
attributes #1 = { convergent nounwind }
attributes #2 = { nounwind readnone speculatable willreturn }
attributes #3 = { nounwind readnone }
attributes #4 = { noinline }
attributes #5 = { nounwind }
!llvm.module.flags = !{!0, !1}
!llvm.dbg.cu = !{!2, !5, !7, !8, !10, !11, !12, !13, !15, !16, !18, !19, !20, !21, !22, !24, !25, !26, !28, !29, !30, !31, !32, !33, !34, !35, !36, !37, !38, !39, !40, !41, !42, !43, !44, !45, !46, !47, !48, !49, !50, !51, !53, !54, !55, !56, !57, !58, !59, !60, !61, !62, !63, !64, !65, !66, !67, !68, !69, !70, !71, !72, !73, !74, !75, !76, !77, !78, !79, !80, !81, !82, !83, !84, !85, !86, !87, !88, !89, !90, !91, !92, !93, !94, !95, !96, !97, !98, !99, !100, !101, !102, !103, !104, !105, !106, !107, !108, !109, !110, !111, !112, !113, !114, !115, !116, !117, !118, !119, !120, !121, !122, !123, !124, !125, !126, !127, !128, !129, !130, !131, !132, !133, !134, !135, !136, !137, !138, !139, !140, !141, !142, !143, !144, !145, !146, !147, !148, !149, !150, !151, !152, !153, !154, !155, !156, !157, !158, !159, !160, !161, !162, !163, !164, !165, !166, !167}
!nvvm.annotations = !{!168, !169, !170, !171}
!0 = !{i32 2, !"Dwarf Version", i32 4}
!1 = !{i32 1, !"Debug Info Version", i32 3}
!2 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!3 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/compiler/execution.jl", directory: ".")
!4 = !{}
!5 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!6 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/sorting.jl", directory: ".")
!7 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!8 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!9 = !DIFile(filename: "abstractarray.jl", directory: ".")
!10 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!11 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!12 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!13 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !14, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!14 = !DIFile(filename: "boot.jl", directory: ".")
!15 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!16 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !17, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!17 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/dynamic_parallelism.jl", directory: ".")
!18 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!19 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!20 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!21 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!22 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!23 = !DIFile(filename: "/home/tbesard/Julia/pkg/GPUCompiler/src/runtime.jl", directory: ".")
!24 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!25 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!26 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!27 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/runtime.jl", directory: ".")
!28 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!29 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!30 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!31 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!32 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!33 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!34 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!35 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!36 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!37 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!38 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!39 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!40 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!41 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!42 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!43 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!44 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!45 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!46 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!47 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!48 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!49 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!50 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!51 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !52, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!52 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_dynamic.jl", directory: ".")
!53 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!54 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!55 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!56 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!57 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!58 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!59 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!60 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!61 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !14, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!62 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !17, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!63 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!64 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!65 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!66 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!67 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!68 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!69 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!70 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!71 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!72 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!73 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!74 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!75 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!76 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!77 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!78 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!79 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!80 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!81 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!82 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!83 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!84 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!85 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!86 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!87 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!88 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!89 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!90 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!91 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!92 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !52, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!93 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!94 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!95 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!96 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!97 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!98 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !14, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!99 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!100 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !17, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!101 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !3, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!102 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!103 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!104 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!105 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!106 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!107 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!108 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!109 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!110 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!111 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!112 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!113 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!114 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!115 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!116 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!117 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!118 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!119 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!120 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!121 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!122 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!123 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!124 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!125 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!126 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!127 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!128 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!129 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!130 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!131 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !52, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!132 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!133 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!134 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!135 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !6, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!136 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!137 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!138 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !9, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!139 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!140 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!141 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!142 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!143 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!144 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!145 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!146 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!147 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!148 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!149 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!150 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!151 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!152 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!153 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!154 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!155 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!156 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!157 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!158 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!159 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!160 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!161 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!162 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!163 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!164 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!165 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !23, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!166 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !52, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!167 = distinct !DICompileUnit(language: DW_LANG_Julia, file: !27, producer: "julia", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !4, nameTableKind: None)
!168 = !{void ({ [2 x i64], i8 addrspace(1)* }, i64, i64, i8, i64)* @_Z24julia_qsort_kernel_2352913CuDeviceArrayI5Int64Li2ELi1EES0_S0_4Bool3ValILitrueEES0_v7_isless9_identityS2_ILi2EE, !"kernel", i32 1}
!169 = !{void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_237948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_, !"kernel", i32 1}
!170 = !{void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i8, i64, i64, i64)* @_Z24julia_qsort_kernel_240948SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_, !"kernel", i32 1}
!171 = !{void ({ { [2 x i64], i8 addrspace(1)* }, { i64, [1 x [1 x i64]] }, i64, i64 }, i64, i64, i64, i8)* @_Z36julia_partition_batches_kernel_243438SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity, !"kernel", i32 1}
!172 = distinct !DISubprogram(name: "dynamic_cudacall##kw", linkageName: "julia_dynamic_cudacall##kw_23758", scope: null, file: !3, line: 361, type: !173, scopeLine: 361, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!173 = !DISubroutineType(types: !4)
!174 = !{!175, !175, i64 0}
!175 = !{!"jtbaa", !176, i64 0}
!176 = !{!"jtbaa"}
!177 = !DILocation(line: 118, scope: !178, inlinedAt: !180)
!178 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!179 = !DIFile(filename: "namedtuple.jl", directory: ".")
!180 = !DILocation(line: 361, scope: !172)
!181 = !DILocation(line: 630, scope: !182, inlinedAt: !183)
!182 = distinct !DISubprogram(name: "checked_trunc_uint;", linkageName: "checked_trunc_uint", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!183 = !DILocation(line: 716, scope: !184, inlinedAt: !185)
!184 = distinct !DISubprogram(name: "toUInt32;", linkageName: "toUInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!185 = !DILocation(line: 756, scope: !186, inlinedAt: !187)
!186 = distinct !DISubprogram(name: "UInt32;", linkageName: "UInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!187 = !DILocation(line: 7, scope: !188, inlinedAt: !190)
!188 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!189 = !DIFile(filename: "number.jl", directory: ".")
!190 = !DILocation(line: 18, scope: !191, inlinedAt: !193)
!191 = distinct !DISubprogram(name: "CuDim3;", linkageName: "CuDim3", scope: !192, file: !192, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!192 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/lib/cudadrv/types.jl", directory: ".")
!193 = !DILocation(line: 23, scope: !191, inlinedAt: !194)
!194 = !DILocation(line: 60, scope: !195, inlinedAt: !196)
!195 = distinct !DISubprogram(name: "device_launch;", linkageName: "device_launch", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!196 = !DILocation(line: 383, scope: !197, inlinedAt: !198)
!197 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!198 = !DILocation(line: 361, scope: !199, inlinedAt: !180)
!199 = distinct !DISubprogram(name: "#dynamic_cudacall#229;", linkageName: "#dynamic_cudacall#229", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!200 = !{!201, !201, i64 0}
!201 = !{!"jtbaa_const", !175, i64 0}
!202 = !DILocation(line: 632, scope: !182, inlinedAt: !183)
!203 = !DILocation(line: 630, scope: !182, inlinedAt: !204)
!204 = !DILocation(line: 716, scope: !184, inlinedAt: !205)
!205 = !DILocation(line: 756, scope: !186, inlinedAt: !206)
!206 = !DILocation(line: 7, scope: !188, inlinedAt: !207)
!207 = !DILocation(line: 396, scope: !208, inlinedAt: !210)
!208 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!209 = !DIFile(filename: "essentials.jl", directory: ".")
!210 = !DILocation(line: 225, scope: !211, inlinedAt: !213)
!211 = distinct !DISubprogram(name: "cudaGetParameterBufferV2;", linkageName: "cudaGetParameterBufferV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!212 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/libcudadevrt.jl", directory: ".")
!213 = !DILocation(line: 72, scope: !214, inlinedAt: !215)
!214 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!215 = !DILocation(line: 68, scope: !216, inlinedAt: !217)
!216 = distinct !DISubprogram(name: "parameter_buffer;", linkageName: "parameter_buffer", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!217 = !DILocation(line: 62, scope: !195, inlinedAt: !196)
!218 = !DILocation(line: 632, scope: !182, inlinedAt: !204)
!219 = !DILocation(line: 73, scope: !214, inlinedAt: !215)
!220 = !{!221, !221, i64 0}
!221 = !{!"jtbaa_data", !175, i64 0}
!222 = !DILocation(line: 159, scope: !223, inlinedAt: !219)
!223 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!224 = !DIFile(filename: "pointer.jl", directory: ".")
!225 = !DILocation(line: 33, scope: !226, inlinedAt: !228)
!226 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!227 = !DIFile(filename: "Base.jl", directory: ".")
!228 = !DILocation(line: 47, scope: !229, inlinedAt: !230)
!229 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!230 = !DILocation(line: 251, scope: !231, inlinedAt: !232)
!231 = distinct !DISubprogram(name: "cudaLaunchDeviceV2;", linkageName: "cudaLaunchDeviceV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!232 = !DILocation(line: 25, scope: !195, inlinedAt: !196)
!233 = !DILocation(line: 410, scope: !234, inlinedAt: !236)
!234 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!235 = !DIFile(filename: "promotion.jl", directory: ".")
!236 = !DILocation(line: 7, scope: !237, inlinedAt: !239)
!237 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!238 = !DIFile(filename: "/home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/operators.jl", directory: ".")
!239 = !DILocation(line: 204, scope: !240, inlinedAt: !242)
!240 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!241 = !DIFile(filename: "operators.jl", directory: ".")
!242 = !DILocation(line: 26, scope: !195, inlinedAt: !196)
!243 = !DILocation(line: 8, scope: !244, inlinedAt: !245)
!244 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !2, retainedNodes: !4)
!245 = !DILocation(line: 27, scope: !195, inlinedAt: !196)
!246 = !{!247, !247, i64 0}
!247 = !{!"jtbaa_stack", !175, i64 0}
!248 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_23532", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!249 = !DILocation(line: 74, scope: !250, inlinedAt: !252)
!250 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!251 = !DIFile(filename: "/home/tbesard/Julia/pkg/LLVM/src/interop/base.jl", directory: ".")
!252 = !DILocation(line: 7, scope: !253, inlinedAt: !255)
!253 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!254 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/indexing.jl", directory: ".")
!255 = !DILocation(line: 7, scope: !256, inlinedAt: !257)
!256 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!257 = !DILocation(line: 52, scope: !258, inlinedAt: !259)
!258 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!259 = !DILocation(line: 84, scope: !260, inlinedAt: !261)
!260 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!261 = !DILocation(line: 50, scope: !262, inlinedAt: !264)
!262 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !263, file: !263, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!263 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/memory_shared.jl", directory: ".")
!264 = !DILocation(line: 326, scope: !248)
!265 = !{i32 1, i32 1024}
!266 = !DILocation(line: 676, scope: !267, inlinedAt: !268)
!267 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!268 = !DILocation(line: 752, scope: !269, inlinedAt: !257)
!269 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!270 = !DILocation(line: 108, scope: !271, inlinedAt: !273)
!271 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!272 = !DIFile(filename: "/home/tbesard/Julia/pkg/LLVM/src/interop/pointer.jl", directory: ".")
!273 = !DILocation(line: 49, scope: !262, inlinedAt: !274)
!274 = !DILocation(line: 327, scope: !248)
!275 = !DILocation(line: 87, scope: !276, inlinedAt: !278)
!276 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!277 = !DIFile(filename: "int.jl", directory: ".")
!278 = !DILocation(line: 328, scope: !248)
!279 = !DILocation(line: 86, scope: !280, inlinedAt: !281)
!280 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!281 = !DILocation(line: 329, scope: !248)
!282 = !DILocation(line: 29, scope: !283, inlinedAt: !285)
!283 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!284 = !DIFile(filename: "tuple.jl", directory: ".")
!285 = !DILocation(line: 38, scope: !286, inlinedAt: !287)
!286 = distinct !DISubprogram(name: "size;", linkageName: "size", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!287 = !DILocation(line: 336, scope: !288, inlinedAt: !289)
!288 = distinct !DISubprogram(name: "#4;", linkageName: "#4", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!289 = !DILocation(line: 19, scope: !290, inlinedAt: !292)
!290 = distinct !DISubprogram(name: "ntuple;", linkageName: "ntuple", scope: !291, file: !291, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!291 = !DIFile(filename: "ntuple.jl", directory: ".")
!292 = !DILocation(line: 336, scope: !248)
!293 = !DILocation(line: 83, scope: !294, inlinedAt: !295)
!294 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!295 = !DILocation(line: 421, scope: !296, inlinedAt: !297)
!296 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!297 = !DILocation(line: 326, scope: !298, inlinedAt: !300)
!298 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!299 = !DIFile(filename: "range.jl", directory: ".")
!300 = !DILocation(line: 335, scope: !298, inlinedAt: !301)
!301 = !DILocation(line: 281, scope: !302, inlinedAt: !304)
!302 = distinct !DISubprogram(name: "_convert2ind;", linkageName: "_convert2ind", scope: !303, file: !303, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!303 = !DIFile(filename: "multidimensional.jl", directory: ".")
!304 = !DILocation(line: 214, scope: !305, inlinedAt: !306)
!305 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!306 = !DILocation(line: 276, scope: !307, inlinedAt: !308)
!307 = distinct !DISubprogram(name: "CartesianIndices;", linkageName: "CartesianIndices", scope: !303, file: !303, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!308 = !DILocation(line: 337, scope: !248)
!309 = !DILocation(line: 74, scope: !250, inlinedAt: !310)
!310 = !DILocation(line: 7, scope: !253, inlinedAt: !311)
!311 = !DILocation(line: 7, scope: !256, inlinedAt: !312)
!312 = !DILocation(line: 57, scope: !313, inlinedAt: !314)
!313 = distinct !DISubprogram(name: "blockIdx_x;", linkageName: "blockIdx_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!314 = !DILocation(line: 77, scope: !315, inlinedAt: !308)
!315 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!316 = !{i32 0, i32 2147483646}
!317 = !DILocation(line: 87, scope: !276, inlinedAt: !312)
!318 = !DILocation(line: 442, scope: !319, inlinedAt: !320)
!319 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!320 = !DILocation(line: 667, scope: !321, inlinedAt: !322)
!321 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!322 = !DILocation(line: 595, scope: !323, inlinedAt: !324)
!323 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!324 = !DILocation(line: 610, scope: !323, inlinedAt: !325)
!325 = !DILocation(line: 1202, scope: !326, inlinedAt: !327)
!326 = distinct !DISubprogram(name: "_getindex;", linkageName: "_getindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!327 = !DILocation(line: 1164, scope: !328, inlinedAt: !308)
!328 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!329 = !DILocation(line: 86, scope: !280, inlinedAt: !330)
!330 = !DILocation(line: 2041, scope: !331, inlinedAt: !332)
!331 = distinct !DISubprogram(name: "_ind2sub;", linkageName: "_ind2sub", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!332 = !DILocation(line: 2003, scope: !331, inlinedAt: !333)
!333 = !DILocation(line: 1232, scope: !334, inlinedAt: !335)
!334 = distinct !DISubprogram(name: "_unsafe_ind2sub;", linkageName: "_unsafe_ind2sub", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!335 = !DILocation(line: 1210, scope: !336, inlinedAt: !337)
!336 = distinct !DISubprogram(name: "_to_subscript_indices;", linkageName: "_to_subscript_indices", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!337 = !DILocation(line: 1203, scope: !326, inlinedAt: !327)
!338 = !DILocation(line: 261, scope: !339, inlinedAt: !340)
!339 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!340 = !DILocation(line: 2061, scope: !341, inlinedAt: !342)
!341 = distinct !DISubprogram(name: "_div;", linkageName: "_div", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!342 = !DILocation(line: 2054, scope: !343, inlinedAt: !330)
!343 = distinct !DISubprogram(name: "_ind2sub_recurse;", linkageName: "_ind2sub_recurse", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!344 = !DILocation(line: 702, scope: !345, inlinedAt: !346)
!345 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!346 = !DILocation(line: 648, scope: !347, inlinedAt: !349)
!347 = distinct !DISubprogram(name: "_broadcast_getindex_evalf;", linkageName: "_broadcast_getindex_evalf", scope: !348, file: !348, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!348 = !DIFile(filename: "broadcast.jl", directory: ".")
!349 = !DILocation(line: 621, scope: !350, inlinedAt: !351)
!350 = distinct !DISubprogram(name: "_broadcast_getindex;", linkageName: "_broadcast_getindex", scope: !348, file: !348, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!351 = !DILocation(line: 1096, scope: !352, inlinedAt: !353)
!352 = distinct !DISubprogram(name: "#19;", linkageName: "#19", scope: !348, file: !348, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!353 = !DILocation(line: 49, scope: !290, inlinedAt: !354)
!354 = !DILocation(line: 1096, scope: !355, inlinedAt: !356)
!355 = distinct !DISubprogram(name: "copy;", linkageName: "copy", scope: !348, file: !348, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!356 = !DILocation(line: 883, scope: !357, inlinedAt: !358)
!357 = distinct !DISubprogram(name: "materialize;", linkageName: "materialize", scope: !348, file: !348, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!358 = !DILocation(line: 353, scope: !359, inlinedAt: !337)
!359 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !303, file: !303, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!360 = !DILocation(line: 36, scope: !361, inlinedAt: !344)
!361 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !362, file: !362, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!362 = !DIFile(filename: "bool.jl", directory: ".")
!363 = !DILocation(line: 29, scope: !283, inlinedAt: !364)
!364 = !DILocation(line: 214, scope: !305, inlinedAt: !365)
!365 = !DILocation(line: 89, scope: !366, inlinedAt: !367)
!366 = distinct !DISubprogram(name: "axes;", linkageName: "axes", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!367 = !DILocation(line: 340, scope: !248)
!368 = !DILocation(line: 83, scope: !294, inlinedAt: !369)
!369 = !DILocation(line: 421, scope: !296, inlinedAt: !370)
!370 = !DILocation(line: 326, scope: !298, inlinedAt: !371)
!371 = !DILocation(line: 335, scope: !298, inlinedAt: !372)
!372 = !DILocation(line: 337, scope: !373, inlinedAt: !364)
!373 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!374 = !DILocation(line: 610, scope: !323, inlinedAt: !375)
!375 = !DILocation(line: 167, scope: !376, inlinedAt: !378)
!376 = distinct !DISubprogram(name: "view;", linkageName: "view", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!377 = !DIFile(filename: "subarray.jl", directory: ".")
!378 = !DILocation(line: 342, scope: !248)
!379 = !DILocation(line: 86, scope: !280, inlinedAt: !380)
!380 = !DILocation(line: 387, scope: !381, inlinedAt: !382)
!381 = distinct !DISubprogram(name: "compute_offset1;", linkageName: "compute_offset1", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!382 = !DILocation(line: 385, scope: !381, inlinedAt: !383)
!383 = !DILocation(line: 38, scope: !384, inlinedAt: !385)
!384 = distinct !DISubprogram(name: "SubArray;", linkageName: "SubArray", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!385 = !DILocation(line: 28, scope: !384, inlinedAt: !386)
!386 = !DILocation(line: 199, scope: !387, inlinedAt: !388)
!387 = distinct !DISubprogram(name: "unsafe_view;", linkageName: "unsafe_view", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!388 = !DILocation(line: 168, scope: !376, inlinedAt: !378)
!389 = !DILocation(line: 22, scope: !384, inlinedAt: !383)
!390 = !DILocation(line: 442, scope: !319, inlinedAt: !391)
!391 = !DILocation(line: 347, scope: !248)
!392 = !DILocation(line: 261, scope: !339, inlinedAt: !391)
!393 = !DILocation(line: 14, scope: !394, inlinedAt: !396)
!394 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!395 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/synchronization.jl", directory: ".")
!396 = !DILocation(line: 246, scope: !397, inlinedAt: !391)
!397 = distinct !DISubprogram(name: "bubble_sort;", linkageName: "bubble_sort", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!398 = !DILocation(line: 83, scope: !294, inlinedAt: !399)
!399 = !DILocation(line: 422, scope: !400, inlinedAt: !401)
!400 = distinct !DISubprogram(name: "min;", linkageName: "min", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!401 = !DILocation(line: 247, scope: !397, inlinedAt: !391)
!402 = !DILocation(line: 74, scope: !250, inlinedAt: !403)
!403 = !DILocation(line: 7, scope: !253, inlinedAt: !404)
!404 = !DILocation(line: 7, scope: !256, inlinedAt: !405)
!405 = !DILocation(line: 47, scope: !406, inlinedAt: !407)
!406 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!407 = !DILocation(line: 91, scope: !408, inlinedAt: !409)
!408 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!409 = !DILocation(line: 249, scope: !397, inlinedAt: !391)
!410 = !{i32 0, i32 1023}
!411 = !DILocation(line: 87, scope: !276, inlinedAt: !405)
!412 = !DILocation(line: 442, scope: !319, inlinedAt: !409)
!413 = !DILocation(line: 88, scope: !414, inlinedAt: !415)
!414 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!415 = !DILocation(line: 250, scope: !397, inlinedAt: !391)
!416 = !DILocation(line: 87, scope: !276, inlinedAt: !415)
!417 = !DILocation(line: 442, scope: !319, inlinedAt: !418)
!418 = !DILocation(line: 667, scope: !321, inlinedAt: !419)
!419 = !DILocation(line: 595, scope: !323, inlinedAt: !420)
!420 = !DILocation(line: 610, scope: !323, inlinedAt: !421)
!421 = !DILocation(line: 292, scope: !422, inlinedAt: !415)
!422 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!423 = !DILocation(line: 88, scope: !414, inlinedAt: !424)
!424 = !DILocation(line: 293, scope: !422, inlinedAt: !415)
!425 = !DILocation(line: 87, scope: !276, inlinedAt: !424)
!426 = !DILocation(line: 88, scope: !414, inlinedAt: !427)
!427 = !DILocation(line: 480, scope: !428, inlinedAt: !429)
!428 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!429 = !DILocation(line: 60, scope: !430, inlinedAt: !432)
!430 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!431 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/array.jl", directory: ".")
!432 = !DILocation(line: 311, scope: !433, inlinedAt: !434)
!433 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!434 = !DILocation(line: 595, scope: !323, inlinedAt: !435)
!435 = !DILocation(line: 610, scope: !323, inlinedAt: !436)
!436 = !DILocation(line: 80, scope: !437, inlinedAt: !438)
!437 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!438 = !DILocation(line: 101, scope: !439, inlinedAt: !424)
!439 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!440 = !DILocation(line: 421, scope: !296, inlinedAt: !441)
!441 = !DILocation(line: 326, scope: !298, inlinedAt: !442)
!442 = !DILocation(line: 335, scope: !298, inlinedAt: !443)
!443 = !DILocation(line: 337, scope: !373, inlinedAt: !432)
!444 = !DILocation(line: 442, scope: !319, inlinedAt: !445)
!445 = !DILocation(line: 667, scope: !321, inlinedAt: !434)
!446 = !DILocation(line: 33, scope: !447, inlinedAt: !448)
!447 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!448 = !DILocation(line: 54, scope: !449, inlinedAt: !450)
!449 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!450 = !DILocation(line: 82, scope: !437, inlinedAt: !438)
!451 = !DILocation(line: 86, scope: !280, inlinedAt: !452)
!452 = !DILocation(line: 74, scope: !250, inlinedAt: !453)
!453 = !DILocation(line: 7, scope: !454, inlinedAt: !455)
!454 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!455 = !DILocation(line: 7, scope: !456, inlinedAt: !457)
!456 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!457 = !DILocation(line: 79, scope: !458, inlinedAt: !450)
!458 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!459 = !{!460, !460, i64 0, i64 0}
!460 = !{!"custom_tbaa_addrspace(1)", !461, i64 0}
!461 = !{!"custom_tbaa"}
!462 = !DILocation(line: 442, scope: !319, inlinedAt: !463)
!463 = !DILocation(line: 667, scope: !321, inlinedAt: !464)
!464 = !DILocation(line: 595, scope: !323, inlinedAt: !465)
!465 = !DILocation(line: 610, scope: !323, inlinedAt: !466)
!466 = !DILocation(line: 86, scope: !467, inlinedAt: !468)
!467 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!468 = !DILocation(line: 103, scope: !469, inlinedAt: !415)
!469 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!470 = !DILocation(line: 86, scope: !280, inlinedAt: !471)
!471 = !DILocation(line: 74, scope: !250, inlinedAt: !472)
!472 = !DILocation(line: 42, scope: !454, inlinedAt: !473)
!473 = !DILocation(line: 42, scope: !474, inlinedAt: !475)
!474 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!475 = !DILocation(line: 82, scope: !476, inlinedAt: !477)
!476 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!477 = !DILocation(line: 88, scope: !467, inlinedAt: !468)
!478 = !{!479, !479, i64 0, i64 0}
!479 = !{!"custom_tbaa_addrspace(3)", !461, i64 0}
!480 = !DILocation(line: 14, scope: !394, inlinedAt: !481)
!481 = !DILocation(line: 252, scope: !397, inlinedAt: !391)
!482 = !DILocation(line: 292, scope: !483, inlinedAt: !484)
!483 = distinct !DISubprogram(name: "unitrange_last;", linkageName: "unitrange_last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!484 = !DILocation(line: 287, scope: !485, inlinedAt: !486)
!485 = distinct !DISubprogram(name: "UnitRange;", linkageName: "UnitRange", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!486 = !DILocation(line: 5, scope: !487, inlinedAt: !488)
!487 = distinct !DISubprogram(name: "Colon;", linkageName: "Colon", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!488 = !DILocation(line: 253, scope: !397, inlinedAt: !391)
!489 = !DILocation(line: 0, scope: !280, inlinedAt: !490)
!490 = !DILocation(line: 255, scope: !397, inlinedAt: !391)
!491 = !DILocation(line: 0, scope: !492, inlinedAt: !490)
!492 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!493 = !DILocation(line: 0, scope: !319, inlinedAt: !494)
!494 = !DILocation(line: 667, scope: !321, inlinedAt: !495)
!495 = !DILocation(line: 595, scope: !323, inlinedAt: !496)
!496 = !DILocation(line: 610, scope: !323, inlinedAt: !497)
!497 = !DILocation(line: 80, scope: !437, inlinedAt: !498)
!498 = !DILocation(line: 101, scope: !439, inlinedAt: !499)
!499 = !DILocation(line: 263, scope: !397, inlinedAt: !391)
!500 = !DILocation(line: 0, scope: !250, inlinedAt: !501)
!501 = !DILocation(line: 7, scope: !454, inlinedAt: !502)
!502 = !DILocation(line: 7, scope: !456, inlinedAt: !503)
!503 = !DILocation(line: 79, scope: !458, inlinedAt: !504)
!504 = !DILocation(line: 82, scope: !437, inlinedAt: !498)
!505 = !DILocation(line: 256, scope: !397, inlinedAt: !391)
!506 = !DILocation(line: 262, scope: !492, inlinedAt: !490)
!507 = !DILocation(line: 410, scope: !508, inlinedAt: !509)
!508 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!509 = !DILocation(line: 204, scope: !510, inlinedAt: !490)
!510 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!511 = !DILocation(line: 88, scope: !414, inlinedAt: !490)
!512 = !DILocation(line: 87, scope: !276, inlinedAt: !490)
!513 = !DILocation(line: 442, scope: !319, inlinedAt: !505)
!514 = !DILocation(line: 610, scope: !323, inlinedAt: !515)
!515 = !DILocation(line: 80, scope: !437, inlinedAt: !516)
!516 = !DILocation(line: 101, scope: !439, inlinedAt: !517)
!517 = !DILocation(line: 257, scope: !397, inlinedAt: !391)
!518 = !DILocation(line: 74, scope: !250, inlinedAt: !519)
!519 = !DILocation(line: 7, scope: !454, inlinedAt: !520)
!520 = !DILocation(line: 7, scope: !456, inlinedAt: !521)
!521 = !DILocation(line: 79, scope: !458, inlinedAt: !522)
!522 = !DILocation(line: 82, scope: !437, inlinedAt: !516)
!523 = !DILocation(line: 670, scope: !524, inlinedAt: !488)
!524 = distinct !DISubprogram(name: "iterate;", linkageName: "iterate", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!525 = !DILocation(line: 14, scope: !394, inlinedAt: !526)
!526 = !DILocation(line: 261, scope: !397, inlinedAt: !391)
!527 = !DILocation(line: 262, scope: !397, inlinedAt: !391)
!528 = !DILocation(line: 83, scope: !294, inlinedAt: !499)
!529 = !DILocation(line: 74, scope: !250, inlinedAt: !501)
!530 = !DILocation(line: 83, scope: !294, inlinedAt: !531)
!531 = !DILocation(line: 357, scope: !532, inlinedAt: !533)
!532 = distinct !DISubprogram(name: "isless;", linkageName: "isless", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!533 = !DILocation(line: 76, scope: !534, inlinedAt: !499)
!534 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!535 = !DILocation(line: 610, scope: !323, inlinedAt: !536)
!536 = !DILocation(line: 86, scope: !467, inlinedAt: !537)
!537 = !DILocation(line: 103, scope: !469, inlinedAt: !538)
!538 = !DILocation(line: 264, scope: !397, inlinedAt: !391)
!539 = !DILocation(line: 74, scope: !250, inlinedAt: !540)
!540 = !DILocation(line: 42, scope: !454, inlinedAt: !541)
!541 = !DILocation(line: 42, scope: !474, inlinedAt: !542)
!542 = !DILocation(line: 82, scope: !476, inlinedAt: !543)
!543 = !DILocation(line: 88, scope: !467, inlinedAt: !537)
!544 = !DILocation(line: 14, scope: !394, inlinedAt: !545)
!545 = !DILocation(line: 267, scope: !397, inlinedAt: !391)
!546 = !DILocation(line: 410, scope: !508, inlinedAt: !547)
!547 = !DILocation(line: 674, scope: !524, inlinedAt: !545)
!548 = !DILocation(line: 269, scope: !397, inlinedAt: !391)
!549 = !DILocation(line: 442, scope: !319, inlinedAt: !550)
!550 = !DILocation(line: 667, scope: !321, inlinedAt: !551)
!551 = !DILocation(line: 595, scope: !323, inlinedAt: !552)
!552 = !DILocation(line: 610, scope: !323, inlinedAt: !553)
!553 = !DILocation(line: 80, scope: !437, inlinedAt: !554)
!554 = !DILocation(line: 101, scope: !439, inlinedAt: !555)
!555 = !DILocation(line: 270, scope: !397, inlinedAt: !391)
!556 = !DILocation(line: 86, scope: !280, inlinedAt: !557)
!557 = !DILocation(line: 74, scope: !250, inlinedAt: !558)
!558 = !DILocation(line: 7, scope: !454, inlinedAt: !559)
!559 = !DILocation(line: 7, scope: !456, inlinedAt: !560)
!560 = !DILocation(line: 79, scope: !458, inlinedAt: !561)
!561 = !DILocation(line: 82, scope: !437, inlinedAt: !554)
!562 = !DILocation(line: 88, scope: !414, inlinedAt: !555)
!563 = !DILocation(line: 87, scope: !276, inlinedAt: !555)
!564 = !DILocation(line: 442, scope: !319, inlinedAt: !565)
!565 = !DILocation(line: 667, scope: !321, inlinedAt: !566)
!566 = !DILocation(line: 595, scope: !323, inlinedAt: !567)
!567 = !DILocation(line: 610, scope: !323, inlinedAt: !568)
!568 = !DILocation(line: 324, scope: !569, inlinedAt: !555)
!569 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!570 = !DILocation(line: 88, scope: !414, inlinedAt: !571)
!571 = !DILocation(line: 325, scope: !569, inlinedAt: !555)
!572 = !DILocation(line: 87, scope: !276, inlinedAt: !571)
!573 = !DILocation(line: 88, scope: !414, inlinedAt: !574)
!574 = !DILocation(line: 480, scope: !428, inlinedAt: !575)
!575 = !DILocation(line: 60, scope: !430, inlinedAt: !576)
!576 = !DILocation(line: 311, scope: !433, inlinedAt: !577)
!577 = !DILocation(line: 595, scope: !323, inlinedAt: !578)
!578 = !DILocation(line: 610, scope: !323, inlinedAt: !579)
!579 = !DILocation(line: 86, scope: !467, inlinedAt: !580)
!580 = !DILocation(line: 103, scope: !469, inlinedAt: !571)
!581 = !DILocation(line: 421, scope: !296, inlinedAt: !582)
!582 = !DILocation(line: 326, scope: !298, inlinedAt: !583)
!583 = !DILocation(line: 335, scope: !298, inlinedAt: !584)
!584 = !DILocation(line: 337, scope: !373, inlinedAt: !576)
!585 = !DILocation(line: 442, scope: !319, inlinedAt: !586)
!586 = !DILocation(line: 667, scope: !321, inlinedAt: !577)
!587 = !DILocation(line: 33, scope: !447, inlinedAt: !588)
!588 = !DILocation(line: 54, scope: !449, inlinedAt: !589)
!589 = !DILocation(line: 88, scope: !467, inlinedAt: !580)
!590 = !DILocation(line: 86, scope: !280, inlinedAt: !591)
!591 = !DILocation(line: 74, scope: !250, inlinedAt: !592)
!592 = !DILocation(line: 42, scope: !454, inlinedAt: !593)
!593 = !DILocation(line: 42, scope: !474, inlinedAt: !594)
!594 = !DILocation(line: 82, scope: !476, inlinedAt: !589)
!595 = !DILocation(line: 14, scope: !394, inlinedAt: !596)
!596 = !DILocation(line: 273, scope: !397, inlinedAt: !391)
!597 = !DILocation(line: 349, scope: !248)
!598 = !DILocation(line: 350, scope: !248)
!599 = !DILocation(line: 261, scope: !339, inlinedAt: !600)
!600 = !DILocation(line: 353, scope: !248)
!601 = !DILocation(line: 88, scope: !414, inlinedAt: !600)
!602 = !DILocation(line: 87, scope: !276, inlinedAt: !600)
!603 = !DILocation(line: 442, scope: !319, inlinedAt: !604)
!604 = !DILocation(line: 667, scope: !321, inlinedAt: !605)
!605 = !DILocation(line: 595, scope: !323, inlinedAt: !606)
!606 = !DILocation(line: 610, scope: !323, inlinedAt: !607)
!607 = !DILocation(line: 292, scope: !422, inlinedAt: !600)
!608 = !DILocation(line: 88, scope: !414, inlinedAt: !609)
!609 = !DILocation(line: 293, scope: !422, inlinedAt: !600)
!610 = !DILocation(line: 87, scope: !276, inlinedAt: !609)
!611 = !DILocation(line: 88, scope: !414, inlinedAt: !612)
!612 = !DILocation(line: 480, scope: !428, inlinedAt: !613)
!613 = !DILocation(line: 60, scope: !430, inlinedAt: !614)
!614 = !DILocation(line: 311, scope: !433, inlinedAt: !615)
!615 = !DILocation(line: 595, scope: !323, inlinedAt: !616)
!616 = !DILocation(line: 610, scope: !323, inlinedAt: !617)
!617 = !DILocation(line: 80, scope: !437, inlinedAt: !618)
!618 = !DILocation(line: 101, scope: !439, inlinedAt: !609)
!619 = !DILocation(line: 421, scope: !296, inlinedAt: !620)
!620 = !DILocation(line: 326, scope: !298, inlinedAt: !621)
!621 = !DILocation(line: 335, scope: !298, inlinedAt: !622)
!622 = !DILocation(line: 337, scope: !373, inlinedAt: !614)
!623 = !DILocation(line: 442, scope: !319, inlinedAt: !624)
!624 = !DILocation(line: 667, scope: !321, inlinedAt: !615)
!625 = !DILocation(line: 33, scope: !447, inlinedAt: !626)
!626 = !DILocation(line: 54, scope: !449, inlinedAt: !627)
!627 = !DILocation(line: 82, scope: !437, inlinedAt: !618)
!628 = !DILocation(line: 86, scope: !280, inlinedAt: !629)
!629 = !DILocation(line: 74, scope: !250, inlinedAt: !630)
!630 = !DILocation(line: 7, scope: !454, inlinedAt: !631)
!631 = !DILocation(line: 7, scope: !456, inlinedAt: !632)
!632 = !DILocation(line: 79, scope: !458, inlinedAt: !627)
!633 = !DILocation(line: 410, scope: !508, inlinedAt: !634)
!634 = !DILocation(line: 282, scope: !635, inlinedAt: !636)
!635 = distinct !DISubprogram(name: "call_batch_partition;", linkageName: "call_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!636 = !DILocation(line: 356, scope: !248)
!637 = !DILocation(line: 94, scope: !638, inlinedAt: !640)
!638 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!639 = !DIFile(filename: "float.jl", directory: ".")
!640 = !DILocation(line: 191, scope: !641, inlinedAt: !642)
!641 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!642 = !DILocation(line: 206, scope: !643, inlinedAt: !644)
!643 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!644 = !DILocation(line: 93, scope: !645, inlinedAt: !646)
!645 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!646 = !DILocation(line: 185, scope: !647, inlinedAt: !648)
!647 = distinct !DISubprogram(name: "N_b;", linkageName: "N_b", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!648 = !DILocation(line: 192, scope: !649, inlinedAt: !650)
!649 = distinct !DISubprogram(name: "consolidate_batch_partition;", linkageName: "consolidate_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!650 = !DILocation(line: 362, scope: !248)
!651 = !DILocation(line: 335, scope: !652, inlinedAt: !644)
!652 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!653 = !DILocation(line: 304, scope: !654, inlinedAt: !655)
!654 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!655 = !DILocation(line: 295, scope: !656, inlinedAt: !646)
!656 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!657 = !DILocation(line: 94, scope: !638, inlinedAt: !658)
!658 = !DILocation(line: 191, scope: !641, inlinedAt: !659)
!659 = !DILocation(line: 206, scope: !643, inlinedAt: !660)
!660 = !DILocation(line: 93, scope: !645, inlinedAt: !661)
!661 = !DILocation(line: 86, scope: !662, inlinedAt: !663)
!662 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!663 = !DILocation(line: 283, scope: !635, inlinedAt: !636)
!664 = !DILocation(line: 335, scope: !652, inlinedAt: !660)
!665 = !DILocation(line: 304, scope: !654, inlinedAt: !666)
!666 = !DILocation(line: 295, scope: !656, inlinedAt: !661)
!667 = !DILocation(line: 374, scope: !668, inlinedAt: !669)
!668 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!669 = !DILocation(line: 713, scope: !670, inlinedAt: !666)
!670 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!671 = !DILocation(line: 239, scope: !672, inlinedAt: !673)
!672 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!673 = !DILocation(line: 714, scope: !670, inlinedAt: !666)
!674 = !DILocation(line: 88, scope: !414, inlinedAt: !661)
!675 = !DILocation(line: 595, scope: !676, inlinedAt: !677)
!676 = distinct !DISubprogram(name: "NamedTuple;", linkageName: "NamedTuple", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!677 = !DILocation(line: 591, scope: !676, inlinedAt: !661)
!678 = !DILocation(line: 357, scope: !679, inlinedAt: !680)
!679 = distinct !DISubprogram(name: "#cudacall#228;", linkageName: "#cudacall#228", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!680 = !DILocation(line: 357, scope: !681, inlinedAt: !682)
!681 = distinct !DISubprogram(name: "cudacall##kw;", linkageName: "cudacall##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!682 = !DILocation(line: 192, scope: !662, inlinedAt: !683)
!683 = !DILocation(line: 163, scope: !684, inlinedAt: !685)
!684 = distinct !DISubprogram(name: "#call#205;", linkageName: "#call#205", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!685 = !DILocation(line: 163, scope: !686, inlinedAt: !687)
!686 = distinct !DISubprogram(name: "call##kw;", linkageName: "call##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!687 = !DILocation(line: 407, scope: !688, inlinedAt: !689)
!688 = distinct !DISubprogram(name: "#_#231;", linkageName: "#_#231", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!689 = !DILocation(line: 407, scope: !690, inlinedAt: !661)
!690 = distinct !DISubprogram(name: "Any##kw;", linkageName: "Any##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!691 = !DILocation(line: 37, scope: !692, inlinedAt: !693)
!692 = distinct !DISubprogram(name: "cudaDeviceSynchronize;", linkageName: "cudaDeviceSynchronize", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!693 = !DILocation(line: 25, scope: !694, inlinedAt: !695)
!694 = distinct !DISubprogram(name: "device_synchronize;", linkageName: "device_synchronize", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!695 = !DILocation(line: 286, scope: !635, inlinedAt: !636)
!696 = !DILocation(line: 410, scope: !508, inlinedAt: !697)
!697 = !DILocation(line: 7, scope: !698, inlinedAt: !699)
!698 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!699 = !DILocation(line: 204, scope: !510, inlinedAt: !700)
!700 = !DILocation(line: 26, scope: !694, inlinedAt: !695)
!701 = !DILocation(line: 716, scope: !670, inlinedAt: !666)
!702 = !DILocation(line: 8, scope: !703, inlinedAt: !704)
!703 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!704 = !DILocation(line: 27, scope: !694, inlinedAt: !695)
!705 = !DILocation(line: 14, scope: !394, inlinedAt: !706)
!706 = !DILocation(line: 184, scope: !649, inlinedAt: !650)
!707 = !DILocation(line: 374, scope: !668, inlinedAt: !708)
!708 = !DILocation(line: 713, scope: !670, inlinedAt: !655)
!709 = !DILocation(line: 239, scope: !672, inlinedAt: !710)
!710 = !DILocation(line: 714, scope: !670, inlinedAt: !655)
!711 = !DILocation(line: 292, scope: !483, inlinedAt: !712)
!712 = !DILocation(line: 287, scope: !485, inlinedAt: !713)
!713 = !DILocation(line: 5, scope: !487, inlinedAt: !648)
!714 = !DILocation(line: 0, scope: !276, inlinedAt: !715)
!715 = !DILocation(line: 186, scope: !716, inlinedAt: !717)
!716 = distinct !DISubprogram(name: "batch;", linkageName: "batch", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!717 = !DILocation(line: 195, scope: !649, inlinedAt: !650)
!718 = !DILocation(line: 0, scope: !319, inlinedAt: !719)
!719 = !DILocation(line: 667, scope: !321, inlinedAt: !720)
!720 = !DILocation(line: 595, scope: !323, inlinedAt: !721)
!721 = !DILocation(line: 610, scope: !323, inlinedAt: !722)
!722 = !DILocation(line: 86, scope: !467, inlinedAt: !723)
!723 = !DILocation(line: 103, scope: !469, inlinedAt: !724)
!724 = !DILocation(line: 197, scope: !649, inlinedAt: !650)
!725 = !DILocation(line: 0, scope: !280, inlinedAt: !726)
!726 = !DILocation(line: 74, scope: !250, inlinedAt: !727)
!727 = !DILocation(line: 42, scope: !454, inlinedAt: !728)
!728 = !DILocation(line: 42, scope: !474, inlinedAt: !729)
!729 = !DILocation(line: 82, scope: !476, inlinedAt: !730)
!730 = !DILocation(line: 88, scope: !467, inlinedAt: !723)
!731 = !DILocation(line: 0, scope: !250, inlinedAt: !727)
!732 = !DILocation(line: 0, scope: !649, inlinedAt: !650)
!733 = !DILocation(line: 193, scope: !649, inlinedAt: !650)
!734 = !DILocation(line: 716, scope: !670, inlinedAt: !655)
!735 = !DILocation(line: 410, scope: !508, inlinedAt: !733)
!736 = !DILocation(line: 88, scope: !414, inlinedAt: !737)
!737 = !DILocation(line: 186, scope: !716, inlinedAt: !738)
!738 = !DILocation(line: 194, scope: !649, inlinedAt: !650)
!739 = !DILocation(line: 87, scope: !276, inlinedAt: !737)
!740 = !DILocation(line: 713, scope: !670, inlinedAt: !741)
!741 = !DILocation(line: 295, scope: !656, inlinedAt: !742)
!742 = !DILocation(line: 185, scope: !647, inlinedAt: !738)
!743 = !DILocation(line: 442, scope: !319, inlinedAt: !738)
!744 = !DILocation(line: 716, scope: !670, inlinedAt: !741)
!745 = !DILocation(line: 86, scope: !280, inlinedAt: !717)
!746 = !DILocation(line: 88, scope: !414, inlinedAt: !717)
!747 = !DILocation(line: 87, scope: !276, inlinedAt: !717)
!748 = !DILocation(line: 88, scope: !414, inlinedAt: !749)
!749 = !DILocation(line: 196, scope: !649, inlinedAt: !650)
!750 = !DILocation(line: 83, scope: !294, inlinedAt: !751)
!751 = !DILocation(line: 422, scope: !400, inlinedAt: !749)
!752 = !DILocation(line: 87, scope: !276, inlinedAt: !749)
!753 = !DILocation(line: 86, scope: !280, inlinedAt: !724)
!754 = !DILocation(line: 87, scope: !276, inlinedAt: !755)
!755 = !DILocation(line: 200, scope: !649, inlinedAt: !650)
!756 = !DILocation(line: 203, scope: !649, inlinedAt: !650)
!757 = !DILocation(line: 14, scope: !394, inlinedAt: !758)
!758 = !DILocation(line: 211, scope: !649, inlinedAt: !650)
!759 = !DILocation(line: 86, scope: !280, inlinedAt: !760)
!760 = !DILocation(line: 212, scope: !649, inlinedAt: !650)
!761 = !DILocation(line: 88, scope: !414, inlinedAt: !760)
!762 = !DILocation(line: 442, scope: !319, inlinedAt: !763)
!763 = !DILocation(line: 667, scope: !321, inlinedAt: !764)
!764 = !DILocation(line: 595, scope: !323, inlinedAt: !765)
!765 = !DILocation(line: 610, scope: !323, inlinedAt: !766)
!766 = !DILocation(line: 80, scope: !437, inlinedAt: !767)
!767 = !DILocation(line: 101, scope: !439, inlinedAt: !760)
!768 = !DILocation(line: 86, scope: !280, inlinedAt: !769)
!769 = !DILocation(line: 74, scope: !250, inlinedAt: !770)
!770 = !DILocation(line: 7, scope: !454, inlinedAt: !771)
!771 = !DILocation(line: 7, scope: !456, inlinedAt: !772)
!772 = !DILocation(line: 79, scope: !458, inlinedAt: !773)
!773 = !DILocation(line: 82, scope: !437, inlinedAt: !767)
!774 = !DILocation(line: 213, scope: !649, inlinedAt: !650)
!775 = !DILocation(line: 86, scope: !280, inlinedAt: !774)
!776 = !DILocation(line: 83, scope: !294, inlinedAt: !777)
!777 = !DILocation(line: 422, scope: !400, inlinedAt: !778)
!778 = !DILocation(line: 214, scope: !649, inlinedAt: !650)
!779 = !DILocation(line: 14, scope: !394, inlinedAt: !780)
!780 = !DILocation(line: 215, scope: !649, inlinedAt: !650)
!781 = !DILocation(line: 442, scope: !319, inlinedAt: !782)
!782 = !DILocation(line: 216, scope: !649, inlinedAt: !650)
!783 = !DILocation(line: 87, scope: !276, inlinedAt: !784)
!784 = !DILocation(line: 540, scope: !785, inlinedAt: !786)
!785 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!786 = !DILocation(line: 217, scope: !649, inlinedAt: !650)
!787 = !DILocation(line: 442, scope: !319, inlinedAt: !788)
!788 = !DILocation(line: 667, scope: !321, inlinedAt: !789)
!789 = !DILocation(line: 595, scope: !323, inlinedAt: !790)
!790 = !DILocation(line: 610, scope: !323, inlinedAt: !791)
!791 = !DILocation(line: 292, scope: !422, inlinedAt: !786)
!792 = !DILocation(line: 88, scope: !414, inlinedAt: !793)
!793 = !DILocation(line: 293, scope: !422, inlinedAt: !786)
!794 = !DILocation(line: 87, scope: !276, inlinedAt: !793)
!795 = !DILocation(line: 442, scope: !319, inlinedAt: !796)
!796 = !DILocation(line: 667, scope: !321, inlinedAt: !797)
!797 = !DILocation(line: 595, scope: !323, inlinedAt: !798)
!798 = !DILocation(line: 610, scope: !323, inlinedAt: !799)
!799 = !DILocation(line: 80, scope: !437, inlinedAt: !800)
!800 = !DILocation(line: 101, scope: !439, inlinedAt: !793)
!801 = !DILocation(line: 86, scope: !280, inlinedAt: !802)
!802 = !DILocation(line: 74, scope: !250, inlinedAt: !803)
!803 = !DILocation(line: 7, scope: !454, inlinedAt: !804)
!804 = !DILocation(line: 7, scope: !456, inlinedAt: !805)
!805 = !DILocation(line: 79, scope: !458, inlinedAt: !806)
!806 = !DILocation(line: 82, scope: !437, inlinedAt: !800)
!807 = !DILocation(line: 14, scope: !394, inlinedAt: !808)
!808 = !DILocation(line: 221, scope: !649, inlinedAt: !650)
!809 = !DILocation(line: 222, scope: !649, inlinedAt: !650)
!810 = !DILocation(line: 87, scope: !276, inlinedAt: !811)
!811 = !DILocation(line: 540, scope: !785, inlinedAt: !812)
!812 = !DILocation(line: 223, scope: !649, inlinedAt: !650)
!813 = !DILocation(line: 87, scope: !276, inlinedAt: !814)
!814 = !DILocation(line: 527, scope: !815, inlinedAt: !811)
!815 = distinct !DISubprogram(name: "afoldl;", linkageName: "afoldl", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!816 = !DILocation(line: 86, scope: !280, inlinedAt: !812)
!817 = !DILocation(line: 87, scope: !276, inlinedAt: !812)
!818 = !DILocation(line: 442, scope: !319, inlinedAt: !819)
!819 = !DILocation(line: 667, scope: !321, inlinedAt: !820)
!820 = !DILocation(line: 595, scope: !323, inlinedAt: !821)
!821 = !DILocation(line: 610, scope: !323, inlinedAt: !822)
!822 = !DILocation(line: 292, scope: !422, inlinedAt: !812)
!823 = !DILocation(line: 88, scope: !414, inlinedAt: !824)
!824 = !DILocation(line: 293, scope: !422, inlinedAt: !812)
!825 = !DILocation(line: 87, scope: !276, inlinedAt: !824)
!826 = !DILocation(line: 442, scope: !319, inlinedAt: !827)
!827 = !DILocation(line: 667, scope: !321, inlinedAt: !828)
!828 = !DILocation(line: 595, scope: !323, inlinedAt: !829)
!829 = !DILocation(line: 610, scope: !323, inlinedAt: !830)
!830 = !DILocation(line: 80, scope: !437, inlinedAt: !831)
!831 = !DILocation(line: 101, scope: !439, inlinedAt: !824)
!832 = !DILocation(line: 86, scope: !280, inlinedAt: !833)
!833 = !DILocation(line: 74, scope: !250, inlinedAt: !834)
!834 = !DILocation(line: 7, scope: !454, inlinedAt: !835)
!835 = !DILocation(line: 7, scope: !456, inlinedAt: !836)
!836 = !DILocation(line: 79, scope: !458, inlinedAt: !837)
!837 = !DILocation(line: 82, scope: !437, inlinedAt: !831)
!838 = !DILocation(line: 442, scope: !319, inlinedAt: !839)
!839 = !DILocation(line: 667, scope: !321, inlinedAt: !840)
!840 = !DILocation(line: 595, scope: !323, inlinedAt: !841)
!841 = !DILocation(line: 610, scope: !323, inlinedAt: !842)
!842 = !DILocation(line: 324, scope: !569, inlinedAt: !812)
!843 = !DILocation(line: 88, scope: !414, inlinedAt: !844)
!844 = !DILocation(line: 325, scope: !569, inlinedAt: !812)
!845 = !DILocation(line: 87, scope: !276, inlinedAt: !844)
!846 = !DILocation(line: 442, scope: !319, inlinedAt: !847)
!847 = !DILocation(line: 667, scope: !321, inlinedAt: !848)
!848 = !DILocation(line: 595, scope: !323, inlinedAt: !849)
!849 = !DILocation(line: 610, scope: !323, inlinedAt: !850)
!850 = !DILocation(line: 86, scope: !467, inlinedAt: !851)
!851 = !DILocation(line: 103, scope: !469, inlinedAt: !844)
!852 = !DILocation(line: 86, scope: !280, inlinedAt: !853)
!853 = !DILocation(line: 74, scope: !250, inlinedAt: !854)
!854 = !DILocation(line: 42, scope: !454, inlinedAt: !855)
!855 = !DILocation(line: 42, scope: !474, inlinedAt: !856)
!856 = !DILocation(line: 82, scope: !476, inlinedAt: !857)
!857 = !DILocation(line: 88, scope: !467, inlinedAt: !851)
!858 = !DILocation(line: 326, scope: !569, inlinedAt: !812)
!859 = !DILocation(line: 14, scope: !394, inlinedAt: !860)
!860 = !DILocation(line: 225, scope: !649, inlinedAt: !650)
!861 = !DILocation(line: 226, scope: !649, inlinedAt: !650)
!862 = !DILocation(line: 87, scope: !276, inlinedAt: !863)
!863 = !DILocation(line: 540, scope: !785, inlinedAt: !864)
!864 = !DILocation(line: 227, scope: !649, inlinedAt: !650)
!865 = !DILocation(line: 87, scope: !276, inlinedAt: !866)
!866 = !DILocation(line: 527, scope: !815, inlinedAt: !863)
!867 = !DILocation(line: 86, scope: !280, inlinedAt: !864)
!868 = !DILocation(line: 87, scope: !276, inlinedAt: !864)
!869 = !DILocation(line: 442, scope: !319, inlinedAt: !870)
!870 = !DILocation(line: 667, scope: !321, inlinedAt: !871)
!871 = !DILocation(line: 595, scope: !323, inlinedAt: !872)
!872 = !DILocation(line: 610, scope: !323, inlinedAt: !873)
!873 = !DILocation(line: 324, scope: !569, inlinedAt: !864)
!874 = !DILocation(line: 88, scope: !414, inlinedAt: !875)
!875 = !DILocation(line: 325, scope: !569, inlinedAt: !864)
!876 = !DILocation(line: 87, scope: !276, inlinedAt: !875)
!877 = !DILocation(line: 442, scope: !319, inlinedAt: !878)
!878 = !DILocation(line: 667, scope: !321, inlinedAt: !879)
!879 = !DILocation(line: 595, scope: !323, inlinedAt: !880)
!880 = !DILocation(line: 610, scope: !323, inlinedAt: !881)
!881 = !DILocation(line: 86, scope: !467, inlinedAt: !882)
!882 = !DILocation(line: 103, scope: !469, inlinedAt: !875)
!883 = !DILocation(line: 86, scope: !280, inlinedAt: !884)
!884 = !DILocation(line: 74, scope: !250, inlinedAt: !885)
!885 = !DILocation(line: 42, scope: !454, inlinedAt: !886)
!886 = !DILocation(line: 42, scope: !474, inlinedAt: !887)
!887 = !DILocation(line: 82, scope: !476, inlinedAt: !888)
!888 = !DILocation(line: 88, scope: !467, inlinedAt: !882)
!889 = !DILocation(line: 326, scope: !569, inlinedAt: !864)
!890 = !DILocation(line: 14, scope: !394, inlinedAt: !891)
!891 = !DILocation(line: 229, scope: !649, inlinedAt: !650)
!892 = !DILocation(line: 87, scope: !276, inlinedAt: !893)
!893 = !DILocation(line: 230, scope: !649, inlinedAt: !650)
!894 = !DILocation(line: 87, scope: !276, inlinedAt: !895)
!895 = !DILocation(line: 231, scope: !649, inlinedAt: !650)
!896 = !DILocation(line: 410, scope: !508, inlinedAt: !897)
!897 = !DILocation(line: 674, scope: !524, inlinedAt: !895)
!898 = !DILocation(line: 14, scope: !394, inlinedAt: !899)
!899 = !DILocation(line: 234, scope: !649, inlinedAt: !650)
!900 = !DILocation(line: 87, scope: !276, inlinedAt: !901)
!901 = !DILocation(line: 235, scope: !649, inlinedAt: !650)
!902 = !DILocation(line: 365, scope: !248)
!903 = !DILocation(line: 410, scope: !508, inlinedAt: !904)
!904 = !DILocation(line: 366, scope: !248)
!905 = !DILocation(line: 83, scope: !294, inlinedAt: !906)
!906 = !DILocation(line: 368, scope: !248)
!907 = !DILocation(line: 147, scope: !908, inlinedAt: !909)
!908 = distinct !DISubprogram(name: "pointer_from_objref;", linkageName: "pointer_from_objref", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!909 = !DILocation(line: 40, scope: !910, inlinedAt: !912)
!910 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!911 = !DIFile(filename: "refvalue.jl", directory: ".")
!912 = !DILocation(line: 73, scope: !913, inlinedAt: !914)
!913 = distinct !DISubprogram(name: "cudaStreamCreateWithFlags;", linkageName: "cudaStreamCreateWithFlags", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!914 = !DILocation(line: 25, scope: !915, inlinedAt: !916)
!915 = distinct !DISubprogram(name: "CuDeviceStream;", linkageName: "CuDeviceStream", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!916 = !DILocation(line: 41, scope: !915, inlinedAt: !917)
!917 = !DILocation(line: 369, scope: !248)
!918 = !DILocation(line: 410, scope: !508, inlinedAt: !919)
!919 = !DILocation(line: 7, scope: !698, inlinedAt: !920)
!920 = !DILocation(line: 204, scope: !510, inlinedAt: !921)
!921 = !DILocation(line: 26, scope: !915, inlinedAt: !916)
!922 = !DILocation(line: 8, scope: !703, inlinedAt: !923)
!923 = !DILocation(line: 27, scope: !915, inlinedAt: !916)
!924 = !DILocation(line: 33, scope: !447, inlinedAt: !925)
!925 = !DILocation(line: 56, scope: !926, inlinedAt: !927)
!926 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!927 = !DILocation(line: 43, scope: !915, inlinedAt: !916)
!928 = !{!929, !929, i64 0}
!929 = !{!"jtbaa_mutab", !930, i64 0}
!930 = !{!"jtbaa_value", !221, i64 0}
!931 = !DILocation(line: 83, scope: !294, inlinedAt: !932)
!932 = !DILocation(line: 305, scope: !933, inlinedAt: !934)
!933 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!934 = !DILocation(line: 370, scope: !248)
!935 = !DILocation(line: 0, scope: !248)
!936 = !DILocation(line: 595, scope: !676, inlinedAt: !937)
!937 = !DILocation(line: 591, scope: !676, inlinedAt: !938)
!938 = !DILocation(line: 86, scope: !662, inlinedAt: !939)
!939 = !DILocation(line: 371, scope: !248)
!940 = !DILocation(line: 357, scope: !679, inlinedAt: !941)
!941 = !DILocation(line: 357, scope: !681, inlinedAt: !942)
!942 = !DILocation(line: 192, scope: !662, inlinedAt: !943)
!943 = !DILocation(line: 163, scope: !684, inlinedAt: !944)
!944 = !DILocation(line: 163, scope: !686, inlinedAt: !945)
!945 = !DILocation(line: 407, scope: !688, inlinedAt: !946)
!946 = !DILocation(line: 407, scope: !690, inlinedAt: !938)
!947 = !DILocation(line: 595, scope: !676, inlinedAt: !948)
!948 = !DILocation(line: 591, scope: !676, inlinedAt: !949)
!949 = !DILocation(line: 86, scope: !662, inlinedAt: !950)
!950 = !DILocation(line: 375, scope: !248)
!951 = !DILocation(line: 357, scope: !679, inlinedAt: !952)
!952 = !DILocation(line: 357, scope: !681, inlinedAt: !953)
!953 = !DILocation(line: 192, scope: !662, inlinedAt: !954)
!954 = !DILocation(line: 163, scope: !684, inlinedAt: !955)
!955 = !DILocation(line: 163, scope: !686, inlinedAt: !956)
!956 = !DILocation(line: 407, scope: !688, inlinedAt: !957)
!957 = !DILocation(line: 407, scope: !690, inlinedAt: !949)
!958 = !DILocation(line: 79, scope: !959, inlinedAt: !960)
!959 = distinct !DISubprogram(name: "cudaStreamDestroy;", linkageName: "cudaStreamDestroy", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!960 = !DILocation(line: 25, scope: !961, inlinedAt: !962)
!961 = distinct !DISubprogram(name: "unsafe_destroy!;", linkageName: "unsafe_destroy!", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !5, retainedNodes: !4)
!962 = !DILocation(line: 379, scope: !248)
!963 = !DILocation(line: 410, scope: !508, inlinedAt: !964)
!964 = !DILocation(line: 7, scope: !698, inlinedAt: !965)
!965 = !DILocation(line: 204, scope: !510, inlinedAt: !966)
!966 = !DILocation(line: 26, scope: !961, inlinedAt: !962)
!967 = !DILocation(line: 8, scope: !703, inlinedAt: !968)
!968 = !DILocation(line: 27, scope: !961, inlinedAt: !962)
!969 = !DILocation(line: 382, scope: !248)
!970 = !DILocation(line: 147, scope: !908, inlinedAt: !971)
!971 = !DILocation(line: 40, scope: !910, inlinedAt: !972)
!972 = !DILocation(line: 73, scope: !913, inlinedAt: !973)
!973 = !DILocation(line: 25, scope: !915, inlinedAt: !974)
!974 = !DILocation(line: 41, scope: !915, inlinedAt: !975)
!975 = !DILocation(line: 383, scope: !248)
!976 = !DILocation(line: 410, scope: !508, inlinedAt: !977)
!977 = !DILocation(line: 7, scope: !698, inlinedAt: !978)
!978 = !DILocation(line: 204, scope: !510, inlinedAt: !979)
!979 = !DILocation(line: 26, scope: !915, inlinedAt: !974)
!980 = !DILocation(line: 8, scope: !703, inlinedAt: !981)
!981 = !DILocation(line: 27, scope: !915, inlinedAt: !974)
!982 = !DILocation(line: 33, scope: !447, inlinedAt: !983)
!983 = !DILocation(line: 56, scope: !926, inlinedAt: !984)
!984 = !DILocation(line: 43, scope: !915, inlinedAt: !974)
!985 = !DILocation(line: 83, scope: !294, inlinedAt: !986)
!986 = !DILocation(line: 305, scope: !933, inlinedAt: !987)
!987 = !DILocation(line: 384, scope: !248)
!988 = !DILocation(line: 595, scope: !676, inlinedAt: !989)
!989 = !DILocation(line: 591, scope: !676, inlinedAt: !990)
!990 = !DILocation(line: 86, scope: !662, inlinedAt: !991)
!991 = !DILocation(line: 385, scope: !248)
!992 = !DILocation(line: 357, scope: !679, inlinedAt: !993)
!993 = !DILocation(line: 357, scope: !681, inlinedAt: !994)
!994 = !DILocation(line: 192, scope: !662, inlinedAt: !995)
!995 = !DILocation(line: 163, scope: !684, inlinedAt: !996)
!996 = !DILocation(line: 163, scope: !686, inlinedAt: !997)
!997 = !DILocation(line: 407, scope: !688, inlinedAt: !998)
!998 = !DILocation(line: 407, scope: !690, inlinedAt: !990)
!999 = !DILocation(line: 595, scope: !676, inlinedAt: !1000)
!1000 = !DILocation(line: 591, scope: !676, inlinedAt: !1001)
!1001 = !DILocation(line: 86, scope: !662, inlinedAt: !1002)
!1002 = !DILocation(line: 389, scope: !248)
!1003 = !DILocation(line: 357, scope: !679, inlinedAt: !1004)
!1004 = !DILocation(line: 357, scope: !681, inlinedAt: !1005)
!1005 = !DILocation(line: 192, scope: !662, inlinedAt: !1006)
!1006 = !DILocation(line: 163, scope: !684, inlinedAt: !1007)
!1007 = !DILocation(line: 163, scope: !686, inlinedAt: !1008)
!1008 = !DILocation(line: 407, scope: !688, inlinedAt: !1009)
!1009 = !DILocation(line: 407, scope: !690, inlinedAt: !1001)
!1010 = !DILocation(line: 79, scope: !959, inlinedAt: !1011)
!1011 = !DILocation(line: 25, scope: !961, inlinedAt: !1012)
!1012 = !DILocation(line: 393, scope: !248)
!1013 = !DILocation(line: 410, scope: !508, inlinedAt: !1014)
!1014 = !DILocation(line: 7, scope: !698, inlinedAt: !1015)
!1015 = !DILocation(line: 204, scope: !510, inlinedAt: !1016)
!1016 = !DILocation(line: 26, scope: !961, inlinedAt: !1012)
!1017 = !DILocation(line: 8, scope: !703, inlinedAt: !1018)
!1018 = !DILocation(line: 27, scope: !961, inlinedAt: !1012)
!1019 = !DILocation(line: 88, scope: !414, inlinedAt: !1020)
!1020 = !DILocation(line: 2055, scope: !343, inlinedAt: !330)
!1021 = !DILocation(line: 86, scope: !280, inlinedAt: !1020)
!1022 = !DILocation(line: 87, scope: !276, inlinedAt: !1020)
!1023 = !DILocation(line: 83, scope: !294, inlinedAt: !1024)
!1024 = !DILocation(line: 305, scope: !933, inlinedAt: !344)
!1025 = !DILocation(line: 442, scope: !319, inlinedAt: !344)
!1026 = distinct !DISubprogram(name: "throw_device_cuerror", linkageName: "julia_throw_device_cuerror_23765", scope: null, file: !17, line: 17, type: !173, scopeLine: 17, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1027 = !DILocation(line: 33, scope: !1028, inlinedAt: !1029)
!1028 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1029 = !DILocation(line: 11, scope: !1030, inlinedAt: !1031)
!1030 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1031 = !DILocation(line: 396, scope: !1032, inlinedAt: !1033)
!1032 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1033 = !DILocation(line: 49, scope: !1034, inlinedAt: !1035)
!1034 = distinct !DISubprogram(name: "cudaGetErrorString;", linkageName: "cudaGetErrorString", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1035 = !DILocation(line: 15, scope: !1036, inlinedAt: !1037)
!1036 = distinct !DISubprogram(name: "description;", linkageName: "description", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1037 = !DILocation(line: 207, scope: !1038, inlinedAt: !1040)
!1038 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1039 = !DIFile(filename: "/home/tbesard/Julia/pkg/CUDA/src/device/intrinsics/output.jl", directory: ".")
!1040 = !DILocation(line: 19, scope: !1026)
!1041 = !DILocation(line: 676, scope: !1042, inlinedAt: !1043)
!1042 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1043 = !DILocation(line: 752, scope: !1044, inlinedAt: !1045)
!1044 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1045 = !DILocation(line: 19, scope: !1046, inlinedAt: !1037)
!1046 = distinct !DISubprogram(name: "Integer;", linkageName: "Integer", scope: !1047, file: !1047, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1047 = !DIFile(filename: "/home/tbesard/Julia/depot/packages/CEnum/NEZgK/src/CEnum.jl", directory: ".")
!1048 = !DILocation(line: 55, scope: !1049, inlinedAt: !1050)
!1049 = distinct !DISubprogram(name: "cudaGetErrorName;", linkageName: "cudaGetErrorName", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1050 = !DILocation(line: 13, scope: !1051, inlinedAt: !1037)
!1051 = distinct !DISubprogram(name: "name;", linkageName: "name", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1052 = !DILocation(line: 74, scope: !1053, inlinedAt: !1054)
!1053 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1054 = !DILocation(line: 38, scope: !1038, inlinedAt: !1055)
!1055 = !DILocation(line: 38, scope: !1056, inlinedAt: !1057)
!1056 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1057 = !DILocation(line: 158, scope: !1038, inlinedAt: !1058)
!1058 = !DILocation(line: 120, scope: !1059, inlinedAt: !1037)
!1059 = distinct !DISubprogram(name: "_cuprint;", linkageName: "_cuprint", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !16, retainedNodes: !4)
!1060 = !DILocation(line: 20, scope: !1026)
!1061 = distinct !DISubprogram(name: "dynamic_cudacall##kw", linkageName: "julia_dynamic_cudacall##kw_23787", scope: null, file: !3, line: 361, type: !173, scopeLine: 361, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1062 = !DILocation(line: 118, scope: !1063, inlinedAt: !1064)
!1063 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1064 = !DILocation(line: 361, scope: !1061)
!1065 = !DILocation(line: 29, scope: !1066, inlinedAt: !1067)
!1066 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1067 = !DILocation(line: 25, scope: !1068, inlinedAt: !1069)
!1068 = distinct !DISubprogram(name: "CuDim3;", linkageName: "CuDim3", scope: !192, file: !192, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1069 = !DILocation(line: 59, scope: !1070, inlinedAt: !1071)
!1070 = distinct !DISubprogram(name: "device_launch;", linkageName: "device_launch", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1071 = !DILocation(line: 383, scope: !1072, inlinedAt: !1073)
!1072 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1073 = !DILocation(line: 361, scope: !1074, inlinedAt: !1064)
!1074 = distinct !DISubprogram(name: "#dynamic_cudacall#229;", linkageName: "#dynamic_cudacall#229", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1075 = !DILocation(line: 630, scope: !1076, inlinedAt: !1077)
!1076 = distinct !DISubprogram(name: "checked_trunc_uint;", linkageName: "checked_trunc_uint", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1077 = !DILocation(line: 716, scope: !1078, inlinedAt: !1079)
!1078 = distinct !DISubprogram(name: "toUInt32;", linkageName: "toUInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1079 = !DILocation(line: 756, scope: !1080, inlinedAt: !1081)
!1080 = distinct !DISubprogram(name: "UInt32;", linkageName: "UInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1081 = !DILocation(line: 7, scope: !1082, inlinedAt: !1083)
!1082 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1083 = !DILocation(line: 18, scope: !1068, inlinedAt: !1067)
!1084 = !DILocation(line: 632, scope: !1076, inlinedAt: !1077)
!1085 = !DILocation(line: 630, scope: !1076, inlinedAt: !1086)
!1086 = !DILocation(line: 716, scope: !1078, inlinedAt: !1087)
!1087 = !DILocation(line: 756, scope: !1080, inlinedAt: !1088)
!1088 = !DILocation(line: 7, scope: !1082, inlinedAt: !1089)
!1089 = !DILocation(line: 18, scope: !1068, inlinedAt: !1090)
!1090 = !DILocation(line: 23, scope: !1068, inlinedAt: !1091)
!1091 = !DILocation(line: 60, scope: !1070, inlinedAt: !1071)
!1092 = !DILocation(line: 632, scope: !1076, inlinedAt: !1086)
!1093 = !DILocation(line: 630, scope: !1076, inlinedAt: !1094)
!1094 = !DILocation(line: 716, scope: !1078, inlinedAt: !1095)
!1095 = !DILocation(line: 756, scope: !1080, inlinedAt: !1096)
!1096 = !DILocation(line: 7, scope: !1082, inlinedAt: !1097)
!1097 = !DILocation(line: 396, scope: !1098, inlinedAt: !1099)
!1098 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1099 = !DILocation(line: 225, scope: !1100, inlinedAt: !1101)
!1100 = distinct !DISubprogram(name: "cudaGetParameterBufferV2;", linkageName: "cudaGetParameterBufferV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1101 = !DILocation(line: 72, scope: !1102, inlinedAt: !1103)
!1102 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1103 = !DILocation(line: 68, scope: !1104, inlinedAt: !1105)
!1104 = distinct !DISubprogram(name: "parameter_buffer;", linkageName: "parameter_buffer", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1105 = !DILocation(line: 62, scope: !1070, inlinedAt: !1071)
!1106 = !DILocation(line: 632, scope: !1076, inlinedAt: !1094)
!1107 = !DILocation(line: 73, scope: !1102, inlinedAt: !1103)
!1108 = !DILocation(line: 159, scope: !1109, inlinedAt: !1107)
!1109 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1110 = !DILocation(line: 251, scope: !1111, inlinedAt: !1112)
!1111 = distinct !DISubprogram(name: "cudaLaunchDeviceV2;", linkageName: "cudaLaunchDeviceV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1112 = !DILocation(line: 25, scope: !1070, inlinedAt: !1071)
!1113 = !DILocation(line: 410, scope: !1114, inlinedAt: !1115)
!1114 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1115 = !DILocation(line: 7, scope: !1116, inlinedAt: !1117)
!1116 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1117 = !DILocation(line: 204, scope: !1118, inlinedAt: !1119)
!1118 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1119 = !DILocation(line: 26, scope: !1070, inlinedAt: !1071)
!1120 = !DILocation(line: 8, scope: !1121, inlinedAt: !1122)
!1121 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !18, retainedNodes: !4)
!1122 = !DILocation(line: 27, scope: !1070, inlinedAt: !1071)
!1123 = distinct !DISubprogram(name: "find_partition", linkageName: "julia_find_partition_23782", scope: null, file: !6, line: 153, type: !173, scopeLine: 153, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1124 = !DILocation(line: 87, scope: !1125, inlinedAt: !1126)
!1125 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1126 = !DILocation(line: 154, scope: !1123)
!1127 = !DILocation(line: 442, scope: !1128, inlinedAt: !1129)
!1128 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1129 = !DILocation(line: 156, scope: !1123)
!1130 = !DILocation(line: 0, scope: !1131, inlinedAt: !1132)
!1131 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1132 = !DILocation(line: 613, scope: !1133, inlinedAt: !1134)
!1133 = distinct !DISubprogram(name: "last;", linkageName: "last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1134 = !DILocation(line: 667, scope: !1135, inlinedAt: !1136)
!1135 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1136 = !DILocation(line: 595, scope: !1137, inlinedAt: !1138)
!1137 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1138 = !DILocation(line: 610, scope: !1137, inlinedAt: !1139)
!1139 = !DILocation(line: 292, scope: !1140, inlinedAt: !1141)
!1140 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1141 = !DILocation(line: 158, scope: !1123)
!1142 = !DILocation(line: 0, scope: !1128, inlinedAt: !1134)
!1143 = !DILocation(line: 0, scope: !1131, inlinedAt: !1144)
!1144 = !DILocation(line: 293, scope: !1140, inlinedAt: !1141)
!1145 = !DILocation(line: 0, scope: !1146, inlinedAt: !1144)
!1146 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1147 = !DILocation(line: 0, scope: !1125, inlinedAt: !1144)
!1148 = !DILocation(line: 0, scope: !1149, inlinedAt: !1150)
!1149 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1150 = !DILocation(line: 60, scope: !1151, inlinedAt: !1152)
!1151 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1152 = !DILocation(line: 311, scope: !1153, inlinedAt: !1154)
!1153 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1154 = !DILocation(line: 595, scope: !1137, inlinedAt: !1155)
!1155 = !DILocation(line: 610, scope: !1137, inlinedAt: !1156)
!1156 = !DILocation(line: 80, scope: !1157, inlinedAt: !1158)
!1157 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1158 = !DILocation(line: 101, scope: !1159, inlinedAt: !1144)
!1159 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1160 = !DILocation(line: 0, scope: !1146, inlinedAt: !1161)
!1161 = !DILocation(line: 480, scope: !1149, inlinedAt: !1150)
!1162 = !DILocation(line: 0, scope: !1163, inlinedAt: !1164)
!1163 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1164 = !DILocation(line: 326, scope: !1165, inlinedAt: !1166)
!1165 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1166 = !DILocation(line: 335, scope: !1165, inlinedAt: !1167)
!1167 = !DILocation(line: 337, scope: !1168, inlinedAt: !1152)
!1168 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1169 = !DILocation(line: 0, scope: !1131, inlinedAt: !1170)
!1170 = !DILocation(line: 54, scope: !1171, inlinedAt: !1172)
!1171 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1172 = !DILocation(line: 82, scope: !1157, inlinedAt: !1158)
!1173 = !DILocation(line: 0, scope: !1174, inlinedAt: !1175)
!1174 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1175 = !DILocation(line: 7, scope: !1176, inlinedAt: !1177)
!1176 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1177 = !DILocation(line: 7, scope: !1178, inlinedAt: !1179)
!1178 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1179 = !DILocation(line: 79, scope: !1180, inlinedAt: !1172)
!1180 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1181 = !DILocation(line: 0, scope: !1182, inlinedAt: !1141)
!1182 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1183 = !DILocation(line: 87, scope: !1125, inlinedAt: !1184)
!1184 = !DILocation(line: 157, scope: !1123)
!1185 = !DILocation(line: 261, scope: !1186, inlinedAt: !1184)
!1186 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1187 = !DILocation(line: 442, scope: !1128, inlinedAt: !1134)
!1188 = !DILocation(line: 88, scope: !1146, inlinedAt: !1144)
!1189 = !DILocation(line: 87, scope: !1125, inlinedAt: !1144)
!1190 = !DILocation(line: 442, scope: !1128, inlinedAt: !1191)
!1191 = !DILocation(line: 667, scope: !1135, inlinedAt: !1154)
!1192 = !DILocation(line: 86, scope: !1193, inlinedAt: !1194)
!1193 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !19, retainedNodes: !4)
!1194 = !DILocation(line: 74, scope: !1174, inlinedAt: !1175)
!1195 = !DILocation(line: 76, scope: !1182, inlinedAt: !1141)
!1196 = !DILocation(line: 86, scope: !1193, inlinedAt: !1197)
!1197 = !DILocation(line: 164, scope: !1123)
!1198 = distinct !DISubprogram(name: "n_eff", linkageName: "julia_n_eff_23768", scope: null, file: !6, line: 203, type: !173, scopeLine: 203, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1199 = !DILocation(line: 204, scope: !1198)
!1200 = !DILocation(line: 74, scope: !1201, inlinedAt: !1202)
!1201 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1202 = !DILocation(line: 7, scope: !1203, inlinedAt: !1204)
!1203 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1204 = !DILocation(line: 7, scope: !1205, inlinedAt: !1206)
!1205 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1206 = !DILocation(line: 52, scope: !1207, inlinedAt: !1208)
!1207 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1208 = !DILocation(line: 84, scope: !1209, inlinedAt: !1199)
!1209 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1210 = !DILocation(line: 94, scope: !1211, inlinedAt: !1212)
!1211 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1212 = !DILocation(line: 191, scope: !1213, inlinedAt: !1214)
!1213 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1214 = !DILocation(line: 206, scope: !1215, inlinedAt: !1216)
!1215 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1216 = !DILocation(line: 93, scope: !1217, inlinedAt: !1199)
!1217 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1218 = !DILocation(line: 335, scope: !1219, inlinedAt: !1216)
!1219 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1220 = !DILocation(line: 304, scope: !1221, inlinedAt: !1222)
!1221 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1222 = !DILocation(line: 295, scope: !1223, inlinedAt: !1199)
!1223 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1224 = !DILocation(line: 374, scope: !1225, inlinedAt: !1226)
!1225 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1226 = !DILocation(line: 713, scope: !1227, inlinedAt: !1222)
!1227 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1228 = !DILocation(line: 239, scope: !1229, inlinedAt: !1230)
!1229 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1230 = !DILocation(line: 714, scope: !1227, inlinedAt: !1222)
!1231 = !DILocation(line: 410, scope: !1232, inlinedAt: !1233)
!1232 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1233 = !DILocation(line: 204, scope: !1234, inlinedAt: !1199)
!1234 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1235 = !DILocation(line: 0, scope: !1198)
!1236 = !DILocation(line: 716, scope: !1227, inlinedAt: !1222)
!1237 = !DILocation(line: 262, scope: !1238, inlinedAt: !1199)
!1238 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1239 = !DILocation(line: 410, scope: !1232, inlinedAt: !1199)
!1240 = !DILocation(line: 676, scope: !1241, inlinedAt: !1242)
!1241 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1242 = !DILocation(line: 752, scope: !1243, inlinedAt: !1244)
!1243 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !20, retainedNodes: !4)
!1244 = !DILocation(line: 52, scope: !1207, inlinedAt: !1245)
!1245 = !DILocation(line: 84, scope: !1209, inlinedAt: !1246)
!1246 = !DILocation(line: 205, scope: !1198)
!1247 = !DILocation(line: 326, scope: !1248)
!1248 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_23529", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !7, retainedNodes: !4)
!1249 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_20948", scope: null, file: !27, line: 41, type: !173, scopeLine: 41, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !26, retainedNodes: !4)
!1250 = !DILocation(line: 74, scope: !1251, inlinedAt: !1252)
!1251 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !26, retainedNodes: !4)
!1252 = !DILocation(line: 38, scope: !1253, inlinedAt: !1254)
!1253 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !26, retainedNodes: !4)
!1254 = !DILocation(line: 38, scope: !1255, inlinedAt: !1256)
!1255 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !26, retainedNodes: !4)
!1256 = !DILocation(line: 42, scope: !1249)
!1257 = !DILocation(line: 46, scope: !1249)
!1258 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_20970", scope: null, file: !27, line: 27, type: !173, scopeLine: 27, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1259 = !DILocation(line: 25, scope: !1260, inlinedAt: !1261)
!1260 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !27, file: !27, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1261 = !DILocation(line: 28, scope: !1258)
!1262 = !DILocation(line: 29, scope: !1258)
!1263 = !DILocation(line: 118, scope: !1264, inlinedAt: !1265)
!1264 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1265 = !DILocation(line: 118, scope: !1264, inlinedAt: !1266)
!1266 = !DILocation(line: 30, scope: !1258)
!1267 = !DILocation(line: 115, scope: !1268, inlinedAt: !1269)
!1268 = distinct !DISubprogram(name: "threadfence_system;", linkageName: "threadfence_system", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1269 = !DILocation(line: 31, scope: !1258)
!1270 = !DILocation(line: 74, scope: !1271, inlinedAt: !1272)
!1271 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1272 = !DILocation(line: 38, scope: !1273, inlinedAt: !1274)
!1273 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1274 = !DILocation(line: 38, scope: !1275, inlinedAt: !1276)
!1275 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !35, retainedNodes: !4)
!1276 = !DILocation(line: 33, scope: !1258)
!1277 = !DILocation(line: 38, scope: !1258)
!1278 = !DILocation(line: 74, scope: !1279, inlinedAt: !1280)
!1279 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1280 = !DILocation(line: 7, scope: !1281, inlinedAt: !1282)
!1281 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1282 = !DILocation(line: 7, scope: !1283, inlinedAt: !1284)
!1283 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1284 = !DILocation(line: 52, scope: !1285, inlinedAt: !1286)
!1285 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1286 = !DILocation(line: 84, scope: !1287, inlinedAt: !1288)
!1287 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1288 = !DILocation(line: 50, scope: !1289, inlinedAt: !1290)
!1289 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !263, file: !263, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1290 = !DILocation(line: 326, scope: !1291)
!1291 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_23794", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1292 = !DILocation(line: 676, scope: !1293, inlinedAt: !1294)
!1293 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1294 = !DILocation(line: 752, scope: !1295, inlinedAt: !1284)
!1295 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1296 = !DILocation(line: 31, scope: !1297, inlinedAt: !1298)
!1297 = distinct !DISubprogram(name: "CuDeviceArray;", linkageName: "CuDeviceArray", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1298 = !DILocation(line: 39, scope: !1297, inlinedAt: !1288)
!1299 = !DILocation(line: 108, scope: !1300, inlinedAt: !1301)
!1300 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1301 = !DILocation(line: 49, scope: !1289, inlinedAt: !1302)
!1302 = !DILocation(line: 327, scope: !1291)
!1303 = !DILocation(line: 31, scope: !1297, inlinedAt: !1304)
!1304 = !DILocation(line: 39, scope: !1297, inlinedAt: !1305)
!1305 = !DILocation(line: 50, scope: !1289, inlinedAt: !1302)
!1306 = !DILocation(line: 87, scope: !1307, inlinedAt: !1308)
!1307 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1308 = !DILocation(line: 328, scope: !1291)
!1309 = !DILocation(line: 86, scope: !1310, inlinedAt: !1311)
!1310 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1311 = !DILocation(line: 329, scope: !1291)
!1312 = !DILocation(line: 442, scope: !1313, inlinedAt: !1314)
!1313 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1314 = !DILocation(line: 347, scope: !1291)
!1315 = !DILocation(line: 261, scope: !1316, inlinedAt: !1314)
!1316 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1317 = !DILocation(line: 14, scope: !1318, inlinedAt: !1319)
!1318 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1319 = !DILocation(line: 246, scope: !1320, inlinedAt: !1314)
!1320 = distinct !DISubprogram(name: "bubble_sort;", linkageName: "bubble_sort", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1321 = !DILocation(line: 83, scope: !1322, inlinedAt: !1323)
!1322 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1323 = !DILocation(line: 422, scope: !1324, inlinedAt: !1325)
!1324 = distinct !DISubprogram(name: "min;", linkageName: "min", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1325 = !DILocation(line: 247, scope: !1320, inlinedAt: !1314)
!1326 = !DILocation(line: 74, scope: !1279, inlinedAt: !1327)
!1327 = !DILocation(line: 7, scope: !1281, inlinedAt: !1328)
!1328 = !DILocation(line: 7, scope: !1283, inlinedAt: !1329)
!1329 = !DILocation(line: 47, scope: !1330, inlinedAt: !1331)
!1330 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1331 = !DILocation(line: 91, scope: !1332, inlinedAt: !1333)
!1332 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1333 = !DILocation(line: 249, scope: !1320, inlinedAt: !1314)
!1334 = !DILocation(line: 87, scope: !1307, inlinedAt: !1329)
!1335 = !DILocation(line: 442, scope: !1313, inlinedAt: !1333)
!1336 = !DILocation(line: 88, scope: !1337, inlinedAt: !1338)
!1337 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1338 = !DILocation(line: 250, scope: !1320, inlinedAt: !1314)
!1339 = !DILocation(line: 87, scope: !1307, inlinedAt: !1338)
!1340 = !DILocation(line: 442, scope: !1313, inlinedAt: !1341)
!1341 = !DILocation(line: 667, scope: !1342, inlinedAt: !1343)
!1342 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1343 = !DILocation(line: 595, scope: !1344, inlinedAt: !1345)
!1344 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1345 = !DILocation(line: 610, scope: !1344, inlinedAt: !1346)
!1346 = !DILocation(line: 292, scope: !1347, inlinedAt: !1338)
!1347 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1348 = !DILocation(line: 88, scope: !1337, inlinedAt: !1349)
!1349 = !DILocation(line: 293, scope: !1347, inlinedAt: !1338)
!1350 = !DILocation(line: 87, scope: !1307, inlinedAt: !1349)
!1351 = !DILocation(line: 88, scope: !1337, inlinedAt: !1352)
!1352 = !DILocation(line: 480, scope: !1353, inlinedAt: !1354)
!1353 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1354 = !DILocation(line: 60, scope: !1355, inlinedAt: !1356)
!1355 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1356 = !DILocation(line: 311, scope: !1357, inlinedAt: !1358)
!1357 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1358 = !DILocation(line: 595, scope: !1344, inlinedAt: !1359)
!1359 = !DILocation(line: 610, scope: !1344, inlinedAt: !1360)
!1360 = !DILocation(line: 80, scope: !1361, inlinedAt: !1362)
!1361 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1362 = !DILocation(line: 101, scope: !1363, inlinedAt: !1349)
!1363 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1364 = !DILocation(line: 421, scope: !1365, inlinedAt: !1366)
!1365 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1366 = !DILocation(line: 326, scope: !1367, inlinedAt: !1368)
!1367 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1368 = !DILocation(line: 335, scope: !1367, inlinedAt: !1369)
!1369 = !DILocation(line: 337, scope: !1370, inlinedAt: !1356)
!1370 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1371 = !DILocation(line: 442, scope: !1313, inlinedAt: !1372)
!1372 = !DILocation(line: 667, scope: !1342, inlinedAt: !1358)
!1373 = !DILocation(line: 86, scope: !1310, inlinedAt: !1374)
!1374 = !DILocation(line: 74, scope: !1279, inlinedAt: !1375)
!1375 = !DILocation(line: 7, scope: !1376, inlinedAt: !1377)
!1376 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1377 = !DILocation(line: 7, scope: !1378, inlinedAt: !1379)
!1378 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1379 = !DILocation(line: 79, scope: !1380, inlinedAt: !1381)
!1380 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1381 = !DILocation(line: 82, scope: !1361, inlinedAt: !1362)
!1382 = !DILocation(line: 676, scope: !1293, inlinedAt: !1383)
!1383 = !DILocation(line: 752, scope: !1295, inlinedAt: !1384)
!1384 = !DILocation(line: 47, scope: !1330, inlinedAt: !1385)
!1385 = !DILocation(line: 91, scope: !1332, inlinedAt: !1338)
!1386 = !DILocation(line: 442, scope: !1313, inlinedAt: !1387)
!1387 = !DILocation(line: 667, scope: !1342, inlinedAt: !1388)
!1388 = !DILocation(line: 595, scope: !1344, inlinedAt: !1389)
!1389 = !DILocation(line: 610, scope: !1344, inlinedAt: !1390)
!1390 = !DILocation(line: 86, scope: !1391, inlinedAt: !1392)
!1391 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1392 = !DILocation(line: 103, scope: !1393, inlinedAt: !1338)
!1393 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1394 = !DILocation(line: 74, scope: !1279, inlinedAt: !1395)
!1395 = !DILocation(line: 42, scope: !1376, inlinedAt: !1396)
!1396 = !DILocation(line: 42, scope: !1397, inlinedAt: !1398)
!1397 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1398 = !DILocation(line: 82, scope: !1399, inlinedAt: !1400)
!1399 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1400 = !DILocation(line: 88, scope: !1391, inlinedAt: !1392)
!1401 = !DILocation(line: 14, scope: !1318, inlinedAt: !1402)
!1402 = !DILocation(line: 252, scope: !1320, inlinedAt: !1314)
!1403 = !DILocation(line: 292, scope: !1404, inlinedAt: !1405)
!1404 = distinct !DISubprogram(name: "unitrange_last;", linkageName: "unitrange_last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1405 = !DILocation(line: 287, scope: !1406, inlinedAt: !1407)
!1406 = distinct !DISubprogram(name: "UnitRange;", linkageName: "UnitRange", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1407 = !DILocation(line: 5, scope: !1408, inlinedAt: !1409)
!1408 = distinct !DISubprogram(name: "Colon;", linkageName: "Colon", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1409 = !DILocation(line: 253, scope: !1320, inlinedAt: !1314)
!1410 = !DILocation(line: 0, scope: !1293, inlinedAt: !1411)
!1411 = !DILocation(line: 752, scope: !1295, inlinedAt: !1412)
!1412 = !DILocation(line: 47, scope: !1330, inlinedAt: !1413)
!1413 = !DILocation(line: 91, scope: !1332, inlinedAt: !1414)
!1414 = !DILocation(line: 255, scope: !1320, inlinedAt: !1314)
!1415 = !DILocation(line: 0, scope: !1416, inlinedAt: !1414)
!1416 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1417 = !DILocation(line: 0, scope: !1313, inlinedAt: !1418)
!1418 = !DILocation(line: 667, scope: !1342, inlinedAt: !1419)
!1419 = !DILocation(line: 595, scope: !1344, inlinedAt: !1420)
!1420 = !DILocation(line: 610, scope: !1344, inlinedAt: !1421)
!1421 = !DILocation(line: 80, scope: !1361, inlinedAt: !1422)
!1422 = !DILocation(line: 101, scope: !1363, inlinedAt: !1423)
!1423 = !DILocation(line: 263, scope: !1320, inlinedAt: !1314)
!1424 = !DILocation(line: 0, scope: !1279, inlinedAt: !1425)
!1425 = !DILocation(line: 7, scope: !1376, inlinedAt: !1426)
!1426 = !DILocation(line: 7, scope: !1378, inlinedAt: !1427)
!1427 = !DILocation(line: 79, scope: !1380, inlinedAt: !1428)
!1428 = !DILocation(line: 82, scope: !1361, inlinedAt: !1422)
!1429 = !DILocation(line: 256, scope: !1320, inlinedAt: !1314)
!1430 = !DILocation(line: 262, scope: !1416, inlinedAt: !1414)
!1431 = !DILocation(line: 410, scope: !1432, inlinedAt: !1433)
!1432 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1433 = !DILocation(line: 204, scope: !1434, inlinedAt: !1414)
!1434 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1435 = !DILocation(line: 88, scope: !1337, inlinedAt: !1414)
!1436 = !DILocation(line: 87, scope: !1307, inlinedAt: !1414)
!1437 = !DILocation(line: 442, scope: !1313, inlinedAt: !1429)
!1438 = !DILocation(line: 610, scope: !1344, inlinedAt: !1439)
!1439 = !DILocation(line: 80, scope: !1361, inlinedAt: !1440)
!1440 = !DILocation(line: 101, scope: !1363, inlinedAt: !1441)
!1441 = !DILocation(line: 257, scope: !1320, inlinedAt: !1314)
!1442 = !DILocation(line: 74, scope: !1279, inlinedAt: !1443)
!1443 = !DILocation(line: 7, scope: !1376, inlinedAt: !1444)
!1444 = !DILocation(line: 7, scope: !1378, inlinedAt: !1445)
!1445 = !DILocation(line: 79, scope: !1380, inlinedAt: !1446)
!1446 = !DILocation(line: 82, scope: !1361, inlinedAt: !1440)
!1447 = !DILocation(line: 670, scope: !1448, inlinedAt: !1409)
!1448 = distinct !DISubprogram(name: "iterate;", linkageName: "iterate", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1449 = !DILocation(line: 14, scope: !1318, inlinedAt: !1450)
!1450 = !DILocation(line: 261, scope: !1320, inlinedAt: !1314)
!1451 = !DILocation(line: 262, scope: !1320, inlinedAt: !1314)
!1452 = !DILocation(line: 83, scope: !1322, inlinedAt: !1423)
!1453 = !DILocation(line: 74, scope: !1279, inlinedAt: !1425)
!1454 = !DILocation(line: 83, scope: !1322, inlinedAt: !1455)
!1455 = !DILocation(line: 357, scope: !1456, inlinedAt: !1457)
!1456 = distinct !DISubprogram(name: "isless;", linkageName: "isless", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1457 = !DILocation(line: 76, scope: !1458, inlinedAt: !1423)
!1458 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1459 = !DILocation(line: 74, scope: !1279, inlinedAt: !1460)
!1460 = !DILocation(line: 42, scope: !1376, inlinedAt: !1461)
!1461 = !DILocation(line: 42, scope: !1397, inlinedAt: !1462)
!1462 = !DILocation(line: 82, scope: !1399, inlinedAt: !1463)
!1463 = !DILocation(line: 88, scope: !1391, inlinedAt: !1464)
!1464 = !DILocation(line: 103, scope: !1393, inlinedAt: !1465)
!1465 = !DILocation(line: 264, scope: !1320, inlinedAt: !1314)
!1466 = !DILocation(line: 610, scope: !1344, inlinedAt: !1467)
!1467 = !DILocation(line: 86, scope: !1391, inlinedAt: !1464)
!1468 = !DILocation(line: 14, scope: !1318, inlinedAt: !1469)
!1469 = !DILocation(line: 267, scope: !1320, inlinedAt: !1314)
!1470 = !DILocation(line: 410, scope: !1432, inlinedAt: !1471)
!1471 = !DILocation(line: 674, scope: !1448, inlinedAt: !1469)
!1472 = !DILocation(line: 269, scope: !1320, inlinedAt: !1314)
!1473 = !DILocation(line: 676, scope: !1293, inlinedAt: !1474)
!1474 = !DILocation(line: 752, scope: !1295, inlinedAt: !1475)
!1475 = !DILocation(line: 47, scope: !1330, inlinedAt: !1476)
!1476 = !DILocation(line: 91, scope: !1332, inlinedAt: !1477)
!1477 = !DILocation(line: 270, scope: !1320, inlinedAt: !1314)
!1478 = !DILocation(line: 442, scope: !1313, inlinedAt: !1479)
!1479 = !DILocation(line: 667, scope: !1342, inlinedAt: !1480)
!1480 = !DILocation(line: 595, scope: !1344, inlinedAt: !1481)
!1481 = !DILocation(line: 610, scope: !1344, inlinedAt: !1482)
!1482 = !DILocation(line: 80, scope: !1361, inlinedAt: !1483)
!1483 = !DILocation(line: 101, scope: !1363, inlinedAt: !1477)
!1484 = !DILocation(line: 74, scope: !1279, inlinedAt: !1485)
!1485 = !DILocation(line: 7, scope: !1376, inlinedAt: !1486)
!1486 = !DILocation(line: 7, scope: !1378, inlinedAt: !1487)
!1487 = !DILocation(line: 79, scope: !1380, inlinedAt: !1488)
!1488 = !DILocation(line: 82, scope: !1361, inlinedAt: !1483)
!1489 = !DILocation(line: 88, scope: !1337, inlinedAt: !1477)
!1490 = !DILocation(line: 87, scope: !1307, inlinedAt: !1477)
!1491 = !DILocation(line: 442, scope: !1313, inlinedAt: !1492)
!1492 = !DILocation(line: 667, scope: !1342, inlinedAt: !1493)
!1493 = !DILocation(line: 595, scope: !1344, inlinedAt: !1494)
!1494 = !DILocation(line: 610, scope: !1344, inlinedAt: !1495)
!1495 = !DILocation(line: 324, scope: !1496, inlinedAt: !1477)
!1496 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1497 = !DILocation(line: 88, scope: !1337, inlinedAt: !1498)
!1498 = !DILocation(line: 325, scope: !1496, inlinedAt: !1477)
!1499 = !DILocation(line: 87, scope: !1307, inlinedAt: !1498)
!1500 = !DILocation(line: 88, scope: !1337, inlinedAt: !1501)
!1501 = !DILocation(line: 480, scope: !1353, inlinedAt: !1502)
!1502 = !DILocation(line: 60, scope: !1355, inlinedAt: !1503)
!1503 = !DILocation(line: 311, scope: !1357, inlinedAt: !1504)
!1504 = !DILocation(line: 595, scope: !1344, inlinedAt: !1505)
!1505 = !DILocation(line: 610, scope: !1344, inlinedAt: !1506)
!1506 = !DILocation(line: 86, scope: !1391, inlinedAt: !1507)
!1507 = !DILocation(line: 103, scope: !1393, inlinedAt: !1498)
!1508 = !DILocation(line: 421, scope: !1365, inlinedAt: !1509)
!1509 = !DILocation(line: 326, scope: !1367, inlinedAt: !1510)
!1510 = !DILocation(line: 335, scope: !1367, inlinedAt: !1511)
!1511 = !DILocation(line: 337, scope: !1370, inlinedAt: !1503)
!1512 = !DILocation(line: 442, scope: !1313, inlinedAt: !1513)
!1513 = !DILocation(line: 667, scope: !1342, inlinedAt: !1504)
!1514 = !DILocation(line: 86, scope: !1310, inlinedAt: !1515)
!1515 = !DILocation(line: 74, scope: !1279, inlinedAt: !1516)
!1516 = !DILocation(line: 42, scope: !1376, inlinedAt: !1517)
!1517 = !DILocation(line: 42, scope: !1397, inlinedAt: !1518)
!1518 = !DILocation(line: 82, scope: !1399, inlinedAt: !1519)
!1519 = !DILocation(line: 88, scope: !1391, inlinedAt: !1507)
!1520 = !DILocation(line: 14, scope: !1318, inlinedAt: !1521)
!1521 = !DILocation(line: 273, scope: !1320, inlinedAt: !1314)
!1522 = !DILocation(line: 349, scope: !1291)
!1523 = !DILocation(line: 350, scope: !1291)
!1524 = !DILocation(line: 261, scope: !1316, inlinedAt: !1525)
!1525 = !DILocation(line: 353, scope: !1291)
!1526 = !DILocation(line: 88, scope: !1337, inlinedAt: !1525)
!1527 = !DILocation(line: 87, scope: !1307, inlinedAt: !1525)
!1528 = !DILocation(line: 442, scope: !1313, inlinedAt: !1529)
!1529 = !DILocation(line: 667, scope: !1342, inlinedAt: !1530)
!1530 = !DILocation(line: 595, scope: !1344, inlinedAt: !1531)
!1531 = !DILocation(line: 610, scope: !1344, inlinedAt: !1532)
!1532 = !DILocation(line: 292, scope: !1347, inlinedAt: !1525)
!1533 = !DILocation(line: 88, scope: !1337, inlinedAt: !1534)
!1534 = !DILocation(line: 293, scope: !1347, inlinedAt: !1525)
!1535 = !DILocation(line: 87, scope: !1307, inlinedAt: !1534)
!1536 = !DILocation(line: 88, scope: !1337, inlinedAt: !1537)
!1537 = !DILocation(line: 480, scope: !1353, inlinedAt: !1538)
!1538 = !DILocation(line: 60, scope: !1355, inlinedAt: !1539)
!1539 = !DILocation(line: 311, scope: !1357, inlinedAt: !1540)
!1540 = !DILocation(line: 595, scope: !1344, inlinedAt: !1541)
!1541 = !DILocation(line: 610, scope: !1344, inlinedAt: !1542)
!1542 = !DILocation(line: 80, scope: !1361, inlinedAt: !1543)
!1543 = !DILocation(line: 101, scope: !1363, inlinedAt: !1534)
!1544 = !DILocation(line: 421, scope: !1365, inlinedAt: !1545)
!1545 = !DILocation(line: 326, scope: !1367, inlinedAt: !1546)
!1546 = !DILocation(line: 335, scope: !1367, inlinedAt: !1547)
!1547 = !DILocation(line: 337, scope: !1370, inlinedAt: !1539)
!1548 = !DILocation(line: 442, scope: !1313, inlinedAt: !1549)
!1549 = !DILocation(line: 667, scope: !1342, inlinedAt: !1540)
!1550 = !DILocation(line: 86, scope: !1310, inlinedAt: !1551)
!1551 = !DILocation(line: 74, scope: !1279, inlinedAt: !1552)
!1552 = !DILocation(line: 7, scope: !1376, inlinedAt: !1553)
!1553 = !DILocation(line: 7, scope: !1378, inlinedAt: !1554)
!1554 = !DILocation(line: 79, scope: !1380, inlinedAt: !1555)
!1555 = !DILocation(line: 82, scope: !1361, inlinedAt: !1543)
!1556 = !DILocation(line: 442, scope: !1313, inlinedAt: !1557)
!1557 = !DILocation(line: 295, scope: !1558, inlinedAt: !1559)
!1558 = distinct !DISubprogram(name: "call_batch_partition;", linkageName: "call_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1559 = !DILocation(line: 356, scope: !1291)
!1560 = !DILocation(line: 0, scope: !1293, inlinedAt: !1561)
!1561 = !DILocation(line: 752, scope: !1295, inlinedAt: !1562)
!1562 = !DILocation(line: 47, scope: !1330, inlinedAt: !1563)
!1563 = !DILocation(line: 91, scope: !1332, inlinedAt: !1564)
!1564 = !DILocation(line: 113, scope: !1565, inlinedAt: !1566)
!1565 = distinct !DISubprogram(name: "batch_partition;", linkageName: "batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1566 = !DILocation(line: 296, scope: !1558, inlinedAt: !1559)
!1567 = !DILocation(line: 0, scope: !1313, inlinedAt: !1568)
!1568 = !DILocation(line: 667, scope: !1342, inlinedAt: !1569)
!1569 = !DILocation(line: 595, scope: !1344, inlinedAt: !1570)
!1570 = !DILocation(line: 610, scope: !1344, inlinedAt: !1571)
!1571 = !DILocation(line: 86, scope: !1391, inlinedAt: !1572)
!1572 = !DILocation(line: 103, scope: !1393, inlinedAt: !1564)
!1573 = !DILocation(line: 0, scope: !1279, inlinedAt: !1574)
!1574 = !DILocation(line: 42, scope: !1376, inlinedAt: !1575)
!1575 = !DILocation(line: 42, scope: !1397, inlinedAt: !1576)
!1576 = !DILocation(line: 82, scope: !1399, inlinedAt: !1577)
!1577 = !DILocation(line: 88, scope: !1391, inlinedAt: !1572)
!1578 = !DILocation(line: 0, scope: !1458, inlinedAt: !1579)
!1579 = !DILocation(line: 114, scope: !1565, inlinedAt: !1566)
!1580 = !DILocation(line: 0, scope: !1279, inlinedAt: !1581)
!1581 = !DILocation(line: 42, scope: !1376, inlinedAt: !1582)
!1582 = !DILocation(line: 42, scope: !1397, inlinedAt: !1583)
!1583 = !DILocation(line: 82, scope: !1399, inlinedAt: !1584)
!1584 = !DILocation(line: 88, scope: !1391, inlinedAt: !1585)
!1585 = !DILocation(line: 103, scope: !1393, inlinedAt: !1579)
!1586 = !DILocation(line: 0, scope: !1322, inlinedAt: !1587)
!1587 = !DILocation(line: 121, scope: !1565, inlinedAt: !1566)
!1588 = !DILocation(line: 87, scope: !1307, inlinedAt: !1566)
!1589 = !DILocation(line: 83, scope: !1322, inlinedAt: !1590)
!1590 = !DILocation(line: 422, scope: !1324, inlinedAt: !1566)
!1591 = !DILocation(line: 14, scope: !1318, inlinedAt: !1592)
!1592 = !DILocation(line: 110, scope: !1565, inlinedAt: !1566)
!1593 = !DILocation(line: 74, scope: !1279, inlinedAt: !1594)
!1594 = !DILocation(line: 7, scope: !1281, inlinedAt: !1595)
!1595 = !DILocation(line: 7, scope: !1283, inlinedAt: !1596)
!1596 = !DILocation(line: 57, scope: !1597, inlinedAt: !1598)
!1597 = distinct !DISubprogram(name: "blockIdx_y;", linkageName: "blockIdx_y", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1598 = !DILocation(line: 77, scope: !1599, inlinedAt: !1600)
!1599 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1600 = !DILocation(line: 111, scope: !1565, inlinedAt: !1566)
!1601 = !{i32 0, i32 65534}
!1602 = !DILocation(line: 88, scope: !1337, inlinedAt: !1600)
!1603 = !DILocation(line: 87, scope: !1307, inlinedAt: !1604)
!1604 = !DILocation(line: 540, scope: !1605, inlinedAt: !1600)
!1605 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1606 = !DILocation(line: 442, scope: !1313, inlinedAt: !1607)
!1607 = !DILocation(line: 112, scope: !1565, inlinedAt: !1566)
!1608 = !DILocation(line: 442, scope: !1313, inlinedAt: !1609)
!1609 = !DILocation(line: 667, scope: !1342, inlinedAt: !1610)
!1610 = !DILocation(line: 595, scope: !1344, inlinedAt: !1611)
!1611 = !DILocation(line: 610, scope: !1344, inlinedAt: !1612)
!1612 = !DILocation(line: 292, scope: !1347, inlinedAt: !1564)
!1613 = !DILocation(line: 88, scope: !1337, inlinedAt: !1614)
!1614 = !DILocation(line: 293, scope: !1347, inlinedAt: !1564)
!1615 = !DILocation(line: 87, scope: !1307, inlinedAt: !1614)
!1616 = !DILocation(line: 442, scope: !1313, inlinedAt: !1617)
!1617 = !DILocation(line: 667, scope: !1342, inlinedAt: !1618)
!1618 = !DILocation(line: 595, scope: !1344, inlinedAt: !1619)
!1619 = !DILocation(line: 610, scope: !1344, inlinedAt: !1620)
!1620 = !DILocation(line: 80, scope: !1361, inlinedAt: !1621)
!1621 = !DILocation(line: 101, scope: !1363, inlinedAt: !1614)
!1622 = !DILocation(line: 86, scope: !1310, inlinedAt: !1623)
!1623 = !DILocation(line: 74, scope: !1279, inlinedAt: !1624)
!1624 = !DILocation(line: 7, scope: !1376, inlinedAt: !1625)
!1625 = !DILocation(line: 7, scope: !1378, inlinedAt: !1626)
!1626 = !DILocation(line: 79, scope: !1380, inlinedAt: !1627)
!1627 = !DILocation(line: 82, scope: !1361, inlinedAt: !1621)
!1628 = !DILocation(line: 74, scope: !1279, inlinedAt: !1574)
!1629 = !DILocation(line: 76, scope: !1458, inlinedAt: !1579)
!1630 = !DILocation(line: 610, scope: !1344, inlinedAt: !1631)
!1631 = !DILocation(line: 86, scope: !1391, inlinedAt: !1585)
!1632 = !DILocation(line: 610, scope: !1344, inlinedAt: !1633)
!1633 = !DILocation(line: 80, scope: !1361, inlinedAt: !1634)
!1634 = !DILocation(line: 101, scope: !1363, inlinedAt: !1579)
!1635 = !DILocation(line: 74, scope: !1279, inlinedAt: !1636)
!1636 = !DILocation(line: 7, scope: !1376, inlinedAt: !1637)
!1637 = !DILocation(line: 7, scope: !1378, inlinedAt: !1638)
!1638 = !DILocation(line: 79, scope: !1380, inlinedAt: !1639)
!1639 = !DILocation(line: 82, scope: !1361, inlinedAt: !1634)
!1640 = !DILocation(line: 610, scope: !1344, inlinedAt: !1641)
!1641 = !DILocation(line: 86, scope: !1391, inlinedAt: !1642)
!1642 = !DILocation(line: 103, scope: !1393, inlinedAt: !1643)
!1643 = !DILocation(line: 116, scope: !1565, inlinedAt: !1566)
!1644 = !DILocation(line: 0, scope: !1565, inlinedAt: !1566)
!1645 = !DILocation(line: 14, scope: !1318, inlinedAt: !1646)
!1646 = !DILocation(line: 118, scope: !1565, inlinedAt: !1566)
!1647 = !DILocation(line: 610, scope: !1344, inlinedAt: !1648)
!1648 = !DILocation(line: 80, scope: !1361, inlinedAt: !1649)
!1649 = !DILocation(line: 101, scope: !1363, inlinedAt: !1650)
!1650 = !DILocation(line: 119, scope: !1565, inlinedAt: !1566)
!1651 = !DILocation(line: 74, scope: !1279, inlinedAt: !1652)
!1652 = !DILocation(line: 7, scope: !1376, inlinedAt: !1653)
!1653 = !DILocation(line: 7, scope: !1378, inlinedAt: !1654)
!1654 = !DILocation(line: 79, scope: !1380, inlinedAt: !1655)
!1655 = !DILocation(line: 82, scope: !1361, inlinedAt: !1649)
!1656 = !DILocation(line: 122, scope: !1565, inlinedAt: !1566)
!1657 = !DILocation(line: 88, scope: !1337, inlinedAt: !1658)
!1658 = !DILocation(line: 123, scope: !1565, inlinedAt: !1566)
!1659 = !DILocation(line: 83, scope: !1322, inlinedAt: !1587)
!1660 = !DILocation(line: 14, scope: !1318, inlinedAt: !1661)
!1661 = !DILocation(line: 125, scope: !1565, inlinedAt: !1566)
!1662 = !DILocation(line: 127, scope: !1565, inlinedAt: !1566)
!1663 = !DILocation(line: 442, scope: !1313, inlinedAt: !1664)
!1664 = !DILocation(line: 667, scope: !1342, inlinedAt: !1665)
!1665 = !DILocation(line: 595, scope: !1344, inlinedAt: !1666)
!1666 = !DILocation(line: 610, scope: !1344, inlinedAt: !1667)
!1667 = !DILocation(line: 324, scope: !1496, inlinedAt: !1668)
!1668 = !DILocation(line: 128, scope: !1565, inlinedAt: !1566)
!1669 = !DILocation(line: 88, scope: !1337, inlinedAt: !1670)
!1670 = !DILocation(line: 325, scope: !1496, inlinedAt: !1668)
!1671 = !DILocation(line: 87, scope: !1307, inlinedAt: !1670)
!1672 = !DILocation(line: 442, scope: !1313, inlinedAt: !1673)
!1673 = !DILocation(line: 667, scope: !1342, inlinedAt: !1674)
!1674 = !DILocation(line: 595, scope: !1344, inlinedAt: !1675)
!1675 = !DILocation(line: 610, scope: !1344, inlinedAt: !1676)
!1676 = !DILocation(line: 86, scope: !1391, inlinedAt: !1677)
!1677 = !DILocation(line: 103, scope: !1393, inlinedAt: !1670)
!1678 = !DILocation(line: 86, scope: !1310, inlinedAt: !1679)
!1679 = !DILocation(line: 74, scope: !1279, inlinedAt: !1680)
!1680 = !DILocation(line: 42, scope: !1376, inlinedAt: !1681)
!1681 = !DILocation(line: 42, scope: !1397, inlinedAt: !1682)
!1682 = !DILocation(line: 82, scope: !1399, inlinedAt: !1683)
!1683 = !DILocation(line: 88, scope: !1391, inlinedAt: !1677)
!1684 = !DILocation(line: 14, scope: !1318, inlinedAt: !1685)
!1685 = !DILocation(line: 130, scope: !1565, inlinedAt: !1566)
!1686 = !DILocation(line: 14, scope: !1318, inlinedAt: !1687)
!1687 = !DILocation(line: 184, scope: !1688, inlinedAt: !1689)
!1688 = distinct !DISubprogram(name: "consolidate_batch_partition;", linkageName: "consolidate_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1689 = !DILocation(line: 362, scope: !1291)
!1690 = !DILocation(line: 94, scope: !1691, inlinedAt: !1692)
!1691 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1692 = !DILocation(line: 191, scope: !1693, inlinedAt: !1694)
!1693 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1694 = !DILocation(line: 206, scope: !1695, inlinedAt: !1696)
!1695 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1696 = !DILocation(line: 93, scope: !1697, inlinedAt: !1698)
!1697 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1698 = !DILocation(line: 185, scope: !1699, inlinedAt: !1700)
!1699 = distinct !DISubprogram(name: "N_b;", linkageName: "N_b", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1700 = !DILocation(line: 192, scope: !1688, inlinedAt: !1689)
!1701 = !DILocation(line: 335, scope: !1702, inlinedAt: !1696)
!1702 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1703 = !DILocation(line: 304, scope: !1704, inlinedAt: !1705)
!1704 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1705 = !DILocation(line: 295, scope: !1706, inlinedAt: !1698)
!1706 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1707 = !DILocation(line: 374, scope: !1708, inlinedAt: !1709)
!1708 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1709 = !DILocation(line: 713, scope: !1710, inlinedAt: !1705)
!1710 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1711 = !DILocation(line: 239, scope: !1712, inlinedAt: !1713)
!1712 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1713 = !DILocation(line: 714, scope: !1710, inlinedAt: !1705)
!1714 = !DILocation(line: 292, scope: !1404, inlinedAt: !1715)
!1715 = !DILocation(line: 287, scope: !1406, inlinedAt: !1716)
!1716 = !DILocation(line: 5, scope: !1408, inlinedAt: !1700)
!1717 = !DILocation(line: 0, scope: !1307, inlinedAt: !1718)
!1718 = !DILocation(line: 186, scope: !1719, inlinedAt: !1720)
!1719 = distinct !DISubprogram(name: "batch;", linkageName: "batch", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1720 = !DILocation(line: 195, scope: !1688, inlinedAt: !1689)
!1721 = !DILocation(line: 0, scope: !1293, inlinedAt: !1722)
!1722 = !DILocation(line: 752, scope: !1295, inlinedAt: !1723)
!1723 = !DILocation(line: 47, scope: !1330, inlinedAt: !1724)
!1724 = !DILocation(line: 91, scope: !1332, inlinedAt: !1725)
!1725 = !DILocation(line: 197, scope: !1688, inlinedAt: !1689)
!1726 = !DILocation(line: 0, scope: !1313, inlinedAt: !1727)
!1727 = !DILocation(line: 667, scope: !1342, inlinedAt: !1728)
!1728 = !DILocation(line: 595, scope: !1344, inlinedAt: !1729)
!1729 = !DILocation(line: 610, scope: !1344, inlinedAt: !1730)
!1730 = !DILocation(line: 86, scope: !1391, inlinedAt: !1731)
!1731 = !DILocation(line: 103, scope: !1393, inlinedAt: !1725)
!1732 = !DILocation(line: 0, scope: !1279, inlinedAt: !1733)
!1733 = !DILocation(line: 42, scope: !1376, inlinedAt: !1734)
!1734 = !DILocation(line: 42, scope: !1397, inlinedAt: !1735)
!1735 = !DILocation(line: 82, scope: !1399, inlinedAt: !1736)
!1736 = !DILocation(line: 88, scope: !1391, inlinedAt: !1731)
!1737 = !DILocation(line: 0, scope: !1688, inlinedAt: !1689)
!1738 = !DILocation(line: 193, scope: !1688, inlinedAt: !1689)
!1739 = !DILocation(line: 716, scope: !1710, inlinedAt: !1705)
!1740 = !DILocation(line: 410, scope: !1432, inlinedAt: !1738)
!1741 = !DILocation(line: 88, scope: !1337, inlinedAt: !1742)
!1742 = !DILocation(line: 186, scope: !1719, inlinedAt: !1743)
!1743 = !DILocation(line: 194, scope: !1688, inlinedAt: !1689)
!1744 = !DILocation(line: 87, scope: !1307, inlinedAt: !1742)
!1745 = !DILocation(line: 713, scope: !1710, inlinedAt: !1746)
!1746 = !DILocation(line: 295, scope: !1706, inlinedAt: !1747)
!1747 = !DILocation(line: 185, scope: !1699, inlinedAt: !1743)
!1748 = !DILocation(line: 442, scope: !1313, inlinedAt: !1743)
!1749 = !DILocation(line: 716, scope: !1710, inlinedAt: !1746)
!1750 = !DILocation(line: 86, scope: !1310, inlinedAt: !1720)
!1751 = !DILocation(line: 88, scope: !1337, inlinedAt: !1720)
!1752 = !DILocation(line: 87, scope: !1307, inlinedAt: !1720)
!1753 = !DILocation(line: 88, scope: !1337, inlinedAt: !1754)
!1754 = !DILocation(line: 196, scope: !1688, inlinedAt: !1689)
!1755 = !DILocation(line: 83, scope: !1322, inlinedAt: !1756)
!1756 = !DILocation(line: 422, scope: !1324, inlinedAt: !1754)
!1757 = !DILocation(line: 87, scope: !1307, inlinedAt: !1754)
!1758 = !DILocation(line: 86, scope: !1310, inlinedAt: !1725)
!1759 = !DILocation(line: 74, scope: !1279, inlinedAt: !1733)
!1760 = !DILocation(line: 87, scope: !1307, inlinedAt: !1761)
!1761 = !DILocation(line: 200, scope: !1688, inlinedAt: !1689)
!1762 = !DILocation(line: 203, scope: !1688, inlinedAt: !1689)
!1763 = !DILocation(line: 14, scope: !1318, inlinedAt: !1764)
!1764 = !DILocation(line: 211, scope: !1688, inlinedAt: !1689)
!1765 = !DILocation(line: 86, scope: !1310, inlinedAt: !1766)
!1766 = !DILocation(line: 212, scope: !1688, inlinedAt: !1689)
!1767 = !DILocation(line: 88, scope: !1337, inlinedAt: !1766)
!1768 = !DILocation(line: 442, scope: !1313, inlinedAt: !1769)
!1769 = !DILocation(line: 667, scope: !1342, inlinedAt: !1770)
!1770 = !DILocation(line: 595, scope: !1344, inlinedAt: !1771)
!1771 = !DILocation(line: 610, scope: !1344, inlinedAt: !1772)
!1772 = !DILocation(line: 80, scope: !1361, inlinedAt: !1773)
!1773 = !DILocation(line: 101, scope: !1363, inlinedAt: !1766)
!1774 = !DILocation(line: 86, scope: !1310, inlinedAt: !1775)
!1775 = !DILocation(line: 74, scope: !1279, inlinedAt: !1776)
!1776 = !DILocation(line: 7, scope: !1376, inlinedAt: !1777)
!1777 = !DILocation(line: 7, scope: !1378, inlinedAt: !1778)
!1778 = !DILocation(line: 79, scope: !1380, inlinedAt: !1779)
!1779 = !DILocation(line: 82, scope: !1361, inlinedAt: !1773)
!1780 = !DILocation(line: 213, scope: !1688, inlinedAt: !1689)
!1781 = !DILocation(line: 86, scope: !1310, inlinedAt: !1780)
!1782 = !DILocation(line: 83, scope: !1322, inlinedAt: !1783)
!1783 = !DILocation(line: 422, scope: !1324, inlinedAt: !1784)
!1784 = !DILocation(line: 214, scope: !1688, inlinedAt: !1689)
!1785 = !DILocation(line: 14, scope: !1318, inlinedAt: !1786)
!1786 = !DILocation(line: 215, scope: !1688, inlinedAt: !1689)
!1787 = !DILocation(line: 442, scope: !1313, inlinedAt: !1788)
!1788 = !DILocation(line: 216, scope: !1688, inlinedAt: !1689)
!1789 = !DILocation(line: 87, scope: !1307, inlinedAt: !1790)
!1790 = !DILocation(line: 540, scope: !1605, inlinedAt: !1791)
!1791 = !DILocation(line: 217, scope: !1688, inlinedAt: !1689)
!1792 = !DILocation(line: 442, scope: !1313, inlinedAt: !1793)
!1793 = !DILocation(line: 667, scope: !1342, inlinedAt: !1794)
!1794 = !DILocation(line: 595, scope: !1344, inlinedAt: !1795)
!1795 = !DILocation(line: 610, scope: !1344, inlinedAt: !1796)
!1796 = !DILocation(line: 292, scope: !1347, inlinedAt: !1791)
!1797 = !DILocation(line: 88, scope: !1337, inlinedAt: !1798)
!1798 = !DILocation(line: 293, scope: !1347, inlinedAt: !1791)
!1799 = !DILocation(line: 87, scope: !1307, inlinedAt: !1798)
!1800 = !DILocation(line: 442, scope: !1313, inlinedAt: !1801)
!1801 = !DILocation(line: 667, scope: !1342, inlinedAt: !1802)
!1802 = !DILocation(line: 595, scope: !1344, inlinedAt: !1803)
!1803 = !DILocation(line: 610, scope: !1344, inlinedAt: !1804)
!1804 = !DILocation(line: 80, scope: !1361, inlinedAt: !1805)
!1805 = !DILocation(line: 101, scope: !1363, inlinedAt: !1798)
!1806 = !DILocation(line: 86, scope: !1310, inlinedAt: !1807)
!1807 = !DILocation(line: 74, scope: !1279, inlinedAt: !1808)
!1808 = !DILocation(line: 7, scope: !1376, inlinedAt: !1809)
!1809 = !DILocation(line: 7, scope: !1378, inlinedAt: !1810)
!1810 = !DILocation(line: 79, scope: !1380, inlinedAt: !1811)
!1811 = !DILocation(line: 82, scope: !1361, inlinedAt: !1805)
!1812 = !DILocation(line: 14, scope: !1318, inlinedAt: !1813)
!1813 = !DILocation(line: 221, scope: !1688, inlinedAt: !1689)
!1814 = !DILocation(line: 222, scope: !1688, inlinedAt: !1689)
!1815 = !DILocation(line: 87, scope: !1307, inlinedAt: !1816)
!1816 = !DILocation(line: 540, scope: !1605, inlinedAt: !1817)
!1817 = !DILocation(line: 223, scope: !1688, inlinedAt: !1689)
!1818 = !DILocation(line: 87, scope: !1307, inlinedAt: !1819)
!1819 = !DILocation(line: 527, scope: !1820, inlinedAt: !1816)
!1820 = distinct !DISubprogram(name: "afoldl;", linkageName: "afoldl", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1821 = !DILocation(line: 86, scope: !1310, inlinedAt: !1817)
!1822 = !DILocation(line: 87, scope: !1307, inlinedAt: !1817)
!1823 = !DILocation(line: 442, scope: !1313, inlinedAt: !1824)
!1824 = !DILocation(line: 667, scope: !1342, inlinedAt: !1825)
!1825 = !DILocation(line: 595, scope: !1344, inlinedAt: !1826)
!1826 = !DILocation(line: 610, scope: !1344, inlinedAt: !1827)
!1827 = !DILocation(line: 292, scope: !1347, inlinedAt: !1817)
!1828 = !DILocation(line: 88, scope: !1337, inlinedAt: !1829)
!1829 = !DILocation(line: 293, scope: !1347, inlinedAt: !1817)
!1830 = !DILocation(line: 87, scope: !1307, inlinedAt: !1829)
!1831 = !DILocation(line: 442, scope: !1313, inlinedAt: !1832)
!1832 = !DILocation(line: 667, scope: !1342, inlinedAt: !1833)
!1833 = !DILocation(line: 595, scope: !1344, inlinedAt: !1834)
!1834 = !DILocation(line: 610, scope: !1344, inlinedAt: !1835)
!1835 = !DILocation(line: 80, scope: !1361, inlinedAt: !1836)
!1836 = !DILocation(line: 101, scope: !1363, inlinedAt: !1829)
!1837 = !DILocation(line: 86, scope: !1310, inlinedAt: !1838)
!1838 = !DILocation(line: 74, scope: !1279, inlinedAt: !1839)
!1839 = !DILocation(line: 7, scope: !1376, inlinedAt: !1840)
!1840 = !DILocation(line: 7, scope: !1378, inlinedAt: !1841)
!1841 = !DILocation(line: 79, scope: !1380, inlinedAt: !1842)
!1842 = !DILocation(line: 82, scope: !1361, inlinedAt: !1836)
!1843 = !DILocation(line: 442, scope: !1313, inlinedAt: !1844)
!1844 = !DILocation(line: 667, scope: !1342, inlinedAt: !1845)
!1845 = !DILocation(line: 595, scope: !1344, inlinedAt: !1846)
!1846 = !DILocation(line: 610, scope: !1344, inlinedAt: !1847)
!1847 = !DILocation(line: 324, scope: !1496, inlinedAt: !1817)
!1848 = !DILocation(line: 88, scope: !1337, inlinedAt: !1849)
!1849 = !DILocation(line: 325, scope: !1496, inlinedAt: !1817)
!1850 = !DILocation(line: 87, scope: !1307, inlinedAt: !1849)
!1851 = !DILocation(line: 442, scope: !1313, inlinedAt: !1852)
!1852 = !DILocation(line: 667, scope: !1342, inlinedAt: !1853)
!1853 = !DILocation(line: 595, scope: !1344, inlinedAt: !1854)
!1854 = !DILocation(line: 610, scope: !1344, inlinedAt: !1855)
!1855 = !DILocation(line: 86, scope: !1391, inlinedAt: !1856)
!1856 = !DILocation(line: 103, scope: !1393, inlinedAt: !1849)
!1857 = !DILocation(line: 86, scope: !1310, inlinedAt: !1858)
!1858 = !DILocation(line: 74, scope: !1279, inlinedAt: !1859)
!1859 = !DILocation(line: 42, scope: !1376, inlinedAt: !1860)
!1860 = !DILocation(line: 42, scope: !1397, inlinedAt: !1861)
!1861 = !DILocation(line: 82, scope: !1399, inlinedAt: !1862)
!1862 = !DILocation(line: 88, scope: !1391, inlinedAt: !1856)
!1863 = !DILocation(line: 326, scope: !1496, inlinedAt: !1817)
!1864 = !DILocation(line: 14, scope: !1318, inlinedAt: !1865)
!1865 = !DILocation(line: 225, scope: !1688, inlinedAt: !1689)
!1866 = !DILocation(line: 226, scope: !1688, inlinedAt: !1689)
!1867 = !DILocation(line: 87, scope: !1307, inlinedAt: !1868)
!1868 = !DILocation(line: 540, scope: !1605, inlinedAt: !1869)
!1869 = !DILocation(line: 227, scope: !1688, inlinedAt: !1689)
!1870 = !DILocation(line: 87, scope: !1307, inlinedAt: !1871)
!1871 = !DILocation(line: 527, scope: !1820, inlinedAt: !1868)
!1872 = !DILocation(line: 86, scope: !1310, inlinedAt: !1869)
!1873 = !DILocation(line: 87, scope: !1307, inlinedAt: !1869)
!1874 = !DILocation(line: 442, scope: !1313, inlinedAt: !1875)
!1875 = !DILocation(line: 667, scope: !1342, inlinedAt: !1876)
!1876 = !DILocation(line: 595, scope: !1344, inlinedAt: !1877)
!1877 = !DILocation(line: 610, scope: !1344, inlinedAt: !1878)
!1878 = !DILocation(line: 324, scope: !1496, inlinedAt: !1869)
!1879 = !DILocation(line: 88, scope: !1337, inlinedAt: !1880)
!1880 = !DILocation(line: 325, scope: !1496, inlinedAt: !1869)
!1881 = !DILocation(line: 87, scope: !1307, inlinedAt: !1880)
!1882 = !DILocation(line: 442, scope: !1313, inlinedAt: !1883)
!1883 = !DILocation(line: 667, scope: !1342, inlinedAt: !1884)
!1884 = !DILocation(line: 595, scope: !1344, inlinedAt: !1885)
!1885 = !DILocation(line: 610, scope: !1344, inlinedAt: !1886)
!1886 = !DILocation(line: 86, scope: !1391, inlinedAt: !1887)
!1887 = !DILocation(line: 103, scope: !1393, inlinedAt: !1880)
!1888 = !DILocation(line: 86, scope: !1310, inlinedAt: !1889)
!1889 = !DILocation(line: 74, scope: !1279, inlinedAt: !1890)
!1890 = !DILocation(line: 42, scope: !1376, inlinedAt: !1891)
!1891 = !DILocation(line: 42, scope: !1397, inlinedAt: !1892)
!1892 = !DILocation(line: 82, scope: !1399, inlinedAt: !1893)
!1893 = !DILocation(line: 88, scope: !1391, inlinedAt: !1887)
!1894 = !DILocation(line: 326, scope: !1496, inlinedAt: !1869)
!1895 = !DILocation(line: 14, scope: !1318, inlinedAt: !1896)
!1896 = !DILocation(line: 229, scope: !1688, inlinedAt: !1689)
!1897 = !DILocation(line: 87, scope: !1307, inlinedAt: !1898)
!1898 = !DILocation(line: 230, scope: !1688, inlinedAt: !1689)
!1899 = !DILocation(line: 87, scope: !1307, inlinedAt: !1900)
!1900 = !DILocation(line: 231, scope: !1688, inlinedAt: !1689)
!1901 = !DILocation(line: 410, scope: !1432, inlinedAt: !1902)
!1902 = !DILocation(line: 674, scope: !1448, inlinedAt: !1900)
!1903 = !DILocation(line: 14, scope: !1318, inlinedAt: !1904)
!1904 = !DILocation(line: 234, scope: !1688, inlinedAt: !1689)
!1905 = !DILocation(line: 87, scope: !1307, inlinedAt: !1906)
!1906 = !DILocation(line: 235, scope: !1688, inlinedAt: !1689)
!1907 = !DILocation(line: 410, scope: !1432, inlinedAt: !1908)
!1908 = !DILocation(line: 365, scope: !1291)
!1909 = !DILocation(line: 410, scope: !1432, inlinedAt: !1910)
!1910 = !DILocation(line: 366, scope: !1291)
!1911 = !DILocation(line: 83, scope: !1322, inlinedAt: !1912)
!1912 = !DILocation(line: 368, scope: !1291)
!1913 = !DILocation(line: 147, scope: !1914, inlinedAt: !1915)
!1914 = distinct !DISubprogram(name: "pointer_from_objref;", linkageName: "pointer_from_objref", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1915 = !DILocation(line: 40, scope: !1916, inlinedAt: !1917)
!1916 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1917 = !DILocation(line: 73, scope: !1918, inlinedAt: !1919)
!1918 = distinct !DISubprogram(name: "cudaStreamCreateWithFlags;", linkageName: "cudaStreamCreateWithFlags", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1919 = !DILocation(line: 25, scope: !1920, inlinedAt: !1921)
!1920 = distinct !DISubprogram(name: "CuDeviceStream;", linkageName: "CuDeviceStream", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1921 = !DILocation(line: 41, scope: !1920, inlinedAt: !1922)
!1922 = !DILocation(line: 369, scope: !1291)
!1923 = !DILocation(line: 410, scope: !1432, inlinedAt: !1924)
!1924 = !DILocation(line: 7, scope: !1925, inlinedAt: !1926)
!1925 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1926 = !DILocation(line: 204, scope: !1434, inlinedAt: !1927)
!1927 = !DILocation(line: 26, scope: !1920, inlinedAt: !1921)
!1928 = !DILocation(line: 8, scope: !1929, inlinedAt: !1930)
!1929 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1930 = !DILocation(line: 27, scope: !1920, inlinedAt: !1921)
!1931 = !DILocation(line: 33, scope: !1932, inlinedAt: !1933)
!1932 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1933 = !DILocation(line: 56, scope: !1934, inlinedAt: !1935)
!1934 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1935 = !DILocation(line: 43, scope: !1920, inlinedAt: !1921)
!1936 = !DILocation(line: 83, scope: !1322, inlinedAt: !1937)
!1937 = !DILocation(line: 305, scope: !1938, inlinedAt: !1939)
!1938 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1939 = !DILocation(line: 370, scope: !1291)
!1940 = !DILocation(line: 0, scope: !1291)
!1941 = !DILocation(line: 595, scope: !1942, inlinedAt: !1943)
!1942 = distinct !DISubprogram(name: "NamedTuple;", linkageName: "NamedTuple", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1943 = !DILocation(line: 591, scope: !1942, inlinedAt: !1944)
!1944 = !DILocation(line: 86, scope: !1945, inlinedAt: !1946)
!1945 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1946 = !DILocation(line: 371, scope: !1291)
!1947 = !DILocation(line: 357, scope: !1948, inlinedAt: !1949)
!1948 = distinct !DISubprogram(name: "#cudacall#228;", linkageName: "#cudacall#228", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1949 = !DILocation(line: 357, scope: !1950, inlinedAt: !1951)
!1950 = distinct !DISubprogram(name: "cudacall##kw;", linkageName: "cudacall##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1951 = !DILocation(line: 192, scope: !1945, inlinedAt: !1952)
!1952 = !DILocation(line: 163, scope: !1953, inlinedAt: !1954)
!1953 = distinct !DISubprogram(name: "#call#205;", linkageName: "#call#205", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1954 = !DILocation(line: 163, scope: !1955, inlinedAt: !1956)
!1955 = distinct !DISubprogram(name: "call##kw;", linkageName: "call##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1956 = !DILocation(line: 407, scope: !1957, inlinedAt: !1958)
!1957 = distinct !DISubprogram(name: "#_#231;", linkageName: "#_#231", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1958 = !DILocation(line: 407, scope: !1959, inlinedAt: !1944)
!1959 = distinct !DISubprogram(name: "Any##kw;", linkageName: "Any##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1960 = !DILocation(line: 595, scope: !1942, inlinedAt: !1961)
!1961 = !DILocation(line: 591, scope: !1942, inlinedAt: !1962)
!1962 = !DILocation(line: 86, scope: !1945, inlinedAt: !1963)
!1963 = !DILocation(line: 375, scope: !1291)
!1964 = !DILocation(line: 357, scope: !1948, inlinedAt: !1965)
!1965 = !DILocation(line: 357, scope: !1950, inlinedAt: !1966)
!1966 = !DILocation(line: 192, scope: !1945, inlinedAt: !1967)
!1967 = !DILocation(line: 163, scope: !1953, inlinedAt: !1968)
!1968 = !DILocation(line: 163, scope: !1955, inlinedAt: !1969)
!1969 = !DILocation(line: 407, scope: !1957, inlinedAt: !1970)
!1970 = !DILocation(line: 407, scope: !1959, inlinedAt: !1962)
!1971 = !DILocation(line: 79, scope: !1972, inlinedAt: !1973)
!1972 = distinct !DISubprogram(name: "cudaStreamDestroy;", linkageName: "cudaStreamDestroy", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1973 = !DILocation(line: 25, scope: !1974, inlinedAt: !1975)
!1974 = distinct !DISubprogram(name: "unsafe_destroy!;", linkageName: "unsafe_destroy!", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!1975 = !DILocation(line: 379, scope: !1291)
!1976 = !DILocation(line: 410, scope: !1432, inlinedAt: !1977)
!1977 = !DILocation(line: 7, scope: !1925, inlinedAt: !1978)
!1978 = !DILocation(line: 204, scope: !1434, inlinedAt: !1979)
!1979 = !DILocation(line: 26, scope: !1974, inlinedAt: !1975)
!1980 = !DILocation(line: 8, scope: !1929, inlinedAt: !1981)
!1981 = !DILocation(line: 27, scope: !1974, inlinedAt: !1975)
!1982 = !DILocation(line: 382, scope: !1291)
!1983 = !DILocation(line: 147, scope: !1914, inlinedAt: !1984)
!1984 = !DILocation(line: 40, scope: !1916, inlinedAt: !1985)
!1985 = !DILocation(line: 73, scope: !1918, inlinedAt: !1986)
!1986 = !DILocation(line: 25, scope: !1920, inlinedAt: !1987)
!1987 = !DILocation(line: 41, scope: !1920, inlinedAt: !1988)
!1988 = !DILocation(line: 383, scope: !1291)
!1989 = !DILocation(line: 410, scope: !1432, inlinedAt: !1990)
!1990 = !DILocation(line: 7, scope: !1925, inlinedAt: !1991)
!1991 = !DILocation(line: 204, scope: !1434, inlinedAt: !1992)
!1992 = !DILocation(line: 26, scope: !1920, inlinedAt: !1987)
!1993 = !DILocation(line: 8, scope: !1929, inlinedAt: !1994)
!1994 = !DILocation(line: 27, scope: !1920, inlinedAt: !1987)
!1995 = !DILocation(line: 33, scope: !1932, inlinedAt: !1996)
!1996 = !DILocation(line: 56, scope: !1934, inlinedAt: !1997)
!1997 = !DILocation(line: 43, scope: !1920, inlinedAt: !1987)
!1998 = !DILocation(line: 83, scope: !1322, inlinedAt: !1999)
!1999 = !DILocation(line: 305, scope: !1938, inlinedAt: !2000)
!2000 = !DILocation(line: 384, scope: !1291)
!2001 = !DILocation(line: 595, scope: !1942, inlinedAt: !2002)
!2002 = !DILocation(line: 591, scope: !1942, inlinedAt: !2003)
!2003 = !DILocation(line: 86, scope: !1945, inlinedAt: !2004)
!2004 = !DILocation(line: 385, scope: !1291)
!2005 = !DILocation(line: 357, scope: !1948, inlinedAt: !2006)
!2006 = !DILocation(line: 357, scope: !1950, inlinedAt: !2007)
!2007 = !DILocation(line: 192, scope: !1945, inlinedAt: !2008)
!2008 = !DILocation(line: 163, scope: !1953, inlinedAt: !2009)
!2009 = !DILocation(line: 163, scope: !1955, inlinedAt: !2010)
!2010 = !DILocation(line: 407, scope: !1957, inlinedAt: !2011)
!2011 = !DILocation(line: 407, scope: !1959, inlinedAt: !2003)
!2012 = !DILocation(line: 595, scope: !1942, inlinedAt: !2013)
!2013 = !DILocation(line: 591, scope: !1942, inlinedAt: !2014)
!2014 = !DILocation(line: 86, scope: !1945, inlinedAt: !2015)
!2015 = !DILocation(line: 389, scope: !1291)
!2016 = !DILocation(line: 357, scope: !1948, inlinedAt: !2017)
!2017 = !DILocation(line: 357, scope: !1950, inlinedAt: !2018)
!2018 = !DILocation(line: 192, scope: !1945, inlinedAt: !2019)
!2019 = !DILocation(line: 163, scope: !1953, inlinedAt: !2020)
!2020 = !DILocation(line: 163, scope: !1955, inlinedAt: !2021)
!2021 = !DILocation(line: 407, scope: !1957, inlinedAt: !2022)
!2022 = !DILocation(line: 407, scope: !1959, inlinedAt: !2014)
!2023 = !DILocation(line: 79, scope: !1972, inlinedAt: !2024)
!2024 = !DILocation(line: 25, scope: !1974, inlinedAt: !2025)
!2025 = !DILocation(line: 393, scope: !1291)
!2026 = !DILocation(line: 410, scope: !1432, inlinedAt: !2027)
!2027 = !DILocation(line: 7, scope: !1925, inlinedAt: !2028)
!2028 = !DILocation(line: 204, scope: !1434, inlinedAt: !2029)
!2029 = !DILocation(line: 26, scope: !1974, inlinedAt: !2025)
!2030 = !DILocation(line: 8, scope: !1929, inlinedAt: !2031)
!2031 = !DILocation(line: 27, scope: !1974, inlinedAt: !2025)
!2032 = !DILocation(line: 397, scope: !2033)
!2033 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_23794", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !56, retainedNodes: !4)
!2034 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_20948", scope: null, file: !27, line: 41, type: !173, scopeLine: 41, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !68, retainedNodes: !4)
!2035 = !DILocation(line: 74, scope: !2036, inlinedAt: !2037)
!2036 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !68, retainedNodes: !4)
!2037 = !DILocation(line: 38, scope: !2038, inlinedAt: !2039)
!2038 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !68, retainedNodes: !4)
!2039 = !DILocation(line: 38, scope: !2040, inlinedAt: !2041)
!2040 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !68, retainedNodes: !4)
!2041 = !DILocation(line: 42, scope: !2034)
!2042 = !DILocation(line: 46, scope: !2034)
!2043 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_20970", scope: null, file: !27, line: 27, type: !173, scopeLine: 27, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2044 = !DILocation(line: 25, scope: !2045, inlinedAt: !2046)
!2045 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !27, file: !27, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2046 = !DILocation(line: 28, scope: !2043)
!2047 = !DILocation(line: 29, scope: !2043)
!2048 = !DILocation(line: 118, scope: !2049, inlinedAt: !2050)
!2049 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2050 = !DILocation(line: 118, scope: !2049, inlinedAt: !2051)
!2051 = !DILocation(line: 30, scope: !2043)
!2052 = !DILocation(line: 115, scope: !2053, inlinedAt: !2054)
!2053 = distinct !DISubprogram(name: "threadfence_system;", linkageName: "threadfence_system", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2054 = !DILocation(line: 31, scope: !2043)
!2055 = !DILocation(line: 74, scope: !2056, inlinedAt: !2057)
!2056 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2057 = !DILocation(line: 38, scope: !2058, inlinedAt: !2059)
!2058 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2059 = !DILocation(line: 38, scope: !2060, inlinedAt: !2061)
!2060 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !76, retainedNodes: !4)
!2061 = !DILocation(line: 33, scope: !2043)
!2062 = !DILocation(line: 38, scope: !2043)
!2063 = distinct !DISubprogram(name: "merge_swap_shmem", linkageName: "julia_merge_swap_shmem_24079", scope: null, file: !6, line: 86, type: !173, scopeLine: 86, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2064 = !DILocation(line: 14, scope: !2065, inlinedAt: !2066)
!2065 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2066 = !DILocation(line: 88, scope: !2063)
!2067 = !DILocation(line: 88, scope: !2068, inlinedAt: !2069)
!2068 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2069 = !DILocation(line: 89, scope: !2063)
!2070 = !DILocation(line: 86, scope: !2071, inlinedAt: !2072)
!2071 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2072 = !DILocation(line: 37, scope: !2073, inlinedAt: !2069)
!2073 = distinct !DISubprogram(name: "batch_floor;", linkageName: "batch_floor", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2074 = !DILocation(line: 262, scope: !2075, inlinedAt: !2072)
!2075 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2076 = !DILocation(line: 610, scope: !2077, inlinedAt: !2078)
!2077 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2078 = !DILocation(line: 80, scope: !2079, inlinedAt: !2080)
!2079 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2080 = !DILocation(line: 101, scope: !2081, inlinedAt: !2069)
!2081 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2082 = !DILocation(line: 33, scope: !2083, inlinedAt: !2084)
!2083 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2084 = !DILocation(line: 54, scope: !2085, inlinedAt: !2086)
!2085 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2086 = !DILocation(line: 82, scope: !2079, inlinedAt: !2080)
!2087 = !DILocation(line: 86, scope: !2071, inlinedAt: !2088)
!2088 = !DILocation(line: 74, scope: !2089, inlinedAt: !2090)
!2089 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2090 = !DILocation(line: 7, scope: !2091, inlinedAt: !2092)
!2091 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2092 = !DILocation(line: 7, scope: !2093, inlinedAt: !2094)
!2093 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2094 = !DILocation(line: 79, scope: !2095, inlinedAt: !2086)
!2095 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2096 = !DILocation(line: 86, scope: !2071, inlinedAt: !2097)
!2097 = !DILocation(line: 90, scope: !2063)
!2098 = !DILocation(line: 87, scope: !2099, inlinedAt: !2100)
!2099 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2100 = !DILocation(line: 44, scope: !2101, inlinedAt: !2102)
!2101 = distinct !DISubprogram(name: "batch_ceil;", linkageName: "batch_ceil", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2102 = !DILocation(line: 91, scope: !2063)
!2103 = !DILocation(line: 262, scope: !2075, inlinedAt: !2100)
!2104 = !DILocation(line: 610, scope: !2077, inlinedAt: !2105)
!2105 = !DILocation(line: 80, scope: !2079, inlinedAt: !2106)
!2106 = !DILocation(line: 101, scope: !2081, inlinedAt: !2102)
!2107 = !DILocation(line: 86, scope: !2071, inlinedAt: !2108)
!2108 = !DILocation(line: 74, scope: !2089, inlinedAt: !2109)
!2109 = !DILocation(line: 7, scope: !2091, inlinedAt: !2110)
!2110 = !DILocation(line: 7, scope: !2093, inlinedAt: !2111)
!2111 = !DILocation(line: 79, scope: !2095, inlinedAt: !2112)
!2112 = !DILocation(line: 82, scope: !2079, inlinedAt: !2106)
!2113 = !DILocation(line: 86, scope: !2071, inlinedAt: !2114)
!2114 = !DILocation(line: 92, scope: !2063)
!2115 = !DILocation(line: 29, scope: !2116, inlinedAt: !2117)
!2116 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2117 = !DILocation(line: 213, scope: !2118, inlinedAt: !2119)
!2118 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2119 = !DILocation(line: 89, scope: !2120, inlinedAt: !2121)
!2120 = distinct !DISubprogram(name: "axes;", linkageName: "axes", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2121 = !DILocation(line: 109, scope: !2122, inlinedAt: !2123)
!2122 = distinct !DISubprogram(name: "axes1;", linkageName: "axes1", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2123 = !DILocation(line: 312, scope: !2124, inlinedAt: !2125)
!2124 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2125 = !DILocation(line: 595, scope: !2077, inlinedAt: !2126)
!2126 = !DILocation(line: 610, scope: !2077, inlinedAt: !2127)
!2127 = !DILocation(line: 86, scope: !2128, inlinedAt: !2129)
!2128 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2129 = !DILocation(line: 103, scope: !2130, inlinedAt: !2131)
!2130 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2131 = !DILocation(line: 93, scope: !2063)
!2132 = !DILocation(line: 83, scope: !2133, inlinedAt: !2134)
!2133 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2134 = !DILocation(line: 421, scope: !2135, inlinedAt: !2136)
!2135 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2136 = !DILocation(line: 326, scope: !2137, inlinedAt: !2138)
!2137 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2138 = !DILocation(line: 335, scope: !2137, inlinedAt: !2139)
!2139 = !DILocation(line: 337, scope: !2140, inlinedAt: !2117)
!2140 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2141 = !DILocation(line: 442, scope: !2142, inlinedAt: !2143)
!2142 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2143 = !DILocation(line: 667, scope: !2144, inlinedAt: !2125)
!2144 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2145 = !DILocation(line: 33, scope: !2083, inlinedAt: !2146)
!2146 = !DILocation(line: 54, scope: !2085, inlinedAt: !2147)
!2147 = !DILocation(line: 88, scope: !2128, inlinedAt: !2129)
!2148 = !DILocation(line: 74, scope: !2089, inlinedAt: !2149)
!2149 = !DILocation(line: 42, scope: !2091, inlinedAt: !2150)
!2150 = !DILocation(line: 42, scope: !2151, inlinedAt: !2152)
!2151 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2152 = !DILocation(line: 82, scope: !2153, inlinedAt: !2147)
!2153 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !55, retainedNodes: !4)
!2154 = !DILocation(line: 14, scope: !2065, inlinedAt: !2155)
!2155 = !DILocation(line: 94, scope: !2063)
!2156 = !DILocation(line: 87, scope: !2099, inlinedAt: !2157)
!2157 = !DILocation(line: 95, scope: !2063)
!2158 = !DILocation(line: 442, scope: !2142, inlinedAt: !2159)
!2159 = !DILocation(line: 667, scope: !2144, inlinedAt: !2160)
!2160 = !DILocation(line: 595, scope: !2077, inlinedAt: !2161)
!2161 = !DILocation(line: 610, scope: !2077, inlinedAt: !2162)
!2162 = !DILocation(line: 86, scope: !2128, inlinedAt: !2163)
!2163 = !DILocation(line: 103, scope: !2130, inlinedAt: !2157)
!2164 = !DILocation(line: 74, scope: !2089, inlinedAt: !2165)
!2165 = !DILocation(line: 42, scope: !2091, inlinedAt: !2166)
!2166 = !DILocation(line: 42, scope: !2151, inlinedAt: !2167)
!2167 = !DILocation(line: 82, scope: !2153, inlinedAt: !2168)
!2168 = !DILocation(line: 88, scope: !2128, inlinedAt: !2163)
!2169 = !DILocation(line: 96, scope: !2063)
!2170 = !DILocation(line: 442, scope: !2142, inlinedAt: !2171)
!2171 = !DILocation(line: 667, scope: !2144, inlinedAt: !2172)
!2172 = !DILocation(line: 595, scope: !2077, inlinedAt: !2173)
!2173 = !DILocation(line: 610, scope: !2077, inlinedAt: !2174)
!2174 = !DILocation(line: 80, scope: !2079, inlinedAt: !2175)
!2175 = !DILocation(line: 101, scope: !2081, inlinedAt: !2169)
!2176 = !DILocation(line: 86, scope: !2071, inlinedAt: !2177)
!2177 = !DILocation(line: 74, scope: !2089, inlinedAt: !2178)
!2178 = !DILocation(line: 7, scope: !2091, inlinedAt: !2179)
!2179 = !DILocation(line: 7, scope: !2093, inlinedAt: !2180)
!2180 = !DILocation(line: 79, scope: !2095, inlinedAt: !2181)
!2181 = !DILocation(line: 82, scope: !2079, inlinedAt: !2175)
!2182 = !DILocation(line: 29, scope: !2116, inlinedAt: !2183)
!2183 = !DILocation(line: 213, scope: !2118, inlinedAt: !2184)
!2184 = !DILocation(line: 89, scope: !2120, inlinedAt: !2185)
!2185 = !DILocation(line: 109, scope: !2122, inlinedAt: !2186)
!2186 = !DILocation(line: 312, scope: !2124, inlinedAt: !2187)
!2187 = !DILocation(line: 595, scope: !2077, inlinedAt: !2076)
!2188 = !DILocation(line: 83, scope: !2133, inlinedAt: !2189)
!2189 = !DILocation(line: 421, scope: !2135, inlinedAt: !2190)
!2190 = !DILocation(line: 326, scope: !2137, inlinedAt: !2191)
!2191 = !DILocation(line: 335, scope: !2137, inlinedAt: !2192)
!2192 = !DILocation(line: 337, scope: !2140, inlinedAt: !2183)
!2193 = !DILocation(line: 442, scope: !2142, inlinedAt: !2194)
!2194 = !DILocation(line: 667, scope: !2144, inlinedAt: !2187)
!2195 = !DILocation(line: 86, scope: !2071, inlinedAt: !2100)
!2196 = !DILocation(line: 442, scope: !2142, inlinedAt: !2197)
!2197 = !DILocation(line: 667, scope: !2144, inlinedAt: !2198)
!2198 = !DILocation(line: 595, scope: !2077, inlinedAt: !2104)
!2199 = distinct !DISubprogram(name: "find_partition", linkageName: "julia_find_partition_24074", scope: null, file: !6, line: 153, type: !173, scopeLine: 153, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2200 = !DILocation(line: 87, scope: !2201, inlinedAt: !2202)
!2201 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2202 = !DILocation(line: 154, scope: !2199)
!2203 = !DILocation(line: 442, scope: !2204, inlinedAt: !2205)
!2204 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2205 = !DILocation(line: 156, scope: !2199)
!2206 = !DILocation(line: 0, scope: !2207, inlinedAt: !2208)
!2207 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2208 = !DILocation(line: 613, scope: !2209, inlinedAt: !2210)
!2209 = distinct !DISubprogram(name: "last;", linkageName: "last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2210 = !DILocation(line: 667, scope: !2211, inlinedAt: !2212)
!2211 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2212 = !DILocation(line: 595, scope: !2213, inlinedAt: !2214)
!2213 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2214 = !DILocation(line: 610, scope: !2213, inlinedAt: !2215)
!2215 = !DILocation(line: 292, scope: !2216, inlinedAt: !2217)
!2216 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2217 = !DILocation(line: 158, scope: !2199)
!2218 = !DILocation(line: 0, scope: !2204, inlinedAt: !2210)
!2219 = !DILocation(line: 0, scope: !2207, inlinedAt: !2220)
!2220 = !DILocation(line: 293, scope: !2216, inlinedAt: !2217)
!2221 = !DILocation(line: 0, scope: !2222, inlinedAt: !2220)
!2222 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2223 = !DILocation(line: 0, scope: !2201, inlinedAt: !2220)
!2224 = !DILocation(line: 0, scope: !2225, inlinedAt: !2226)
!2225 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2226 = !DILocation(line: 60, scope: !2227, inlinedAt: !2228)
!2227 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2228 = !DILocation(line: 311, scope: !2229, inlinedAt: !2230)
!2229 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2230 = !DILocation(line: 595, scope: !2213, inlinedAt: !2231)
!2231 = !DILocation(line: 610, scope: !2213, inlinedAt: !2232)
!2232 = !DILocation(line: 80, scope: !2233, inlinedAt: !2234)
!2233 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2234 = !DILocation(line: 101, scope: !2235, inlinedAt: !2220)
!2235 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2236 = !DILocation(line: 0, scope: !2222, inlinedAt: !2237)
!2237 = !DILocation(line: 480, scope: !2225, inlinedAt: !2226)
!2238 = !DILocation(line: 0, scope: !2239, inlinedAt: !2240)
!2239 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2240 = !DILocation(line: 326, scope: !2241, inlinedAt: !2242)
!2241 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2242 = !DILocation(line: 335, scope: !2241, inlinedAt: !2243)
!2243 = !DILocation(line: 337, scope: !2244, inlinedAt: !2228)
!2244 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2245 = !DILocation(line: 0, scope: !2207, inlinedAt: !2246)
!2246 = !DILocation(line: 54, scope: !2247, inlinedAt: !2248)
!2247 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2248 = !DILocation(line: 82, scope: !2233, inlinedAt: !2234)
!2249 = !DILocation(line: 0, scope: !2250, inlinedAt: !2251)
!2250 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2251 = !DILocation(line: 7, scope: !2252, inlinedAt: !2253)
!2252 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2253 = !DILocation(line: 7, scope: !2254, inlinedAt: !2255)
!2254 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2255 = !DILocation(line: 79, scope: !2256, inlinedAt: !2248)
!2256 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2257 = !DILocation(line: 0, scope: !2258, inlinedAt: !2217)
!2258 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2259 = !DILocation(line: 87, scope: !2201, inlinedAt: !2260)
!2260 = !DILocation(line: 157, scope: !2199)
!2261 = !DILocation(line: 261, scope: !2262, inlinedAt: !2260)
!2262 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2263 = !DILocation(line: 442, scope: !2204, inlinedAt: !2210)
!2264 = !DILocation(line: 88, scope: !2222, inlinedAt: !2220)
!2265 = !DILocation(line: 87, scope: !2201, inlinedAt: !2220)
!2266 = !DILocation(line: 442, scope: !2204, inlinedAt: !2267)
!2267 = !DILocation(line: 667, scope: !2211, inlinedAt: !2230)
!2268 = !DILocation(line: 86, scope: !2269, inlinedAt: !2270)
!2269 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !63, retainedNodes: !4)
!2270 = !DILocation(line: 74, scope: !2250, inlinedAt: !2251)
!2271 = !DILocation(line: 76, scope: !2258, inlinedAt: !2217)
!2272 = !DILocation(line: 86, scope: !2269, inlinedAt: !2273)
!2273 = !DILocation(line: 164, scope: !2199)
!2274 = distinct !DISubprogram(name: "n_eff", linkageName: "julia_n_eff_24060", scope: null, file: !6, line: 203, type: !173, scopeLine: 203, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2275 = !DILocation(line: 204, scope: !2274)
!2276 = !DILocation(line: 74, scope: !2277, inlinedAt: !2278)
!2277 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2278 = !DILocation(line: 7, scope: !2279, inlinedAt: !2280)
!2279 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2280 = !DILocation(line: 7, scope: !2281, inlinedAt: !2282)
!2281 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2282 = !DILocation(line: 52, scope: !2283, inlinedAt: !2284)
!2283 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2284 = !DILocation(line: 84, scope: !2285, inlinedAt: !2275)
!2285 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2286 = !DILocation(line: 94, scope: !2287, inlinedAt: !2288)
!2287 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2288 = !DILocation(line: 191, scope: !2289, inlinedAt: !2290)
!2289 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2290 = !DILocation(line: 206, scope: !2291, inlinedAt: !2292)
!2291 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2292 = !DILocation(line: 93, scope: !2293, inlinedAt: !2275)
!2293 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2294 = !DILocation(line: 335, scope: !2295, inlinedAt: !2292)
!2295 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2296 = !DILocation(line: 304, scope: !2297, inlinedAt: !2298)
!2297 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2298 = !DILocation(line: 295, scope: !2299, inlinedAt: !2275)
!2299 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2300 = !DILocation(line: 374, scope: !2301, inlinedAt: !2302)
!2301 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2302 = !DILocation(line: 713, scope: !2303, inlinedAt: !2298)
!2303 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2304 = !DILocation(line: 239, scope: !2305, inlinedAt: !2306)
!2305 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2306 = !DILocation(line: 714, scope: !2303, inlinedAt: !2298)
!2307 = !DILocation(line: 410, scope: !2308, inlinedAt: !2309)
!2308 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2309 = !DILocation(line: 204, scope: !2310, inlinedAt: !2275)
!2310 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2311 = !DILocation(line: 0, scope: !2274)
!2312 = !DILocation(line: 716, scope: !2303, inlinedAt: !2298)
!2313 = !DILocation(line: 262, scope: !2314, inlinedAt: !2275)
!2314 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2315 = !DILocation(line: 410, scope: !2308, inlinedAt: !2275)
!2316 = !DILocation(line: 676, scope: !2317, inlinedAt: !2318)
!2317 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2318 = !DILocation(line: 752, scope: !2319, inlinedAt: !2320)
!2319 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !64, retainedNodes: !4)
!2320 = !DILocation(line: 52, scope: !2283, inlinedAt: !2321)
!2321 = !DILocation(line: 84, scope: !2285, inlinedAt: !2322)
!2322 = !DILocation(line: 205, scope: !2274)
!2323 = distinct !DISubprogram(name: "throw_device_cuerror", linkageName: "julia_throw_device_cuerror_24057", scope: null, file: !17, line: 17, type: !173, scopeLine: 17, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2324 = !DILocation(line: 33, scope: !2325, inlinedAt: !2326)
!2325 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2326 = !DILocation(line: 11, scope: !2327, inlinedAt: !2328)
!2327 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2328 = !DILocation(line: 396, scope: !2329, inlinedAt: !2330)
!2329 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2330 = !DILocation(line: 49, scope: !2331, inlinedAt: !2332)
!2331 = distinct !DISubprogram(name: "cudaGetErrorString;", linkageName: "cudaGetErrorString", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2332 = !DILocation(line: 15, scope: !2333, inlinedAt: !2334)
!2333 = distinct !DISubprogram(name: "description;", linkageName: "description", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2334 = !DILocation(line: 207, scope: !2335, inlinedAt: !2336)
!2335 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2336 = !DILocation(line: 19, scope: !2323)
!2337 = !DILocation(line: 676, scope: !2338, inlinedAt: !2339)
!2338 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2339 = !DILocation(line: 752, scope: !2340, inlinedAt: !2341)
!2340 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2341 = !DILocation(line: 19, scope: !2342, inlinedAt: !2334)
!2342 = distinct !DISubprogram(name: "Integer;", linkageName: "Integer", scope: !1047, file: !1047, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2343 = !DILocation(line: 55, scope: !2344, inlinedAt: !2345)
!2344 = distinct !DISubprogram(name: "cudaGetErrorName;", linkageName: "cudaGetErrorName", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2345 = !DILocation(line: 13, scope: !2346, inlinedAt: !2334)
!2346 = distinct !DISubprogram(name: "name;", linkageName: "name", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2347 = !DILocation(line: 74, scope: !2348, inlinedAt: !2349)
!2348 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2349 = !DILocation(line: 38, scope: !2335, inlinedAt: !2350)
!2350 = !DILocation(line: 38, scope: !2351, inlinedAt: !2352)
!2351 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2352 = !DILocation(line: 158, scope: !2335, inlinedAt: !2353)
!2353 = !DILocation(line: 120, scope: !2354, inlinedAt: !2334)
!2354 = distinct !DISubprogram(name: "_cuprint;", linkageName: "_cuprint", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !62, retainedNodes: !4)
!2355 = !DILocation(line: 20, scope: !2323)
!2356 = distinct !DISubprogram(name: "dynamic_cudacall##kw", linkageName: "julia_dynamic_cudacall##kw_24050", scope: null, file: !3, line: 361, type: !173, scopeLine: 361, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2357 = !DILocation(line: 118, scope: !2358, inlinedAt: !2359)
!2358 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2359 = !DILocation(line: 361, scope: !2356)
!2360 = !DILocation(line: 630, scope: !2361, inlinedAt: !2362)
!2361 = distinct !DISubprogram(name: "checked_trunc_uint;", linkageName: "checked_trunc_uint", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2362 = !DILocation(line: 716, scope: !2363, inlinedAt: !2364)
!2363 = distinct !DISubprogram(name: "toUInt32;", linkageName: "toUInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2364 = !DILocation(line: 756, scope: !2365, inlinedAt: !2366)
!2365 = distinct !DISubprogram(name: "UInt32;", linkageName: "UInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2366 = !DILocation(line: 7, scope: !2367, inlinedAt: !2368)
!2367 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2368 = !DILocation(line: 18, scope: !2369, inlinedAt: !2370)
!2369 = distinct !DISubprogram(name: "CuDim3;", linkageName: "CuDim3", scope: !192, file: !192, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2370 = !DILocation(line: 23, scope: !2369, inlinedAt: !2371)
!2371 = !DILocation(line: 60, scope: !2372, inlinedAt: !2373)
!2372 = distinct !DISubprogram(name: "device_launch;", linkageName: "device_launch", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2373 = !DILocation(line: 383, scope: !2374, inlinedAt: !2375)
!2374 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2375 = !DILocation(line: 361, scope: !2376, inlinedAt: !2359)
!2376 = distinct !DISubprogram(name: "#dynamic_cudacall#229;", linkageName: "#dynamic_cudacall#229", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2377 = !DILocation(line: 632, scope: !2361, inlinedAt: !2362)
!2378 = !DILocation(line: 630, scope: !2361, inlinedAt: !2379)
!2379 = !DILocation(line: 716, scope: !2363, inlinedAt: !2380)
!2380 = !DILocation(line: 756, scope: !2365, inlinedAt: !2381)
!2381 = !DILocation(line: 7, scope: !2367, inlinedAt: !2382)
!2382 = !DILocation(line: 396, scope: !2383, inlinedAt: !2384)
!2383 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2384 = !DILocation(line: 225, scope: !2385, inlinedAt: !2386)
!2385 = distinct !DISubprogram(name: "cudaGetParameterBufferV2;", linkageName: "cudaGetParameterBufferV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2386 = !DILocation(line: 72, scope: !2387, inlinedAt: !2388)
!2387 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2388 = !DILocation(line: 68, scope: !2389, inlinedAt: !2390)
!2389 = distinct !DISubprogram(name: "parameter_buffer;", linkageName: "parameter_buffer", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2390 = !DILocation(line: 62, scope: !2372, inlinedAt: !2373)
!2391 = !DILocation(line: 632, scope: !2361, inlinedAt: !2379)
!2392 = !DILocation(line: 73, scope: !2387, inlinedAt: !2388)
!2393 = !DILocation(line: 159, scope: !2394, inlinedAt: !2392)
!2394 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2395 = !DILocation(line: 33, scope: !2396, inlinedAt: !2397)
!2396 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2397 = !DILocation(line: 47, scope: !2398, inlinedAt: !2399)
!2398 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2399 = !DILocation(line: 251, scope: !2400, inlinedAt: !2401)
!2400 = distinct !DISubprogram(name: "cudaLaunchDeviceV2;", linkageName: "cudaLaunchDeviceV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2401 = !DILocation(line: 25, scope: !2372, inlinedAt: !2373)
!2402 = !DILocation(line: 410, scope: !2403, inlinedAt: !2404)
!2403 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2404 = !DILocation(line: 7, scope: !2405, inlinedAt: !2406)
!2405 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2406 = !DILocation(line: 204, scope: !2407, inlinedAt: !2408)
!2407 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2408 = !DILocation(line: 26, scope: !2372, inlinedAt: !2373)
!2409 = !DILocation(line: 8, scope: !2410, inlinedAt: !2411)
!2410 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !57, retainedNodes: !4)
!2411 = !DILocation(line: 27, scope: !2372, inlinedAt: !2373)
!2412 = distinct !DISubprogram(name: "batch_step_swap", linkageName: "julia_batch_step_swap_24092", scope: null, file: !6, line: 68, type: !173, scopeLine: 68, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2413 = !DILocation(line: 86, scope: !2414, inlinedAt: !2415)
!2414 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2415 = !DILocation(line: 69, scope: !2412)
!2416 = !DILocation(line: 262, scope: !2417, inlinedAt: !2415)
!2417 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2418 = !DILocation(line: 262, scope: !2417, inlinedAt: !2419)
!2419 = !DILocation(line: 37, scope: !2420, inlinedAt: !2421)
!2420 = distinct !DISubprogram(name: "batch_floor;", linkageName: "batch_floor", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2421 = !DILocation(line: 70, scope: !2412)
!2422 = !DILocation(line: 86, scope: !2414, inlinedAt: !2423)
!2423 = !DILocation(line: 62, scope: !2424, inlinedAt: !2421)
!2424 = distinct !DISubprogram(name: "step_swap;", linkageName: "step_swap", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2425 = !DILocation(line: 442, scope: !2426, inlinedAt: !2427)
!2426 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2427 = !DILocation(line: 51, scope: !2428, inlinedAt: !2423)
!2428 = distinct !DISubprogram(name: "\CE\98;", linkageName: "\CE\98", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2429 = !DILocation(line: 88, scope: !2430, inlinedAt: !2423)
!2430 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2431 = !DILocation(line: 87, scope: !2432, inlinedAt: !2423)
!2432 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2433 = !DILocation(line: 87, scope: !2432, inlinedAt: !2434)
!2434 = !DILocation(line: 540, scope: !2435, inlinedAt: !2423)
!2435 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !54, retainedNodes: !4)
!2436 = !DILocation(line: 86, scope: !2414, inlinedAt: !2421)
!2437 = !DILocation(line: 87, scope: !2432, inlinedAt: !2421)
!2438 = !DILocation(line: 74, scope: !2439, inlinedAt: !2440)
!2439 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2440 = !DILocation(line: 7, scope: !2441, inlinedAt: !2442)
!2441 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2442 = !DILocation(line: 7, scope: !2443, inlinedAt: !2444)
!2443 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2444 = !DILocation(line: 52, scope: !2445, inlinedAt: !2446)
!2445 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2446 = !DILocation(line: 84, scope: !2447, inlinedAt: !2448)
!2447 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2448 = !DILocation(line: 50, scope: !2449, inlinedAt: !2450)
!2449 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !263, file: !263, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2450 = !DILocation(line: 326, scope: !2451)
!2451 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_24094", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2452 = !DILocation(line: 676, scope: !2453, inlinedAt: !2454)
!2453 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2454 = !DILocation(line: 752, scope: !2455, inlinedAt: !2444)
!2455 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2456 = !DILocation(line: 108, scope: !2457, inlinedAt: !2458)
!2457 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2458 = !DILocation(line: 49, scope: !2449, inlinedAt: !2459)
!2459 = !DILocation(line: 327, scope: !2451)
!2460 = !DILocation(line: 87, scope: !2461, inlinedAt: !2462)
!2461 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2462 = !DILocation(line: 328, scope: !2451)
!2463 = !DILocation(line: 86, scope: !2464, inlinedAt: !2465)
!2464 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2465 = !DILocation(line: 329, scope: !2451)
!2466 = !DILocation(line: 442, scope: !2467, inlinedAt: !2468)
!2467 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2468 = !DILocation(line: 347, scope: !2451)
!2469 = !DILocation(line: 261, scope: !2470, inlinedAt: !2468)
!2470 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2471 = !DILocation(line: 14, scope: !2472, inlinedAt: !2473)
!2472 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2473 = !DILocation(line: 246, scope: !2474, inlinedAt: !2468)
!2474 = distinct !DISubprogram(name: "bubble_sort;", linkageName: "bubble_sort", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2475 = !DILocation(line: 83, scope: !2476, inlinedAt: !2477)
!2476 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2477 = !DILocation(line: 422, scope: !2478, inlinedAt: !2479)
!2478 = distinct !DISubprogram(name: "min;", linkageName: "min", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2479 = !DILocation(line: 247, scope: !2474, inlinedAt: !2468)
!2480 = !DILocation(line: 74, scope: !2439, inlinedAt: !2481)
!2481 = !DILocation(line: 7, scope: !2441, inlinedAt: !2482)
!2482 = !DILocation(line: 7, scope: !2443, inlinedAt: !2483)
!2483 = !DILocation(line: 47, scope: !2484, inlinedAt: !2485)
!2484 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2485 = !DILocation(line: 91, scope: !2486, inlinedAt: !2487)
!2486 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2487 = !DILocation(line: 249, scope: !2474, inlinedAt: !2468)
!2488 = !DILocation(line: 87, scope: !2461, inlinedAt: !2483)
!2489 = !DILocation(line: 442, scope: !2467, inlinedAt: !2487)
!2490 = !DILocation(line: 88, scope: !2491, inlinedAt: !2492)
!2491 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2492 = !DILocation(line: 250, scope: !2474, inlinedAt: !2468)
!2493 = !DILocation(line: 87, scope: !2461, inlinedAt: !2492)
!2494 = !DILocation(line: 442, scope: !2467, inlinedAt: !2495)
!2495 = !DILocation(line: 667, scope: !2496, inlinedAt: !2497)
!2496 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2497 = !DILocation(line: 595, scope: !2498, inlinedAt: !2499)
!2498 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2499 = !DILocation(line: 610, scope: !2498, inlinedAt: !2500)
!2500 = !DILocation(line: 292, scope: !2501, inlinedAt: !2492)
!2501 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2502 = !DILocation(line: 88, scope: !2491, inlinedAt: !2503)
!2503 = !DILocation(line: 293, scope: !2501, inlinedAt: !2492)
!2504 = !DILocation(line: 87, scope: !2461, inlinedAt: !2503)
!2505 = !DILocation(line: 88, scope: !2491, inlinedAt: !2506)
!2506 = !DILocation(line: 480, scope: !2507, inlinedAt: !2508)
!2507 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2508 = !DILocation(line: 60, scope: !2509, inlinedAt: !2510)
!2509 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2510 = !DILocation(line: 311, scope: !2511, inlinedAt: !2512)
!2511 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2512 = !DILocation(line: 595, scope: !2498, inlinedAt: !2513)
!2513 = !DILocation(line: 610, scope: !2498, inlinedAt: !2514)
!2514 = !DILocation(line: 80, scope: !2515, inlinedAt: !2516)
!2515 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2516 = !DILocation(line: 101, scope: !2517, inlinedAt: !2503)
!2517 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2518 = !DILocation(line: 421, scope: !2519, inlinedAt: !2520)
!2519 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2520 = !DILocation(line: 326, scope: !2521, inlinedAt: !2522)
!2521 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2522 = !DILocation(line: 335, scope: !2521, inlinedAt: !2523)
!2523 = !DILocation(line: 337, scope: !2524, inlinedAt: !2510)
!2524 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2525 = !DILocation(line: 442, scope: !2467, inlinedAt: !2526)
!2526 = !DILocation(line: 667, scope: !2496, inlinedAt: !2512)
!2527 = !DILocation(line: 86, scope: !2464, inlinedAt: !2528)
!2528 = !DILocation(line: 74, scope: !2439, inlinedAt: !2529)
!2529 = !DILocation(line: 7, scope: !2530, inlinedAt: !2531)
!2530 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2531 = !DILocation(line: 7, scope: !2532, inlinedAt: !2533)
!2532 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2533 = !DILocation(line: 79, scope: !2534, inlinedAt: !2535)
!2534 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2535 = !DILocation(line: 82, scope: !2515, inlinedAt: !2516)
!2536 = !DILocation(line: 676, scope: !2453, inlinedAt: !2537)
!2537 = !DILocation(line: 752, scope: !2455, inlinedAt: !2538)
!2538 = !DILocation(line: 47, scope: !2484, inlinedAt: !2539)
!2539 = !DILocation(line: 91, scope: !2486, inlinedAt: !2492)
!2540 = !DILocation(line: 442, scope: !2467, inlinedAt: !2541)
!2541 = !DILocation(line: 667, scope: !2496, inlinedAt: !2542)
!2542 = !DILocation(line: 595, scope: !2498, inlinedAt: !2543)
!2543 = !DILocation(line: 610, scope: !2498, inlinedAt: !2544)
!2544 = !DILocation(line: 86, scope: !2545, inlinedAt: !2546)
!2545 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2546 = !DILocation(line: 103, scope: !2547, inlinedAt: !2492)
!2547 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2548 = !DILocation(line: 74, scope: !2439, inlinedAt: !2549)
!2549 = !DILocation(line: 42, scope: !2530, inlinedAt: !2550)
!2550 = !DILocation(line: 42, scope: !2551, inlinedAt: !2552)
!2551 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2552 = !DILocation(line: 82, scope: !2553, inlinedAt: !2554)
!2553 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2554 = !DILocation(line: 88, scope: !2545, inlinedAt: !2546)
!2555 = !DILocation(line: 14, scope: !2472, inlinedAt: !2556)
!2556 = !DILocation(line: 252, scope: !2474, inlinedAt: !2468)
!2557 = !DILocation(line: 292, scope: !2558, inlinedAt: !2559)
!2558 = distinct !DISubprogram(name: "unitrange_last;", linkageName: "unitrange_last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2559 = !DILocation(line: 287, scope: !2560, inlinedAt: !2561)
!2560 = distinct !DISubprogram(name: "UnitRange;", linkageName: "UnitRange", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2561 = !DILocation(line: 5, scope: !2562, inlinedAt: !2563)
!2562 = distinct !DISubprogram(name: "Colon;", linkageName: "Colon", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2563 = !DILocation(line: 253, scope: !2474, inlinedAt: !2468)
!2564 = !DILocation(line: 0, scope: !2453, inlinedAt: !2565)
!2565 = !DILocation(line: 752, scope: !2455, inlinedAt: !2566)
!2566 = !DILocation(line: 47, scope: !2484, inlinedAt: !2567)
!2567 = !DILocation(line: 91, scope: !2486, inlinedAt: !2568)
!2568 = !DILocation(line: 255, scope: !2474, inlinedAt: !2468)
!2569 = !DILocation(line: 0, scope: !2570, inlinedAt: !2568)
!2570 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2571 = !DILocation(line: 0, scope: !2467, inlinedAt: !2572)
!2572 = !DILocation(line: 667, scope: !2496, inlinedAt: !2573)
!2573 = !DILocation(line: 595, scope: !2498, inlinedAt: !2574)
!2574 = !DILocation(line: 610, scope: !2498, inlinedAt: !2575)
!2575 = !DILocation(line: 80, scope: !2515, inlinedAt: !2576)
!2576 = !DILocation(line: 101, scope: !2517, inlinedAt: !2577)
!2577 = !DILocation(line: 263, scope: !2474, inlinedAt: !2468)
!2578 = !DILocation(line: 0, scope: !2439, inlinedAt: !2579)
!2579 = !DILocation(line: 7, scope: !2530, inlinedAt: !2580)
!2580 = !DILocation(line: 7, scope: !2532, inlinedAt: !2581)
!2581 = !DILocation(line: 79, scope: !2534, inlinedAt: !2582)
!2582 = !DILocation(line: 82, scope: !2515, inlinedAt: !2576)
!2583 = !DILocation(line: 256, scope: !2474, inlinedAt: !2468)
!2584 = !DILocation(line: 262, scope: !2570, inlinedAt: !2568)
!2585 = !DILocation(line: 410, scope: !2586, inlinedAt: !2587)
!2586 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2587 = !DILocation(line: 204, scope: !2588, inlinedAt: !2568)
!2588 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2589 = !DILocation(line: 88, scope: !2491, inlinedAt: !2568)
!2590 = !DILocation(line: 87, scope: !2461, inlinedAt: !2568)
!2591 = !DILocation(line: 442, scope: !2467, inlinedAt: !2583)
!2592 = !DILocation(line: 610, scope: !2498, inlinedAt: !2593)
!2593 = !DILocation(line: 80, scope: !2515, inlinedAt: !2594)
!2594 = !DILocation(line: 101, scope: !2517, inlinedAt: !2595)
!2595 = !DILocation(line: 257, scope: !2474, inlinedAt: !2468)
!2596 = !DILocation(line: 74, scope: !2439, inlinedAt: !2597)
!2597 = !DILocation(line: 7, scope: !2530, inlinedAt: !2598)
!2598 = !DILocation(line: 7, scope: !2532, inlinedAt: !2599)
!2599 = !DILocation(line: 79, scope: !2534, inlinedAt: !2600)
!2600 = !DILocation(line: 82, scope: !2515, inlinedAt: !2594)
!2601 = !DILocation(line: 670, scope: !2602, inlinedAt: !2563)
!2602 = distinct !DISubprogram(name: "iterate;", linkageName: "iterate", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2603 = !DILocation(line: 14, scope: !2472, inlinedAt: !2604)
!2604 = !DILocation(line: 261, scope: !2474, inlinedAt: !2468)
!2605 = !DILocation(line: 262, scope: !2474, inlinedAt: !2468)
!2606 = !DILocation(line: 83, scope: !2476, inlinedAt: !2577)
!2607 = !DILocation(line: 74, scope: !2439, inlinedAt: !2579)
!2608 = !DILocation(line: 83, scope: !2476, inlinedAt: !2609)
!2609 = !DILocation(line: 357, scope: !2610, inlinedAt: !2611)
!2610 = distinct !DISubprogram(name: "isless;", linkageName: "isless", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2611 = !DILocation(line: 76, scope: !2612, inlinedAt: !2577)
!2612 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2613 = !DILocation(line: 74, scope: !2439, inlinedAt: !2614)
!2614 = !DILocation(line: 42, scope: !2530, inlinedAt: !2615)
!2615 = !DILocation(line: 42, scope: !2551, inlinedAt: !2616)
!2616 = !DILocation(line: 82, scope: !2553, inlinedAt: !2617)
!2617 = !DILocation(line: 88, scope: !2545, inlinedAt: !2618)
!2618 = !DILocation(line: 103, scope: !2547, inlinedAt: !2619)
!2619 = !DILocation(line: 264, scope: !2474, inlinedAt: !2468)
!2620 = !DILocation(line: 610, scope: !2498, inlinedAt: !2621)
!2621 = !DILocation(line: 86, scope: !2545, inlinedAt: !2618)
!2622 = !DILocation(line: 14, scope: !2472, inlinedAt: !2623)
!2623 = !DILocation(line: 267, scope: !2474, inlinedAt: !2468)
!2624 = !DILocation(line: 410, scope: !2586, inlinedAt: !2625)
!2625 = !DILocation(line: 674, scope: !2602, inlinedAt: !2623)
!2626 = !DILocation(line: 269, scope: !2474, inlinedAt: !2468)
!2627 = !DILocation(line: 676, scope: !2453, inlinedAt: !2628)
!2628 = !DILocation(line: 752, scope: !2455, inlinedAt: !2629)
!2629 = !DILocation(line: 47, scope: !2484, inlinedAt: !2630)
!2630 = !DILocation(line: 91, scope: !2486, inlinedAt: !2631)
!2631 = !DILocation(line: 270, scope: !2474, inlinedAt: !2468)
!2632 = !DILocation(line: 442, scope: !2467, inlinedAt: !2633)
!2633 = !DILocation(line: 667, scope: !2496, inlinedAt: !2634)
!2634 = !DILocation(line: 595, scope: !2498, inlinedAt: !2635)
!2635 = !DILocation(line: 610, scope: !2498, inlinedAt: !2636)
!2636 = !DILocation(line: 80, scope: !2515, inlinedAt: !2637)
!2637 = !DILocation(line: 101, scope: !2517, inlinedAt: !2631)
!2638 = !DILocation(line: 74, scope: !2439, inlinedAt: !2639)
!2639 = !DILocation(line: 7, scope: !2530, inlinedAt: !2640)
!2640 = !DILocation(line: 7, scope: !2532, inlinedAt: !2641)
!2641 = !DILocation(line: 79, scope: !2534, inlinedAt: !2642)
!2642 = !DILocation(line: 82, scope: !2515, inlinedAt: !2637)
!2643 = !DILocation(line: 88, scope: !2491, inlinedAt: !2631)
!2644 = !DILocation(line: 87, scope: !2461, inlinedAt: !2631)
!2645 = !DILocation(line: 442, scope: !2467, inlinedAt: !2646)
!2646 = !DILocation(line: 667, scope: !2496, inlinedAt: !2647)
!2647 = !DILocation(line: 595, scope: !2498, inlinedAt: !2648)
!2648 = !DILocation(line: 610, scope: !2498, inlinedAt: !2649)
!2649 = !DILocation(line: 324, scope: !2650, inlinedAt: !2631)
!2650 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2651 = !DILocation(line: 88, scope: !2491, inlinedAt: !2652)
!2652 = !DILocation(line: 325, scope: !2650, inlinedAt: !2631)
!2653 = !DILocation(line: 87, scope: !2461, inlinedAt: !2652)
!2654 = !DILocation(line: 88, scope: !2491, inlinedAt: !2655)
!2655 = !DILocation(line: 480, scope: !2507, inlinedAt: !2656)
!2656 = !DILocation(line: 60, scope: !2509, inlinedAt: !2657)
!2657 = !DILocation(line: 311, scope: !2511, inlinedAt: !2658)
!2658 = !DILocation(line: 595, scope: !2498, inlinedAt: !2659)
!2659 = !DILocation(line: 610, scope: !2498, inlinedAt: !2660)
!2660 = !DILocation(line: 86, scope: !2545, inlinedAt: !2661)
!2661 = !DILocation(line: 103, scope: !2547, inlinedAt: !2652)
!2662 = !DILocation(line: 421, scope: !2519, inlinedAt: !2663)
!2663 = !DILocation(line: 326, scope: !2521, inlinedAt: !2664)
!2664 = !DILocation(line: 335, scope: !2521, inlinedAt: !2665)
!2665 = !DILocation(line: 337, scope: !2524, inlinedAt: !2657)
!2666 = !DILocation(line: 442, scope: !2467, inlinedAt: !2667)
!2667 = !DILocation(line: 667, scope: !2496, inlinedAt: !2658)
!2668 = !DILocation(line: 86, scope: !2464, inlinedAt: !2669)
!2669 = !DILocation(line: 74, scope: !2439, inlinedAt: !2670)
!2670 = !DILocation(line: 42, scope: !2530, inlinedAt: !2671)
!2671 = !DILocation(line: 42, scope: !2551, inlinedAt: !2672)
!2672 = !DILocation(line: 82, scope: !2553, inlinedAt: !2673)
!2673 = !DILocation(line: 88, scope: !2545, inlinedAt: !2661)
!2674 = !DILocation(line: 14, scope: !2472, inlinedAt: !2675)
!2675 = !DILocation(line: 273, scope: !2474, inlinedAt: !2468)
!2676 = !DILocation(line: 349, scope: !2451)
!2677 = !DILocation(line: 350, scope: !2451)
!2678 = !DILocation(line: 261, scope: !2470, inlinedAt: !2679)
!2679 = !DILocation(line: 353, scope: !2451)
!2680 = !DILocation(line: 88, scope: !2491, inlinedAt: !2679)
!2681 = !DILocation(line: 87, scope: !2461, inlinedAt: !2679)
!2682 = !DILocation(line: 442, scope: !2467, inlinedAt: !2683)
!2683 = !DILocation(line: 667, scope: !2496, inlinedAt: !2684)
!2684 = !DILocation(line: 595, scope: !2498, inlinedAt: !2685)
!2685 = !DILocation(line: 610, scope: !2498, inlinedAt: !2686)
!2686 = !DILocation(line: 292, scope: !2501, inlinedAt: !2679)
!2687 = !DILocation(line: 88, scope: !2491, inlinedAt: !2688)
!2688 = !DILocation(line: 293, scope: !2501, inlinedAt: !2679)
!2689 = !DILocation(line: 87, scope: !2461, inlinedAt: !2688)
!2690 = !DILocation(line: 88, scope: !2491, inlinedAt: !2691)
!2691 = !DILocation(line: 480, scope: !2507, inlinedAt: !2692)
!2692 = !DILocation(line: 60, scope: !2509, inlinedAt: !2693)
!2693 = !DILocation(line: 311, scope: !2511, inlinedAt: !2694)
!2694 = !DILocation(line: 595, scope: !2498, inlinedAt: !2695)
!2695 = !DILocation(line: 610, scope: !2498, inlinedAt: !2696)
!2696 = !DILocation(line: 80, scope: !2515, inlinedAt: !2697)
!2697 = !DILocation(line: 101, scope: !2517, inlinedAt: !2688)
!2698 = !DILocation(line: 421, scope: !2519, inlinedAt: !2699)
!2699 = !DILocation(line: 326, scope: !2521, inlinedAt: !2700)
!2700 = !DILocation(line: 335, scope: !2521, inlinedAt: !2701)
!2701 = !DILocation(line: 337, scope: !2524, inlinedAt: !2693)
!2702 = !DILocation(line: 442, scope: !2467, inlinedAt: !2703)
!2703 = !DILocation(line: 667, scope: !2496, inlinedAt: !2694)
!2704 = !DILocation(line: 86, scope: !2464, inlinedAt: !2705)
!2705 = !DILocation(line: 74, scope: !2439, inlinedAt: !2706)
!2706 = !DILocation(line: 7, scope: !2530, inlinedAt: !2707)
!2707 = !DILocation(line: 7, scope: !2532, inlinedAt: !2708)
!2708 = !DILocation(line: 79, scope: !2534, inlinedAt: !2709)
!2709 = !DILocation(line: 82, scope: !2515, inlinedAt: !2697)
!2710 = !DILocation(line: 410, scope: !2586, inlinedAt: !2711)
!2711 = !DILocation(line: 282, scope: !2712, inlinedAt: !2713)
!2712 = distinct !DISubprogram(name: "call_batch_partition;", linkageName: "call_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2713 = !DILocation(line: 356, scope: !2451)
!2714 = !DILocation(line: 94, scope: !2715, inlinedAt: !2716)
!2715 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2716 = !DILocation(line: 191, scope: !2717, inlinedAt: !2718)
!2717 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2718 = !DILocation(line: 206, scope: !2719, inlinedAt: !2720)
!2719 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2720 = !DILocation(line: 93, scope: !2721, inlinedAt: !2722)
!2721 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2722 = !DILocation(line: 185, scope: !2723, inlinedAt: !2724)
!2723 = distinct !DISubprogram(name: "N_b;", linkageName: "N_b", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2724 = !DILocation(line: 192, scope: !2725, inlinedAt: !2726)
!2725 = distinct !DISubprogram(name: "consolidate_batch_partition;", linkageName: "consolidate_batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2726 = !DILocation(line: 362, scope: !2451)
!2727 = !DILocation(line: 335, scope: !2728, inlinedAt: !2720)
!2728 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2729 = !DILocation(line: 304, scope: !2730, inlinedAt: !2731)
!2730 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2731 = !DILocation(line: 295, scope: !2732, inlinedAt: !2722)
!2732 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2733 = !DILocation(line: 94, scope: !2715, inlinedAt: !2734)
!2734 = !DILocation(line: 191, scope: !2717, inlinedAt: !2735)
!2735 = !DILocation(line: 206, scope: !2719, inlinedAt: !2736)
!2736 = !DILocation(line: 93, scope: !2721, inlinedAt: !2737)
!2737 = !DILocation(line: 86, scope: !2738, inlinedAt: !2739)
!2738 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2739 = !DILocation(line: 283, scope: !2712, inlinedAt: !2713)
!2740 = !DILocation(line: 335, scope: !2728, inlinedAt: !2736)
!2741 = !DILocation(line: 304, scope: !2730, inlinedAt: !2742)
!2742 = !DILocation(line: 295, scope: !2732, inlinedAt: !2737)
!2743 = !DILocation(line: 374, scope: !2744, inlinedAt: !2745)
!2744 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2745 = !DILocation(line: 713, scope: !2746, inlinedAt: !2742)
!2746 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2747 = !DILocation(line: 239, scope: !2748, inlinedAt: !2749)
!2748 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2749 = !DILocation(line: 714, scope: !2746, inlinedAt: !2742)
!2750 = !DILocation(line: 88, scope: !2491, inlinedAt: !2737)
!2751 = !DILocation(line: 595, scope: !2752, inlinedAt: !2753)
!2752 = distinct !DISubprogram(name: "NamedTuple;", linkageName: "NamedTuple", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2753 = !DILocation(line: 591, scope: !2752, inlinedAt: !2737)
!2754 = !DILocation(line: 357, scope: !2755, inlinedAt: !2756)
!2755 = distinct !DISubprogram(name: "#cudacall#228;", linkageName: "#cudacall#228", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2756 = !DILocation(line: 357, scope: !2757, inlinedAt: !2758)
!2757 = distinct !DISubprogram(name: "cudacall##kw;", linkageName: "cudacall##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2758 = !DILocation(line: 192, scope: !2738, inlinedAt: !2759)
!2759 = !DILocation(line: 163, scope: !2760, inlinedAt: !2761)
!2760 = distinct !DISubprogram(name: "#call#205;", linkageName: "#call#205", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2761 = !DILocation(line: 163, scope: !2762, inlinedAt: !2763)
!2762 = distinct !DISubprogram(name: "call##kw;", linkageName: "call##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2763 = !DILocation(line: 407, scope: !2764, inlinedAt: !2765)
!2764 = distinct !DISubprogram(name: "#_#231;", linkageName: "#_#231", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2765 = !DILocation(line: 407, scope: !2766, inlinedAt: !2737)
!2766 = distinct !DISubprogram(name: "Any##kw;", linkageName: "Any##kw", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2767 = !DILocation(line: 37, scope: !2768, inlinedAt: !2769)
!2768 = distinct !DISubprogram(name: "cudaDeviceSynchronize;", linkageName: "cudaDeviceSynchronize", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2769 = !DILocation(line: 25, scope: !2770, inlinedAt: !2771)
!2770 = distinct !DISubprogram(name: "device_synchronize;", linkageName: "device_synchronize", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2771 = !DILocation(line: 286, scope: !2712, inlinedAt: !2713)
!2772 = !DILocation(line: 410, scope: !2586, inlinedAt: !2773)
!2773 = !DILocation(line: 7, scope: !2774, inlinedAt: !2775)
!2774 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2775 = !DILocation(line: 204, scope: !2588, inlinedAt: !2776)
!2776 = !DILocation(line: 26, scope: !2770, inlinedAt: !2771)
!2777 = !DILocation(line: 716, scope: !2746, inlinedAt: !2742)
!2778 = !DILocation(line: 8, scope: !2779, inlinedAt: !2780)
!2779 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2780 = !DILocation(line: 27, scope: !2770, inlinedAt: !2771)
!2781 = !DILocation(line: 14, scope: !2472, inlinedAt: !2782)
!2782 = !DILocation(line: 184, scope: !2725, inlinedAt: !2726)
!2783 = !DILocation(line: 374, scope: !2744, inlinedAt: !2784)
!2784 = !DILocation(line: 713, scope: !2746, inlinedAt: !2731)
!2785 = !DILocation(line: 239, scope: !2748, inlinedAt: !2786)
!2786 = !DILocation(line: 714, scope: !2746, inlinedAt: !2731)
!2787 = !DILocation(line: 292, scope: !2558, inlinedAt: !2788)
!2788 = !DILocation(line: 287, scope: !2560, inlinedAt: !2789)
!2789 = !DILocation(line: 5, scope: !2562, inlinedAt: !2724)
!2790 = !DILocation(line: 0, scope: !2461, inlinedAt: !2791)
!2791 = !DILocation(line: 186, scope: !2792, inlinedAt: !2793)
!2792 = distinct !DISubprogram(name: "batch;", linkageName: "batch", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2793 = !DILocation(line: 195, scope: !2725, inlinedAt: !2726)
!2794 = !DILocation(line: 0, scope: !2453, inlinedAt: !2795)
!2795 = !DILocation(line: 752, scope: !2455, inlinedAt: !2796)
!2796 = !DILocation(line: 47, scope: !2484, inlinedAt: !2797)
!2797 = !DILocation(line: 91, scope: !2486, inlinedAt: !2798)
!2798 = !DILocation(line: 197, scope: !2725, inlinedAt: !2726)
!2799 = !DILocation(line: 0, scope: !2467, inlinedAt: !2800)
!2800 = !DILocation(line: 667, scope: !2496, inlinedAt: !2801)
!2801 = !DILocation(line: 595, scope: !2498, inlinedAt: !2802)
!2802 = !DILocation(line: 610, scope: !2498, inlinedAt: !2803)
!2803 = !DILocation(line: 86, scope: !2545, inlinedAt: !2804)
!2804 = !DILocation(line: 103, scope: !2547, inlinedAt: !2798)
!2805 = !DILocation(line: 0, scope: !2439, inlinedAt: !2806)
!2806 = !DILocation(line: 42, scope: !2530, inlinedAt: !2807)
!2807 = !DILocation(line: 42, scope: !2551, inlinedAt: !2808)
!2808 = !DILocation(line: 82, scope: !2553, inlinedAt: !2809)
!2809 = !DILocation(line: 88, scope: !2545, inlinedAt: !2804)
!2810 = !DILocation(line: 0, scope: !2725, inlinedAt: !2726)
!2811 = !DILocation(line: 193, scope: !2725, inlinedAt: !2726)
!2812 = !DILocation(line: 716, scope: !2746, inlinedAt: !2731)
!2813 = !DILocation(line: 410, scope: !2586, inlinedAt: !2811)
!2814 = !DILocation(line: 88, scope: !2491, inlinedAt: !2815)
!2815 = !DILocation(line: 186, scope: !2792, inlinedAt: !2816)
!2816 = !DILocation(line: 194, scope: !2725, inlinedAt: !2726)
!2817 = !DILocation(line: 87, scope: !2461, inlinedAt: !2815)
!2818 = !DILocation(line: 713, scope: !2746, inlinedAt: !2819)
!2819 = !DILocation(line: 295, scope: !2732, inlinedAt: !2820)
!2820 = !DILocation(line: 185, scope: !2723, inlinedAt: !2816)
!2821 = !DILocation(line: 442, scope: !2467, inlinedAt: !2816)
!2822 = !DILocation(line: 716, scope: !2746, inlinedAt: !2819)
!2823 = !DILocation(line: 86, scope: !2464, inlinedAt: !2793)
!2824 = !DILocation(line: 88, scope: !2491, inlinedAt: !2793)
!2825 = !DILocation(line: 87, scope: !2461, inlinedAt: !2793)
!2826 = !DILocation(line: 88, scope: !2491, inlinedAt: !2827)
!2827 = !DILocation(line: 196, scope: !2725, inlinedAt: !2726)
!2828 = !DILocation(line: 83, scope: !2476, inlinedAt: !2829)
!2829 = !DILocation(line: 422, scope: !2478, inlinedAt: !2827)
!2830 = !DILocation(line: 87, scope: !2461, inlinedAt: !2827)
!2831 = !DILocation(line: 86, scope: !2464, inlinedAt: !2798)
!2832 = !DILocation(line: 74, scope: !2439, inlinedAt: !2806)
!2833 = !DILocation(line: 87, scope: !2461, inlinedAt: !2834)
!2834 = !DILocation(line: 200, scope: !2725, inlinedAt: !2726)
!2835 = !DILocation(line: 203, scope: !2725, inlinedAt: !2726)
!2836 = !DILocation(line: 14, scope: !2472, inlinedAt: !2837)
!2837 = !DILocation(line: 211, scope: !2725, inlinedAt: !2726)
!2838 = !DILocation(line: 86, scope: !2464, inlinedAt: !2839)
!2839 = !DILocation(line: 212, scope: !2725, inlinedAt: !2726)
!2840 = !DILocation(line: 88, scope: !2491, inlinedAt: !2839)
!2841 = !DILocation(line: 442, scope: !2467, inlinedAt: !2842)
!2842 = !DILocation(line: 667, scope: !2496, inlinedAt: !2843)
!2843 = !DILocation(line: 595, scope: !2498, inlinedAt: !2844)
!2844 = !DILocation(line: 610, scope: !2498, inlinedAt: !2845)
!2845 = !DILocation(line: 80, scope: !2515, inlinedAt: !2846)
!2846 = !DILocation(line: 101, scope: !2517, inlinedAt: !2839)
!2847 = !DILocation(line: 86, scope: !2464, inlinedAt: !2848)
!2848 = !DILocation(line: 74, scope: !2439, inlinedAt: !2849)
!2849 = !DILocation(line: 7, scope: !2530, inlinedAt: !2850)
!2850 = !DILocation(line: 7, scope: !2532, inlinedAt: !2851)
!2851 = !DILocation(line: 79, scope: !2534, inlinedAt: !2852)
!2852 = !DILocation(line: 82, scope: !2515, inlinedAt: !2846)
!2853 = !DILocation(line: 213, scope: !2725, inlinedAt: !2726)
!2854 = !DILocation(line: 86, scope: !2464, inlinedAt: !2853)
!2855 = !DILocation(line: 83, scope: !2476, inlinedAt: !2856)
!2856 = !DILocation(line: 422, scope: !2478, inlinedAt: !2857)
!2857 = !DILocation(line: 214, scope: !2725, inlinedAt: !2726)
!2858 = !DILocation(line: 14, scope: !2472, inlinedAt: !2859)
!2859 = !DILocation(line: 215, scope: !2725, inlinedAt: !2726)
!2860 = !DILocation(line: 442, scope: !2467, inlinedAt: !2861)
!2861 = !DILocation(line: 216, scope: !2725, inlinedAt: !2726)
!2862 = !DILocation(line: 87, scope: !2461, inlinedAt: !2863)
!2863 = !DILocation(line: 540, scope: !2864, inlinedAt: !2865)
!2864 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2865 = !DILocation(line: 217, scope: !2725, inlinedAt: !2726)
!2866 = !DILocation(line: 442, scope: !2467, inlinedAt: !2867)
!2867 = !DILocation(line: 667, scope: !2496, inlinedAt: !2868)
!2868 = !DILocation(line: 595, scope: !2498, inlinedAt: !2869)
!2869 = !DILocation(line: 610, scope: !2498, inlinedAt: !2870)
!2870 = !DILocation(line: 292, scope: !2501, inlinedAt: !2865)
!2871 = !DILocation(line: 88, scope: !2491, inlinedAt: !2872)
!2872 = !DILocation(line: 293, scope: !2501, inlinedAt: !2865)
!2873 = !DILocation(line: 87, scope: !2461, inlinedAt: !2872)
!2874 = !DILocation(line: 442, scope: !2467, inlinedAt: !2875)
!2875 = !DILocation(line: 667, scope: !2496, inlinedAt: !2876)
!2876 = !DILocation(line: 595, scope: !2498, inlinedAt: !2877)
!2877 = !DILocation(line: 610, scope: !2498, inlinedAt: !2878)
!2878 = !DILocation(line: 80, scope: !2515, inlinedAt: !2879)
!2879 = !DILocation(line: 101, scope: !2517, inlinedAt: !2872)
!2880 = !DILocation(line: 86, scope: !2464, inlinedAt: !2881)
!2881 = !DILocation(line: 74, scope: !2439, inlinedAt: !2882)
!2882 = !DILocation(line: 7, scope: !2530, inlinedAt: !2883)
!2883 = !DILocation(line: 7, scope: !2532, inlinedAt: !2884)
!2884 = !DILocation(line: 79, scope: !2534, inlinedAt: !2885)
!2885 = !DILocation(line: 82, scope: !2515, inlinedAt: !2879)
!2886 = !DILocation(line: 14, scope: !2472, inlinedAt: !2887)
!2887 = !DILocation(line: 221, scope: !2725, inlinedAt: !2726)
!2888 = !DILocation(line: 222, scope: !2725, inlinedAt: !2726)
!2889 = !DILocation(line: 87, scope: !2461, inlinedAt: !2890)
!2890 = !DILocation(line: 540, scope: !2864, inlinedAt: !2891)
!2891 = !DILocation(line: 223, scope: !2725, inlinedAt: !2726)
!2892 = !DILocation(line: 87, scope: !2461, inlinedAt: !2893)
!2893 = !DILocation(line: 527, scope: !2894, inlinedAt: !2890)
!2894 = distinct !DISubprogram(name: "afoldl;", linkageName: "afoldl", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2895 = !DILocation(line: 86, scope: !2464, inlinedAt: !2891)
!2896 = !DILocation(line: 87, scope: !2461, inlinedAt: !2891)
!2897 = !DILocation(line: 442, scope: !2467, inlinedAt: !2898)
!2898 = !DILocation(line: 667, scope: !2496, inlinedAt: !2899)
!2899 = !DILocation(line: 595, scope: !2498, inlinedAt: !2900)
!2900 = !DILocation(line: 610, scope: !2498, inlinedAt: !2901)
!2901 = !DILocation(line: 292, scope: !2501, inlinedAt: !2891)
!2902 = !DILocation(line: 88, scope: !2491, inlinedAt: !2903)
!2903 = !DILocation(line: 293, scope: !2501, inlinedAt: !2891)
!2904 = !DILocation(line: 87, scope: !2461, inlinedAt: !2903)
!2905 = !DILocation(line: 442, scope: !2467, inlinedAt: !2906)
!2906 = !DILocation(line: 667, scope: !2496, inlinedAt: !2907)
!2907 = !DILocation(line: 595, scope: !2498, inlinedAt: !2908)
!2908 = !DILocation(line: 610, scope: !2498, inlinedAt: !2909)
!2909 = !DILocation(line: 80, scope: !2515, inlinedAt: !2910)
!2910 = !DILocation(line: 101, scope: !2517, inlinedAt: !2903)
!2911 = !DILocation(line: 86, scope: !2464, inlinedAt: !2912)
!2912 = !DILocation(line: 74, scope: !2439, inlinedAt: !2913)
!2913 = !DILocation(line: 7, scope: !2530, inlinedAt: !2914)
!2914 = !DILocation(line: 7, scope: !2532, inlinedAt: !2915)
!2915 = !DILocation(line: 79, scope: !2534, inlinedAt: !2916)
!2916 = !DILocation(line: 82, scope: !2515, inlinedAt: !2910)
!2917 = !DILocation(line: 442, scope: !2467, inlinedAt: !2918)
!2918 = !DILocation(line: 667, scope: !2496, inlinedAt: !2919)
!2919 = !DILocation(line: 595, scope: !2498, inlinedAt: !2920)
!2920 = !DILocation(line: 610, scope: !2498, inlinedAt: !2921)
!2921 = !DILocation(line: 324, scope: !2650, inlinedAt: !2891)
!2922 = !DILocation(line: 88, scope: !2491, inlinedAt: !2923)
!2923 = !DILocation(line: 325, scope: !2650, inlinedAt: !2891)
!2924 = !DILocation(line: 87, scope: !2461, inlinedAt: !2923)
!2925 = !DILocation(line: 442, scope: !2467, inlinedAt: !2926)
!2926 = !DILocation(line: 667, scope: !2496, inlinedAt: !2927)
!2927 = !DILocation(line: 595, scope: !2498, inlinedAt: !2928)
!2928 = !DILocation(line: 610, scope: !2498, inlinedAt: !2929)
!2929 = !DILocation(line: 86, scope: !2545, inlinedAt: !2930)
!2930 = !DILocation(line: 103, scope: !2547, inlinedAt: !2923)
!2931 = !DILocation(line: 86, scope: !2464, inlinedAt: !2932)
!2932 = !DILocation(line: 74, scope: !2439, inlinedAt: !2933)
!2933 = !DILocation(line: 42, scope: !2530, inlinedAt: !2934)
!2934 = !DILocation(line: 42, scope: !2551, inlinedAt: !2935)
!2935 = !DILocation(line: 82, scope: !2553, inlinedAt: !2936)
!2936 = !DILocation(line: 88, scope: !2545, inlinedAt: !2930)
!2937 = !DILocation(line: 326, scope: !2650, inlinedAt: !2891)
!2938 = !DILocation(line: 14, scope: !2472, inlinedAt: !2939)
!2939 = !DILocation(line: 225, scope: !2725, inlinedAt: !2726)
!2940 = !DILocation(line: 226, scope: !2725, inlinedAt: !2726)
!2941 = !DILocation(line: 87, scope: !2461, inlinedAt: !2942)
!2942 = !DILocation(line: 540, scope: !2864, inlinedAt: !2943)
!2943 = !DILocation(line: 227, scope: !2725, inlinedAt: !2726)
!2944 = !DILocation(line: 87, scope: !2461, inlinedAt: !2945)
!2945 = !DILocation(line: 527, scope: !2894, inlinedAt: !2942)
!2946 = !DILocation(line: 86, scope: !2464, inlinedAt: !2943)
!2947 = !DILocation(line: 87, scope: !2461, inlinedAt: !2943)
!2948 = !DILocation(line: 442, scope: !2467, inlinedAt: !2949)
!2949 = !DILocation(line: 667, scope: !2496, inlinedAt: !2950)
!2950 = !DILocation(line: 595, scope: !2498, inlinedAt: !2951)
!2951 = !DILocation(line: 610, scope: !2498, inlinedAt: !2952)
!2952 = !DILocation(line: 324, scope: !2650, inlinedAt: !2943)
!2953 = !DILocation(line: 88, scope: !2491, inlinedAt: !2954)
!2954 = !DILocation(line: 325, scope: !2650, inlinedAt: !2943)
!2955 = !DILocation(line: 87, scope: !2461, inlinedAt: !2954)
!2956 = !DILocation(line: 442, scope: !2467, inlinedAt: !2957)
!2957 = !DILocation(line: 667, scope: !2496, inlinedAt: !2958)
!2958 = !DILocation(line: 595, scope: !2498, inlinedAt: !2959)
!2959 = !DILocation(line: 610, scope: !2498, inlinedAt: !2960)
!2960 = !DILocation(line: 86, scope: !2545, inlinedAt: !2961)
!2961 = !DILocation(line: 103, scope: !2547, inlinedAt: !2954)
!2962 = !DILocation(line: 86, scope: !2464, inlinedAt: !2963)
!2963 = !DILocation(line: 74, scope: !2439, inlinedAt: !2964)
!2964 = !DILocation(line: 42, scope: !2530, inlinedAt: !2965)
!2965 = !DILocation(line: 42, scope: !2551, inlinedAt: !2966)
!2966 = !DILocation(line: 82, scope: !2553, inlinedAt: !2967)
!2967 = !DILocation(line: 88, scope: !2545, inlinedAt: !2961)
!2968 = !DILocation(line: 326, scope: !2650, inlinedAt: !2943)
!2969 = !DILocation(line: 14, scope: !2472, inlinedAt: !2970)
!2970 = !DILocation(line: 229, scope: !2725, inlinedAt: !2726)
!2971 = !DILocation(line: 87, scope: !2461, inlinedAt: !2972)
!2972 = !DILocation(line: 230, scope: !2725, inlinedAt: !2726)
!2973 = !DILocation(line: 87, scope: !2461, inlinedAt: !2974)
!2974 = !DILocation(line: 231, scope: !2725, inlinedAt: !2726)
!2975 = !DILocation(line: 410, scope: !2586, inlinedAt: !2976)
!2976 = !DILocation(line: 674, scope: !2602, inlinedAt: !2974)
!2977 = !DILocation(line: 14, scope: !2472, inlinedAt: !2978)
!2978 = !DILocation(line: 234, scope: !2725, inlinedAt: !2726)
!2979 = !DILocation(line: 87, scope: !2461, inlinedAt: !2980)
!2980 = !DILocation(line: 235, scope: !2725, inlinedAt: !2726)
!2981 = !DILocation(line: 365, scope: !2451)
!2982 = !DILocation(line: 410, scope: !2586, inlinedAt: !2983)
!2983 = !DILocation(line: 366, scope: !2451)
!2984 = !DILocation(line: 83, scope: !2476, inlinedAt: !2985)
!2985 = !DILocation(line: 368, scope: !2451)
!2986 = !DILocation(line: 147, scope: !2987, inlinedAt: !2988)
!2987 = distinct !DISubprogram(name: "pointer_from_objref;", linkageName: "pointer_from_objref", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2988 = !DILocation(line: 40, scope: !2989, inlinedAt: !2990)
!2989 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2990 = !DILocation(line: 73, scope: !2991, inlinedAt: !2992)
!2991 = distinct !DISubprogram(name: "cudaStreamCreateWithFlags;", linkageName: "cudaStreamCreateWithFlags", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2992 = !DILocation(line: 25, scope: !2993, inlinedAt: !2994)
!2993 = distinct !DISubprogram(name: "CuDeviceStream;", linkageName: "CuDeviceStream", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!2994 = !DILocation(line: 41, scope: !2993, inlinedAt: !2995)
!2995 = !DILocation(line: 369, scope: !2451)
!2996 = !DILocation(line: 410, scope: !2586, inlinedAt: !2997)
!2997 = !DILocation(line: 7, scope: !2774, inlinedAt: !2998)
!2998 = !DILocation(line: 204, scope: !2588, inlinedAt: !2999)
!2999 = !DILocation(line: 26, scope: !2993, inlinedAt: !2994)
!3000 = !DILocation(line: 8, scope: !2779, inlinedAt: !3001)
!3001 = !DILocation(line: 27, scope: !2993, inlinedAt: !2994)
!3002 = !DILocation(line: 33, scope: !3003, inlinedAt: !3004)
!3003 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3004 = !DILocation(line: 56, scope: !3005, inlinedAt: !3006)
!3005 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !911, file: !911, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3006 = !DILocation(line: 43, scope: !2993, inlinedAt: !2994)
!3007 = !DILocation(line: 83, scope: !2476, inlinedAt: !3008)
!3008 = !DILocation(line: 305, scope: !3009, inlinedAt: !3010)
!3009 = distinct !DISubprogram(name: ">;", linkageName: ">", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3010 = !DILocation(line: 370, scope: !2451)
!3011 = !DILocation(line: 0, scope: !2451)
!3012 = !DILocation(line: 595, scope: !2752, inlinedAt: !3013)
!3013 = !DILocation(line: 591, scope: !2752, inlinedAt: !3014)
!3014 = !DILocation(line: 86, scope: !2738, inlinedAt: !3015)
!3015 = !DILocation(line: 371, scope: !2451)
!3016 = !DILocation(line: 357, scope: !2755, inlinedAt: !3017)
!3017 = !DILocation(line: 357, scope: !2757, inlinedAt: !3018)
!3018 = !DILocation(line: 192, scope: !2738, inlinedAt: !3019)
!3019 = !DILocation(line: 163, scope: !2760, inlinedAt: !3020)
!3020 = !DILocation(line: 163, scope: !2762, inlinedAt: !3021)
!3021 = !DILocation(line: 407, scope: !2764, inlinedAt: !3022)
!3022 = !DILocation(line: 407, scope: !2766, inlinedAt: !3014)
!3023 = !DILocation(line: 595, scope: !2752, inlinedAt: !3024)
!3024 = !DILocation(line: 591, scope: !2752, inlinedAt: !3025)
!3025 = !DILocation(line: 86, scope: !2738, inlinedAt: !3026)
!3026 = !DILocation(line: 375, scope: !2451)
!3027 = !DILocation(line: 357, scope: !2755, inlinedAt: !3028)
!3028 = !DILocation(line: 357, scope: !2757, inlinedAt: !3029)
!3029 = !DILocation(line: 192, scope: !2738, inlinedAt: !3030)
!3030 = !DILocation(line: 163, scope: !2760, inlinedAt: !3031)
!3031 = !DILocation(line: 163, scope: !2762, inlinedAt: !3032)
!3032 = !DILocation(line: 407, scope: !2764, inlinedAt: !3033)
!3033 = !DILocation(line: 407, scope: !2766, inlinedAt: !3025)
!3034 = !DILocation(line: 79, scope: !3035, inlinedAt: !3036)
!3035 = distinct !DISubprogram(name: "cudaStreamDestroy;", linkageName: "cudaStreamDestroy", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3036 = !DILocation(line: 25, scope: !3037, inlinedAt: !3038)
!3037 = distinct !DISubprogram(name: "unsafe_destroy!;", linkageName: "unsafe_destroy!", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3038 = !DILocation(line: 379, scope: !2451)
!3039 = !DILocation(line: 410, scope: !2586, inlinedAt: !3040)
!3040 = !DILocation(line: 7, scope: !2774, inlinedAt: !3041)
!3041 = !DILocation(line: 204, scope: !2588, inlinedAt: !3042)
!3042 = !DILocation(line: 26, scope: !3037, inlinedAt: !3038)
!3043 = !DILocation(line: 8, scope: !2779, inlinedAt: !3044)
!3044 = !DILocation(line: 27, scope: !3037, inlinedAt: !3038)
!3045 = !DILocation(line: 382, scope: !2451)
!3046 = !DILocation(line: 147, scope: !2987, inlinedAt: !3047)
!3047 = !DILocation(line: 40, scope: !2989, inlinedAt: !3048)
!3048 = !DILocation(line: 73, scope: !2991, inlinedAt: !3049)
!3049 = !DILocation(line: 25, scope: !2993, inlinedAt: !3050)
!3050 = !DILocation(line: 41, scope: !2993, inlinedAt: !3051)
!3051 = !DILocation(line: 383, scope: !2451)
!3052 = !DILocation(line: 410, scope: !2586, inlinedAt: !3053)
!3053 = !DILocation(line: 7, scope: !2774, inlinedAt: !3054)
!3054 = !DILocation(line: 204, scope: !2588, inlinedAt: !3055)
!3055 = !DILocation(line: 26, scope: !2993, inlinedAt: !3050)
!3056 = !DILocation(line: 8, scope: !2779, inlinedAt: !3057)
!3057 = !DILocation(line: 27, scope: !2993, inlinedAt: !3050)
!3058 = !DILocation(line: 33, scope: !3003, inlinedAt: !3059)
!3059 = !DILocation(line: 56, scope: !3005, inlinedAt: !3060)
!3060 = !DILocation(line: 43, scope: !2993, inlinedAt: !3050)
!3061 = !DILocation(line: 83, scope: !2476, inlinedAt: !3062)
!3062 = !DILocation(line: 305, scope: !3009, inlinedAt: !3063)
!3063 = !DILocation(line: 384, scope: !2451)
!3064 = !DILocation(line: 595, scope: !2752, inlinedAt: !3065)
!3065 = !DILocation(line: 591, scope: !2752, inlinedAt: !3066)
!3066 = !DILocation(line: 86, scope: !2738, inlinedAt: !3067)
!3067 = !DILocation(line: 385, scope: !2451)
!3068 = !DILocation(line: 357, scope: !2755, inlinedAt: !3069)
!3069 = !DILocation(line: 357, scope: !2757, inlinedAt: !3070)
!3070 = !DILocation(line: 192, scope: !2738, inlinedAt: !3071)
!3071 = !DILocation(line: 163, scope: !2760, inlinedAt: !3072)
!3072 = !DILocation(line: 163, scope: !2762, inlinedAt: !3073)
!3073 = !DILocation(line: 407, scope: !2764, inlinedAt: !3074)
!3074 = !DILocation(line: 407, scope: !2766, inlinedAt: !3066)
!3075 = !DILocation(line: 595, scope: !2752, inlinedAt: !3076)
!3076 = !DILocation(line: 591, scope: !2752, inlinedAt: !3077)
!3077 = !DILocation(line: 86, scope: !2738, inlinedAt: !3078)
!3078 = !DILocation(line: 389, scope: !2451)
!3079 = !DILocation(line: 357, scope: !2755, inlinedAt: !3080)
!3080 = !DILocation(line: 357, scope: !2757, inlinedAt: !3081)
!3081 = !DILocation(line: 192, scope: !2738, inlinedAt: !3082)
!3082 = !DILocation(line: 163, scope: !2760, inlinedAt: !3083)
!3083 = !DILocation(line: 163, scope: !2762, inlinedAt: !3084)
!3084 = !DILocation(line: 407, scope: !2764, inlinedAt: !3085)
!3085 = !DILocation(line: 407, scope: !2766, inlinedAt: !3077)
!3086 = !DILocation(line: 79, scope: !3035, inlinedAt: !3087)
!3087 = !DILocation(line: 25, scope: !3037, inlinedAt: !3088)
!3088 = !DILocation(line: 393, scope: !2451)
!3089 = !DILocation(line: 410, scope: !2586, inlinedAt: !3090)
!3090 = !DILocation(line: 7, scope: !2774, inlinedAt: !3091)
!3091 = !DILocation(line: 204, scope: !2588, inlinedAt: !3092)
!3092 = !DILocation(line: 26, scope: !3037, inlinedAt: !3088)
!3093 = !DILocation(line: 8, scope: !2779, inlinedAt: !3094)
!3094 = !DILocation(line: 27, scope: !3037, inlinedAt: !3088)
!3095 = !DILocation(line: 397, scope: !3096)
!3096 = distinct !DISubprogram(name: "qsort_kernel", linkageName: "julia_qsort_kernel_24094", scope: null, file: !6, line: 324, type: !173, scopeLine: 324, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !99, retainedNodes: !4)
!3097 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_20948", scope: null, file: !27, line: 41, type: !173, scopeLine: 41, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !107, retainedNodes: !4)
!3098 = !DILocation(line: 74, scope: !3099, inlinedAt: !3100)
!3099 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !107, retainedNodes: !4)
!3100 = !DILocation(line: 38, scope: !3101, inlinedAt: !3102)
!3101 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !107, retainedNodes: !4)
!3102 = !DILocation(line: 38, scope: !3103, inlinedAt: !3104)
!3103 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !107, retainedNodes: !4)
!3104 = !DILocation(line: 42, scope: !3097)
!3105 = !DILocation(line: 46, scope: !3097)
!3106 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_20970", scope: null, file: !27, line: 27, type: !173, scopeLine: 27, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3107 = !DILocation(line: 25, scope: !3108, inlinedAt: !3109)
!3108 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !27, file: !27, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3109 = !DILocation(line: 28, scope: !3106)
!3110 = !DILocation(line: 29, scope: !3106)
!3111 = !DILocation(line: 118, scope: !3112, inlinedAt: !3113)
!3112 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3113 = !DILocation(line: 118, scope: !3112, inlinedAt: !3114)
!3114 = !DILocation(line: 30, scope: !3106)
!3115 = !DILocation(line: 115, scope: !3116, inlinedAt: !3117)
!3116 = distinct !DISubprogram(name: "threadfence_system;", linkageName: "threadfence_system", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3117 = !DILocation(line: 31, scope: !3106)
!3118 = !DILocation(line: 74, scope: !3119, inlinedAt: !3120)
!3119 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3120 = !DILocation(line: 38, scope: !3121, inlinedAt: !3122)
!3121 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3122 = !DILocation(line: 38, scope: !3123, inlinedAt: !3124)
!3123 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !115, retainedNodes: !4)
!3124 = !DILocation(line: 33, scope: !3106)
!3125 = !DILocation(line: 38, scope: !3106)
!3126 = distinct !DISubprogram(name: "dynamic_cudacall##kw", linkageName: "julia_dynamic_cudacall##kw_24336", scope: null, file: !3, line: 361, type: !173, scopeLine: 361, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3127 = !DILocation(line: 118, scope: !3128, inlinedAt: !3129)
!3128 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3129 = !DILocation(line: 361, scope: !3126)
!3130 = !DILocation(line: 29, scope: !3131, inlinedAt: !3132)
!3131 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3132 = !DILocation(line: 25, scope: !3133, inlinedAt: !3134)
!3133 = distinct !DISubprogram(name: "CuDim3;", linkageName: "CuDim3", scope: !192, file: !192, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3134 = !DILocation(line: 59, scope: !3135, inlinedAt: !3136)
!3135 = distinct !DISubprogram(name: "device_launch;", linkageName: "device_launch", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3136 = !DILocation(line: 383, scope: !3137, inlinedAt: !3138)
!3137 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3138 = !DILocation(line: 361, scope: !3139, inlinedAt: !3129)
!3139 = distinct !DISubprogram(name: "#dynamic_cudacall#229;", linkageName: "#dynamic_cudacall#229", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3140 = !DILocation(line: 630, scope: !3141, inlinedAt: !3142)
!3141 = distinct !DISubprogram(name: "checked_trunc_uint;", linkageName: "checked_trunc_uint", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3142 = !DILocation(line: 716, scope: !3143, inlinedAt: !3144)
!3143 = distinct !DISubprogram(name: "toUInt32;", linkageName: "toUInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3144 = !DILocation(line: 756, scope: !3145, inlinedAt: !3146)
!3145 = distinct !DISubprogram(name: "UInt32;", linkageName: "UInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3146 = !DILocation(line: 7, scope: !3147, inlinedAt: !3148)
!3147 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3148 = !DILocation(line: 18, scope: !3133, inlinedAt: !3132)
!3149 = !DILocation(line: 632, scope: !3141, inlinedAt: !3142)
!3150 = !DILocation(line: 630, scope: !3141, inlinedAt: !3151)
!3151 = !DILocation(line: 716, scope: !3143, inlinedAt: !3152)
!3152 = !DILocation(line: 756, scope: !3145, inlinedAt: !3153)
!3153 = !DILocation(line: 7, scope: !3147, inlinedAt: !3154)
!3154 = !DILocation(line: 18, scope: !3133, inlinedAt: !3155)
!3155 = !DILocation(line: 23, scope: !3133, inlinedAt: !3156)
!3156 = !DILocation(line: 60, scope: !3135, inlinedAt: !3136)
!3157 = !DILocation(line: 632, scope: !3141, inlinedAt: !3151)
!3158 = !DILocation(line: 630, scope: !3141, inlinedAt: !3159)
!3159 = !DILocation(line: 716, scope: !3143, inlinedAt: !3160)
!3160 = !DILocation(line: 756, scope: !3145, inlinedAt: !3161)
!3161 = !DILocation(line: 7, scope: !3147, inlinedAt: !3162)
!3162 = !DILocation(line: 396, scope: !3163, inlinedAt: !3164)
!3163 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3164 = !DILocation(line: 225, scope: !3165, inlinedAt: !3166)
!3165 = distinct !DISubprogram(name: "cudaGetParameterBufferV2;", linkageName: "cudaGetParameterBufferV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3166 = !DILocation(line: 72, scope: !3167, inlinedAt: !3168)
!3167 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3168 = !DILocation(line: 68, scope: !3169, inlinedAt: !3170)
!3169 = distinct !DISubprogram(name: "parameter_buffer;", linkageName: "parameter_buffer", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3170 = !DILocation(line: 62, scope: !3135, inlinedAt: !3136)
!3171 = !DILocation(line: 632, scope: !3141, inlinedAt: !3159)
!3172 = !DILocation(line: 73, scope: !3167, inlinedAt: !3168)
!3173 = !DILocation(line: 159, scope: !3174, inlinedAt: !3172)
!3174 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3175 = !DILocation(line: 251, scope: !3176, inlinedAt: !3177)
!3176 = distinct !DISubprogram(name: "cudaLaunchDeviceV2;", linkageName: "cudaLaunchDeviceV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3177 = !DILocation(line: 25, scope: !3135, inlinedAt: !3136)
!3178 = !DILocation(line: 410, scope: !3179, inlinedAt: !3180)
!3179 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3180 = !DILocation(line: 7, scope: !3181, inlinedAt: !3182)
!3181 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3182 = !DILocation(line: 204, scope: !3183, inlinedAt: !3184)
!3183 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3184 = !DILocation(line: 26, scope: !3135, inlinedAt: !3136)
!3185 = !DILocation(line: 8, scope: !3186, inlinedAt: !3187)
!3186 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !101, retainedNodes: !4)
!3187 = !DILocation(line: 27, scope: !3135, inlinedAt: !3136)
!3188 = distinct !DISubprogram(name: "throw_device_cuerror", linkageName: "julia_throw_device_cuerror_24314", scope: null, file: !17, line: 17, type: !173, scopeLine: 17, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3189 = !DILocation(line: 33, scope: !3190, inlinedAt: !3191)
!3190 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3191 = !DILocation(line: 11, scope: !3192, inlinedAt: !3193)
!3192 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3193 = !DILocation(line: 396, scope: !3194, inlinedAt: !3195)
!3194 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3195 = !DILocation(line: 49, scope: !3196, inlinedAt: !3197)
!3196 = distinct !DISubprogram(name: "cudaGetErrorString;", linkageName: "cudaGetErrorString", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3197 = !DILocation(line: 15, scope: !3198, inlinedAt: !3199)
!3198 = distinct !DISubprogram(name: "description;", linkageName: "description", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3199 = !DILocation(line: 207, scope: !3200, inlinedAt: !3201)
!3200 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3201 = !DILocation(line: 19, scope: !3188)
!3202 = !DILocation(line: 676, scope: !3203, inlinedAt: !3204)
!3203 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3204 = !DILocation(line: 752, scope: !3205, inlinedAt: !3206)
!3205 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3206 = !DILocation(line: 19, scope: !3207, inlinedAt: !3199)
!3207 = distinct !DISubprogram(name: "Integer;", linkageName: "Integer", scope: !1047, file: !1047, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3208 = !DILocation(line: 55, scope: !3209, inlinedAt: !3210)
!3209 = distinct !DISubprogram(name: "cudaGetErrorName;", linkageName: "cudaGetErrorName", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3210 = !DILocation(line: 13, scope: !3211, inlinedAt: !3199)
!3211 = distinct !DISubprogram(name: "name;", linkageName: "name", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3212 = !DILocation(line: 74, scope: !3213, inlinedAt: !3214)
!3213 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3214 = !DILocation(line: 38, scope: !3200, inlinedAt: !3215)
!3215 = !DILocation(line: 38, scope: !3216, inlinedAt: !3217)
!3216 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3217 = !DILocation(line: 158, scope: !3200, inlinedAt: !3218)
!3218 = !DILocation(line: 120, scope: !3219, inlinedAt: !3199)
!3219 = distinct !DISubprogram(name: "_cuprint;", linkageName: "_cuprint", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !100, retainedNodes: !4)
!3220 = !DILocation(line: 20, scope: !3188)
!3221 = distinct !DISubprogram(name: "find_partition", linkageName: "julia_find_partition_24331", scope: null, file: !6, line: 153, type: !173, scopeLine: 153, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3222 = !DILocation(line: 87, scope: !3223, inlinedAt: !3224)
!3223 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3224 = !DILocation(line: 154, scope: !3221)
!3225 = !DILocation(line: 442, scope: !3226, inlinedAt: !3227)
!3226 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3227 = !DILocation(line: 156, scope: !3221)
!3228 = !DILocation(line: 0, scope: !3229, inlinedAt: !3230)
!3229 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3230 = !DILocation(line: 613, scope: !3231, inlinedAt: !3232)
!3231 = distinct !DISubprogram(name: "last;", linkageName: "last", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3232 = !DILocation(line: 667, scope: !3233, inlinedAt: !3234)
!3233 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3234 = !DILocation(line: 595, scope: !3235, inlinedAt: !3236)
!3235 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3236 = !DILocation(line: 610, scope: !3235, inlinedAt: !3237)
!3237 = !DILocation(line: 292, scope: !3238, inlinedAt: !3239)
!3238 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3239 = !DILocation(line: 158, scope: !3221)
!3240 = !DILocation(line: 0, scope: !3226, inlinedAt: !3232)
!3241 = !DILocation(line: 0, scope: !3229, inlinedAt: !3242)
!3242 = !DILocation(line: 293, scope: !3238, inlinedAt: !3239)
!3243 = !DILocation(line: 0, scope: !3244, inlinedAt: !3242)
!3244 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3245 = !DILocation(line: 0, scope: !3223, inlinedAt: !3242)
!3246 = !DILocation(line: 0, scope: !3247, inlinedAt: !3248)
!3247 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3248 = !DILocation(line: 60, scope: !3249, inlinedAt: !3250)
!3249 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3250 = !DILocation(line: 311, scope: !3251, inlinedAt: !3252)
!3251 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3252 = !DILocation(line: 595, scope: !3235, inlinedAt: !3253)
!3253 = !DILocation(line: 610, scope: !3235, inlinedAt: !3254)
!3254 = !DILocation(line: 80, scope: !3255, inlinedAt: !3256)
!3255 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3256 = !DILocation(line: 101, scope: !3257, inlinedAt: !3242)
!3257 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3258 = !DILocation(line: 0, scope: !3244, inlinedAt: !3259)
!3259 = !DILocation(line: 480, scope: !3247, inlinedAt: !3248)
!3260 = !DILocation(line: 0, scope: !3261, inlinedAt: !3262)
!3261 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3262 = !DILocation(line: 326, scope: !3263, inlinedAt: !3264)
!3263 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3264 = !DILocation(line: 335, scope: !3263, inlinedAt: !3265)
!3265 = !DILocation(line: 337, scope: !3266, inlinedAt: !3250)
!3266 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3267 = !DILocation(line: 0, scope: !3229, inlinedAt: !3268)
!3268 = !DILocation(line: 54, scope: !3269, inlinedAt: !3270)
!3269 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3270 = !DILocation(line: 82, scope: !3255, inlinedAt: !3256)
!3271 = !DILocation(line: 0, scope: !3272, inlinedAt: !3273)
!3272 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3273 = !DILocation(line: 7, scope: !3274, inlinedAt: !3275)
!3274 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3275 = !DILocation(line: 7, scope: !3276, inlinedAt: !3277)
!3276 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3277 = !DILocation(line: 79, scope: !3278, inlinedAt: !3270)
!3278 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3279 = !DILocation(line: 0, scope: !3280, inlinedAt: !3239)
!3280 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3281 = !DILocation(line: 87, scope: !3223, inlinedAt: !3282)
!3282 = !DILocation(line: 157, scope: !3221)
!3283 = !DILocation(line: 261, scope: !3284, inlinedAt: !3282)
!3284 = distinct !DISubprogram(name: "div;", linkageName: "div", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3285 = !DILocation(line: 442, scope: !3226, inlinedAt: !3232)
!3286 = !DILocation(line: 88, scope: !3244, inlinedAt: !3242)
!3287 = !DILocation(line: 87, scope: !3223, inlinedAt: !3242)
!3288 = !DILocation(line: 442, scope: !3226, inlinedAt: !3289)
!3289 = !DILocation(line: 667, scope: !3233, inlinedAt: !3252)
!3290 = !DILocation(line: 86, scope: !3291, inlinedAt: !3292)
!3291 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !102, retainedNodes: !4)
!3292 = !DILocation(line: 74, scope: !3272, inlinedAt: !3273)
!3293 = !DILocation(line: 76, scope: !3280, inlinedAt: !3239)
!3294 = !DILocation(line: 86, scope: !3291, inlinedAt: !3295)
!3295 = !DILocation(line: 164, scope: !3221)
!3296 = distinct !DISubprogram(name: "n_eff", linkageName: "julia_n_eff_24317", scope: null, file: !6, line: 203, type: !173, scopeLine: 203, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3297 = !DILocation(line: 204, scope: !3296)
!3298 = !DILocation(line: 74, scope: !3299, inlinedAt: !3300)
!3299 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3300 = !DILocation(line: 7, scope: !3301, inlinedAt: !3302)
!3301 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3302 = !DILocation(line: 7, scope: !3303, inlinedAt: !3304)
!3303 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3304 = !DILocation(line: 52, scope: !3305, inlinedAt: !3306)
!3305 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3306 = !DILocation(line: 84, scope: !3307, inlinedAt: !3297)
!3307 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3308 = !DILocation(line: 94, scope: !3309, inlinedAt: !3310)
!3309 = distinct !DISubprogram(name: "Float64;", linkageName: "Float64", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3310 = !DILocation(line: 191, scope: !3311, inlinedAt: !3312)
!3311 = distinct !DISubprogram(name: "AbstractFloat;", linkageName: "AbstractFloat", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3312 = !DILocation(line: 206, scope: !3313, inlinedAt: !3314)
!3313 = distinct !DISubprogram(name: "float;", linkageName: "float", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3314 = !DILocation(line: 93, scope: !3315, inlinedAt: !3297)
!3315 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3316 = !DILocation(line: 335, scope: !3317, inlinedAt: !3314)
!3317 = distinct !DISubprogram(name: "/;", linkageName: "/", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3318 = !DILocation(line: 304, scope: !3319, inlinedAt: !3320)
!3319 = distinct !DISubprogram(name: "round;", linkageName: "round", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3320 = !DILocation(line: 295, scope: !3321, inlinedAt: !3297)
!3321 = distinct !DISubprogram(name: "ceil;", linkageName: "ceil", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3322 = !DILocation(line: 374, scope: !3323, inlinedAt: !3324)
!3323 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3324 = !DILocation(line: 713, scope: !3325, inlinedAt: !3320)
!3325 = distinct !DISubprogram(name: "trunc;", linkageName: "trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3326 = !DILocation(line: 239, scope: !3327, inlinedAt: !3328)
!3327 = distinct !DISubprogram(name: "unsafe_trunc;", linkageName: "unsafe_trunc", scope: !639, file: !639, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3328 = !DILocation(line: 714, scope: !3325, inlinedAt: !3320)
!3329 = !DILocation(line: 410, scope: !3330, inlinedAt: !3331)
!3330 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3331 = !DILocation(line: 204, scope: !3332, inlinedAt: !3297)
!3332 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3333 = !DILocation(line: 0, scope: !3296)
!3334 = !DILocation(line: 716, scope: !3325, inlinedAt: !3320)
!3335 = !DILocation(line: 262, scope: !3336, inlinedAt: !3297)
!3336 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3337 = !DILocation(line: 410, scope: !3330, inlinedAt: !3297)
!3338 = !DILocation(line: 676, scope: !3339, inlinedAt: !3340)
!3339 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3340 = !DILocation(line: 752, scope: !3341, inlinedAt: !3342)
!3341 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !103, retainedNodes: !4)
!3342 = !DILocation(line: 52, scope: !3305, inlinedAt: !3343)
!3343 = !DILocation(line: 84, scope: !3307, inlinedAt: !3344)
!3344 = !DILocation(line: 205, scope: !3296)
!3345 = distinct !DISubprogram(name: "dynamic_cudacall##kw", linkageName: "julia_dynamic_cudacall##kw_24307", scope: null, file: !3, line: 361, type: !173, scopeLine: 361, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3346 = !DILocation(line: 118, scope: !3347, inlinedAt: !3348)
!3347 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !179, file: !179, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3348 = !DILocation(line: 361, scope: !3345)
!3349 = !DILocation(line: 630, scope: !3350, inlinedAt: !3351)
!3350 = distinct !DISubprogram(name: "checked_trunc_uint;", linkageName: "checked_trunc_uint", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3351 = !DILocation(line: 716, scope: !3352, inlinedAt: !3353)
!3352 = distinct !DISubprogram(name: "toUInt32;", linkageName: "toUInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3353 = !DILocation(line: 756, scope: !3354, inlinedAt: !3355)
!3354 = distinct !DISubprogram(name: "UInt32;", linkageName: "UInt32", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3355 = !DILocation(line: 7, scope: !3356, inlinedAt: !3357)
!3356 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3357 = !DILocation(line: 18, scope: !3358, inlinedAt: !3359)
!3358 = distinct !DISubprogram(name: "CuDim3;", linkageName: "CuDim3", scope: !192, file: !192, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3359 = !DILocation(line: 23, scope: !3358, inlinedAt: !3360)
!3360 = !DILocation(line: 60, scope: !3361, inlinedAt: !3362)
!3361 = distinct !DISubprogram(name: "device_launch;", linkageName: "device_launch", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3362 = !DILocation(line: 383, scope: !3363, inlinedAt: !3364)
!3363 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3364 = !DILocation(line: 361, scope: !3365, inlinedAt: !3348)
!3365 = distinct !DISubprogram(name: "#dynamic_cudacall#229;", linkageName: "#dynamic_cudacall#229", scope: !3, file: !3, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3366 = !DILocation(line: 632, scope: !3350, inlinedAt: !3351)
!3367 = !DILocation(line: 630, scope: !3350, inlinedAt: !3368)
!3368 = !DILocation(line: 716, scope: !3352, inlinedAt: !3369)
!3369 = !DILocation(line: 756, scope: !3354, inlinedAt: !3370)
!3370 = !DILocation(line: 7, scope: !3356, inlinedAt: !3371)
!3371 = !DILocation(line: 396, scope: !3372, inlinedAt: !3373)
!3372 = distinct !DISubprogram(name: "cconvert;", linkageName: "cconvert", scope: !209, file: !209, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3373 = !DILocation(line: 225, scope: !3374, inlinedAt: !3375)
!3374 = distinct !DISubprogram(name: "cudaGetParameterBufferV2;", linkageName: "cudaGetParameterBufferV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3375 = !DILocation(line: 72, scope: !3376, inlinedAt: !3377)
!3376 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3377 = !DILocation(line: 68, scope: !3378, inlinedAt: !3379)
!3378 = distinct !DISubprogram(name: "parameter_buffer;", linkageName: "parameter_buffer", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3379 = !DILocation(line: 62, scope: !3361, inlinedAt: !3362)
!3380 = !DILocation(line: 632, scope: !3350, inlinedAt: !3368)
!3381 = !DILocation(line: 73, scope: !3376, inlinedAt: !3377)
!3382 = !DILocation(line: 159, scope: !3383, inlinedAt: !3381)
!3383 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3384 = !DILocation(line: 33, scope: !3385, inlinedAt: !3386)
!3385 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3386 = !DILocation(line: 47, scope: !3387, inlinedAt: !3388)
!3387 = distinct !DISubprogram(name: "unsafe_convert;", linkageName: "unsafe_convert", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3388 = !DILocation(line: 251, scope: !3389, inlinedAt: !3390)
!3389 = distinct !DISubprogram(name: "cudaLaunchDeviceV2;", linkageName: "cudaLaunchDeviceV2", scope: !212, file: !212, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3390 = !DILocation(line: 25, scope: !3361, inlinedAt: !3362)
!3391 = !DILocation(line: 410, scope: !3392, inlinedAt: !3393)
!3392 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3393 = !DILocation(line: 7, scope: !3394, inlinedAt: !3395)
!3394 = distinct !DISubprogram(name: "==;", linkageName: "==", scope: !238, file: !238, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3395 = !DILocation(line: 204, scope: !3396, inlinedAt: !3397)
!3396 = distinct !DISubprogram(name: "!=;", linkageName: "!=", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3397 = !DILocation(line: 26, scope: !3361, inlinedAt: !3362)
!3398 = !DILocation(line: 8, scope: !3399, inlinedAt: !3400)
!3399 = distinct !DISubprogram(name: "CuDeviceError;", linkageName: "CuDeviceError", scope: !17, file: !17, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !94, retainedNodes: !4)
!3400 = !DILocation(line: 27, scope: !3361, inlinedAt: !3362)
!3401 = !DILocation(line: 74, scope: !3402, inlinedAt: !3403)
!3402 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3403 = !DILocation(line: 7, scope: !3404, inlinedAt: !3405)
!3404 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3405 = !DILocation(line: 7, scope: !3406, inlinedAt: !3407)
!3406 = distinct !DISubprogram(name: "_index;", linkageName: "_index", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3407 = !DILocation(line: 52, scope: !3408, inlinedAt: !3409)
!3408 = distinct !DISubprogram(name: "blockDim_x;", linkageName: "blockDim_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3409 = !DILocation(line: 84, scope: !3410, inlinedAt: !3411)
!3410 = distinct !DISubprogram(name: "blockDim;", linkageName: "blockDim", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3411 = !DILocation(line: 50, scope: !3412, inlinedAt: !3413)
!3412 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !263, file: !263, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3413 = !DILocation(line: 139, scope: !3414)
!3414 = distinct !DISubprogram(name: "partition_batches_kernel", linkageName: "julia_partition_batches_kernel_24343", scope: null, file: !6, line: 137, type: !173, scopeLine: 137, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3415 = !DILocation(line: 676, scope: !3416, inlinedAt: !3417)
!3416 = distinct !DISubprogram(name: "toInt64;", linkageName: "toInt64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3417 = !DILocation(line: 752, scope: !3418, inlinedAt: !3407)
!3418 = distinct !DISubprogram(name: "Int64;", linkageName: "Int64", scope: !14, file: !14, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3419 = !DILocation(line: 31, scope: !3420, inlinedAt: !3421)
!3420 = distinct !DISubprogram(name: "CuDeviceArray;", linkageName: "CuDeviceArray", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3421 = !DILocation(line: 39, scope: !3420, inlinedAt: !3411)
!3422 = !DILocation(line: 108, scope: !3423, inlinedAt: !3424)
!3423 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3424 = !DILocation(line: 49, scope: !3412, inlinedAt: !3425)
!3425 = !DILocation(line: 140, scope: !3414)
!3426 = !DILocation(line: 31, scope: !3420, inlinedAt: !3427)
!3427 = !DILocation(line: 39, scope: !3420, inlinedAt: !3428)
!3428 = !DILocation(line: 50, scope: !3412, inlinedAt: !3425)
!3429 = !DILocation(line: 14, scope: !3430, inlinedAt: !3431)
!3430 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3431 = !DILocation(line: 110, scope: !3432, inlinedAt: !3433)
!3432 = distinct !DISubprogram(name: "batch_partition;", linkageName: "batch_partition", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3433 = !DILocation(line: 141, scope: !3414)
!3434 = !DILocation(line: 74, scope: !3402, inlinedAt: !3435)
!3435 = !DILocation(line: 7, scope: !3404, inlinedAt: !3436)
!3436 = !DILocation(line: 7, scope: !3406, inlinedAt: !3437)
!3437 = !DILocation(line: 57, scope: !3438, inlinedAt: !3439)
!3438 = distinct !DISubprogram(name: "blockIdx_y;", linkageName: "blockIdx_y", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3439 = !DILocation(line: 77, scope: !3440, inlinedAt: !3441)
!3440 = distinct !DISubprogram(name: "blockIdx;", linkageName: "blockIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3441 = !DILocation(line: 111, scope: !3432, inlinedAt: !3433)
!3442 = !DILocation(line: 88, scope: !3443, inlinedAt: !3441)
!3443 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3444 = !DILocation(line: 74, scope: !3402, inlinedAt: !3445)
!3445 = !DILocation(line: 7, scope: !3404, inlinedAt: !3446)
!3446 = !DILocation(line: 7, scope: !3406, inlinedAt: !3447)
!3447 = !DILocation(line: 47, scope: !3448, inlinedAt: !3449)
!3448 = distinct !DISubprogram(name: "threadIdx_x;", linkageName: "threadIdx_x", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3449 = !DILocation(line: 91, scope: !3450, inlinedAt: !3441)
!3450 = distinct !DISubprogram(name: "threadIdx;", linkageName: "threadIdx", scope: !254, file: !254, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3451 = !DILocation(line: 87, scope: !3452, inlinedAt: !3447)
!3452 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3453 = !DILocation(line: 87, scope: !3452, inlinedAt: !3454)
!3454 = !DILocation(line: 540, scope: !3455, inlinedAt: !3441)
!3455 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3456 = !DILocation(line: 442, scope: !3457, inlinedAt: !3458)
!3457 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3458 = !DILocation(line: 112, scope: !3432, inlinedAt: !3433)
!3459 = !DILocation(line: 442, scope: !3457, inlinedAt: !3460)
!3460 = !DILocation(line: 667, scope: !3461, inlinedAt: !3462)
!3461 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3462 = !DILocation(line: 595, scope: !3463, inlinedAt: !3464)
!3463 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3464 = !DILocation(line: 610, scope: !3463, inlinedAt: !3465)
!3465 = !DILocation(line: 292, scope: !3466, inlinedAt: !3467)
!3466 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3467 = !DILocation(line: 113, scope: !3432, inlinedAt: !3433)
!3468 = !DILocation(line: 88, scope: !3443, inlinedAt: !3469)
!3469 = !DILocation(line: 293, scope: !3466, inlinedAt: !3467)
!3470 = !DILocation(line: 87, scope: !3452, inlinedAt: !3469)
!3471 = !DILocation(line: 88, scope: !3443, inlinedAt: !3472)
!3472 = !DILocation(line: 480, scope: !3473, inlinedAt: !3474)
!3473 = distinct !DISubprogram(name: "prod;", linkageName: "prod", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3474 = !DILocation(line: 60, scope: !3475, inlinedAt: !3476)
!3475 = distinct !DISubprogram(name: "length;", linkageName: "length", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3476 = !DILocation(line: 311, scope: !3477, inlinedAt: !3478)
!3477 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3478 = !DILocation(line: 595, scope: !3463, inlinedAt: !3479)
!3479 = !DILocation(line: 610, scope: !3463, inlinedAt: !3480)
!3480 = !DILocation(line: 80, scope: !3481, inlinedAt: !3482)
!3481 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3482 = !DILocation(line: 101, scope: !3483, inlinedAt: !3469)
!3483 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3484 = !DILocation(line: 421, scope: !3485, inlinedAt: !3486)
!3485 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3486 = !DILocation(line: 326, scope: !3487, inlinedAt: !3488)
!3487 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3488 = !DILocation(line: 335, scope: !3487, inlinedAt: !3489)
!3489 = !DILocation(line: 337, scope: !3490, inlinedAt: !3476)
!3490 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3491 = !DILocation(line: 442, scope: !3457, inlinedAt: !3492)
!3492 = !DILocation(line: 667, scope: !3461, inlinedAt: !3478)
!3493 = !DILocation(line: 86, scope: !3494, inlinedAt: !3495)
!3494 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3495 = !DILocation(line: 74, scope: !3402, inlinedAt: !3496)
!3496 = !DILocation(line: 7, scope: !3497, inlinedAt: !3498)
!3497 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3498 = !DILocation(line: 7, scope: !3499, inlinedAt: !3500)
!3499 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3500 = !DILocation(line: 79, scope: !3501, inlinedAt: !3502)
!3501 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3502 = !DILocation(line: 82, scope: !3481, inlinedAt: !3482)
!3503 = !DILocation(line: 676, scope: !3416, inlinedAt: !3504)
!3504 = !DILocation(line: 752, scope: !3418, inlinedAt: !3505)
!3505 = !DILocation(line: 47, scope: !3448, inlinedAt: !3506)
!3506 = !DILocation(line: 91, scope: !3450, inlinedAt: !3467)
!3507 = !DILocation(line: 442, scope: !3457, inlinedAt: !3508)
!3508 = !DILocation(line: 667, scope: !3461, inlinedAt: !3509)
!3509 = !DILocation(line: 595, scope: !3463, inlinedAt: !3510)
!3510 = !DILocation(line: 610, scope: !3463, inlinedAt: !3511)
!3511 = !DILocation(line: 86, scope: !3512, inlinedAt: !3513)
!3512 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3513 = !DILocation(line: 103, scope: !3514, inlinedAt: !3467)
!3514 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3515 = !DILocation(line: 74, scope: !3402, inlinedAt: !3516)
!3516 = !DILocation(line: 42, scope: !3497, inlinedAt: !3517)
!3517 = !DILocation(line: 42, scope: !3518, inlinedAt: !3519)
!3518 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3519 = !DILocation(line: 82, scope: !3520, inlinedAt: !3521)
!3520 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3521 = !DILocation(line: 88, scope: !3512, inlinedAt: !3513)
!3522 = !DILocation(line: 610, scope: !3463, inlinedAt: !3523)
!3523 = !DILocation(line: 80, scope: !3481, inlinedAt: !3524)
!3524 = !DILocation(line: 101, scope: !3483, inlinedAt: !3525)
!3525 = !DILocation(line: 114, scope: !3432, inlinedAt: !3433)
!3526 = !DILocation(line: 74, scope: !3402, inlinedAt: !3527)
!3527 = !DILocation(line: 7, scope: !3497, inlinedAt: !3528)
!3528 = !DILocation(line: 7, scope: !3499, inlinedAt: !3529)
!3529 = !DILocation(line: 79, scope: !3501, inlinedAt: !3530)
!3530 = !DILocation(line: 82, scope: !3481, inlinedAt: !3524)
!3531 = !DILocation(line: 76, scope: !3532, inlinedAt: !3525)
!3532 = distinct !DISubprogram(name: "flex_lt;", linkageName: "flex_lt", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3533 = !DILocation(line: 679, scope: !3416, inlinedAt: !3534)
!3534 = !DILocation(line: 752, scope: !3418, inlinedAt: !3535)
!3535 = !DILocation(line: 7, scope: !3536, inlinedAt: !3537)
!3536 = distinct !DISubprogram(name: "convert;", linkageName: "convert", scope: !189, file: !189, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3537 = !DILocation(line: 474, scope: !3538, inlinedAt: !3539)
!3538 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3539 = !DILocation(line: 921, scope: !3540, inlinedAt: !3525)
!3540 = distinct !DISubprogram(name: "&;", linkageName: "&", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3541 = !DILocation(line: 610, scope: !3463, inlinedAt: !3542)
!3542 = !DILocation(line: 86, scope: !3512, inlinedAt: !3543)
!3543 = !DILocation(line: 103, scope: !3514, inlinedAt: !3525)
!3544 = !DILocation(line: 74, scope: !3402, inlinedAt: !3545)
!3545 = !DILocation(line: 42, scope: !3497, inlinedAt: !3546)
!3546 = !DILocation(line: 42, scope: !3518, inlinedAt: !3547)
!3547 = !DILocation(line: 82, scope: !3520, inlinedAt: !3548)
!3548 = !DILocation(line: 88, scope: !3512, inlinedAt: !3543)
!3549 = !DILocation(line: 676, scope: !3416, inlinedAt: !3550)
!3550 = !DILocation(line: 752, scope: !3418, inlinedAt: !3551)
!3551 = !DILocation(line: 47, scope: !3448, inlinedAt: !3552)
!3552 = !DILocation(line: 91, scope: !3450, inlinedAt: !3553)
!3553 = !DILocation(line: 116, scope: !3432, inlinedAt: !3433)
!3554 = !DILocation(line: 442, scope: !3457, inlinedAt: !3555)
!3555 = !DILocation(line: 667, scope: !3461, inlinedAt: !3556)
!3556 = !DILocation(line: 595, scope: !3463, inlinedAt: !3557)
!3557 = !DILocation(line: 610, scope: !3463, inlinedAt: !3558)
!3558 = !DILocation(line: 86, scope: !3512, inlinedAt: !3559)
!3559 = !DILocation(line: 103, scope: !3514, inlinedAt: !3553)
!3560 = !DILocation(line: 74, scope: !3402, inlinedAt: !3561)
!3561 = !DILocation(line: 42, scope: !3497, inlinedAt: !3562)
!3562 = !DILocation(line: 42, scope: !3518, inlinedAt: !3563)
!3563 = !DILocation(line: 82, scope: !3520, inlinedAt: !3564)
!3564 = !DILocation(line: 88, scope: !3512, inlinedAt: !3559)
!3565 = !DILocation(line: 676, scope: !3416, inlinedAt: !3566)
!3566 = !DILocation(line: 752, scope: !3418, inlinedAt: !3567)
!3567 = !DILocation(line: 47, scope: !3448, inlinedAt: !3568)
!3568 = !DILocation(line: 91, scope: !3450, inlinedAt: !3569)
!3569 = !DILocation(line: 119, scope: !3432, inlinedAt: !3433)
!3570 = !DILocation(line: 14, scope: !3430, inlinedAt: !3571)
!3571 = !DILocation(line: 118, scope: !3432, inlinedAt: !3433)
!3572 = !DILocation(line: 442, scope: !3457, inlinedAt: !3573)
!3573 = !DILocation(line: 667, scope: !3461, inlinedAt: !3574)
!3574 = !DILocation(line: 595, scope: !3463, inlinedAt: !3575)
!3575 = !DILocation(line: 610, scope: !3463, inlinedAt: !3576)
!3576 = !DILocation(line: 80, scope: !3481, inlinedAt: !3577)
!3577 = !DILocation(line: 101, scope: !3483, inlinedAt: !3569)
!3578 = !DILocation(line: 74, scope: !3402, inlinedAt: !3579)
!3579 = !DILocation(line: 7, scope: !3497, inlinedAt: !3580)
!3580 = !DILocation(line: 7, scope: !3499, inlinedAt: !3581)
!3581 = !DILocation(line: 79, scope: !3501, inlinedAt: !3582)
!3582 = !DILocation(line: 82, scope: !3481, inlinedAt: !3577)
!3583 = !DILocation(line: 83, scope: !3584, inlinedAt: !3585)
!3584 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3585 = !DILocation(line: 121, scope: !3432, inlinedAt: !3433)
!3586 = !DILocation(line: 122, scope: !3432, inlinedAt: !3433)
!3587 = !DILocation(line: 88, scope: !3443, inlinedAt: !3588)
!3588 = !DILocation(line: 123, scope: !3432, inlinedAt: !3433)
!3589 = !DILocation(line: 14, scope: !3430, inlinedAt: !3590)
!3590 = !DILocation(line: 125, scope: !3432, inlinedAt: !3433)
!3591 = !DILocation(line: 127, scope: !3432, inlinedAt: !3433)
!3592 = !DILocation(line: 442, scope: !3457, inlinedAt: !3593)
!3593 = !DILocation(line: 667, scope: !3461, inlinedAt: !3594)
!3594 = !DILocation(line: 595, scope: !3463, inlinedAt: !3595)
!3595 = !DILocation(line: 610, scope: !3463, inlinedAt: !3596)
!3596 = !DILocation(line: 324, scope: !3597, inlinedAt: !3598)
!3597 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !377, file: !377, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !135, retainedNodes: !4)
!3598 = !DILocation(line: 128, scope: !3432, inlinedAt: !3433)
!3599 = !DILocation(line: 88, scope: !3443, inlinedAt: !3600)
!3600 = !DILocation(line: 325, scope: !3597, inlinedAt: !3598)
!3601 = !DILocation(line: 87, scope: !3452, inlinedAt: !3600)
!3602 = !DILocation(line: 88, scope: !3443, inlinedAt: !3603)
!3603 = !DILocation(line: 480, scope: !3473, inlinedAt: !3604)
!3604 = !DILocation(line: 60, scope: !3475, inlinedAt: !3605)
!3605 = !DILocation(line: 311, scope: !3477, inlinedAt: !3606)
!3606 = !DILocation(line: 595, scope: !3463, inlinedAt: !3607)
!3607 = !DILocation(line: 610, scope: !3463, inlinedAt: !3608)
!3608 = !DILocation(line: 86, scope: !3512, inlinedAt: !3609)
!3609 = !DILocation(line: 103, scope: !3514, inlinedAt: !3600)
!3610 = !DILocation(line: 421, scope: !3485, inlinedAt: !3611)
!3611 = !DILocation(line: 326, scope: !3487, inlinedAt: !3612)
!3612 = !DILocation(line: 335, scope: !3487, inlinedAt: !3613)
!3613 = !DILocation(line: 337, scope: !3490, inlinedAt: !3605)
!3614 = !DILocation(line: 442, scope: !3457, inlinedAt: !3615)
!3615 = !DILocation(line: 667, scope: !3461, inlinedAt: !3606)
!3616 = !DILocation(line: 86, scope: !3494, inlinedAt: !3617)
!3617 = !DILocation(line: 74, scope: !3402, inlinedAt: !3618)
!3618 = !DILocation(line: 42, scope: !3497, inlinedAt: !3619)
!3619 = !DILocation(line: 42, scope: !3518, inlinedAt: !3620)
!3620 = !DILocation(line: 82, scope: !3520, inlinedAt: !3621)
!3621 = !DILocation(line: 88, scope: !3512, inlinedAt: !3609)
!3622 = !DILocation(line: 14, scope: !3430, inlinedAt: !3623)
!3623 = !DILocation(line: 130, scope: !3432, inlinedAt: !3433)
!3624 = !DILocation(line: 142, scope: !3414)
!3625 = distinct !DISubprogram(name: "report_exception", linkageName: "julia_report_exception_20948", scope: null, file: !27, line: 41, type: !173, scopeLine: 41, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !142, retainedNodes: !4)
!3626 = !DILocation(line: 74, scope: !3627, inlinedAt: !3628)
!3627 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !142, retainedNodes: !4)
!3628 = !DILocation(line: 38, scope: !3629, inlinedAt: !3630)
!3629 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !142, retainedNodes: !4)
!3630 = !DILocation(line: 38, scope: !3631, inlinedAt: !3632)
!3631 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !142, retainedNodes: !4)
!3632 = !DILocation(line: 42, scope: !3625)
!3633 = !DILocation(line: 46, scope: !3625)
!3634 = distinct !DISubprogram(name: "signal_exception", linkageName: "julia_signal_exception_20970", scope: null, file: !27, line: 27, type: !173, scopeLine: 27, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3635 = !DILocation(line: 25, scope: !3636, inlinedAt: !3637)
!3636 = distinct !DISubprogram(name: "exception_flag;", linkageName: "exception_flag", scope: !27, file: !27, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3637 = !DILocation(line: 28, scope: !3634)
!3638 = !DILocation(line: 29, scope: !3634)
!3639 = !DILocation(line: 118, scope: !3640, inlinedAt: !3641)
!3640 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !224, file: !224, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3641 = !DILocation(line: 118, scope: !3640, inlinedAt: !3642)
!3642 = !DILocation(line: 30, scope: !3634)
!3643 = !DILocation(line: 115, scope: !3644, inlinedAt: !3645)
!3644 = distinct !DISubprogram(name: "threadfence_system;", linkageName: "threadfence_system", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3645 = !DILocation(line: 31, scope: !3634)
!3646 = !DILocation(line: 74, scope: !3647, inlinedAt: !3648)
!3647 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3648 = !DILocation(line: 38, scope: !3649, inlinedAt: !3650)
!3649 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3650 = !DILocation(line: 38, scope: !3651, inlinedAt: !3652)
!3651 = distinct !DISubprogram(name: "_cuprintf;", linkageName: "_cuprintf", scope: !1039, file: !1039, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !150, retainedNodes: !4)
!3652 = !DILocation(line: 33, scope: !3634)
!3653 = !DILocation(line: 38, scope: !3634)
!3654 = distinct !DISubprogram(name: "merge_swap_shmem", linkageName: "julia_merge_swap_shmem_24416", scope: null, file: !6, line: 86, type: !173, scopeLine: 86, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3655 = !DILocation(line: 14, scope: !3656, inlinedAt: !3657)
!3656 = distinct !DISubprogram(name: "sync_threads;", linkageName: "sync_threads", scope: !395, file: !395, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3657 = !DILocation(line: 88, scope: !3654)
!3658 = !DILocation(line: 88, scope: !3659, inlinedAt: !3660)
!3659 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3660 = !DILocation(line: 89, scope: !3654)
!3661 = !DILocation(line: 86, scope: !3662, inlinedAt: !3663)
!3662 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3663 = !DILocation(line: 37, scope: !3664, inlinedAt: !3660)
!3664 = distinct !DISubprogram(name: "batch_floor;", linkageName: "batch_floor", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3665 = !DILocation(line: 262, scope: !3666, inlinedAt: !3663)
!3666 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3667 = !DILocation(line: 610, scope: !3668, inlinedAt: !3669)
!3668 = distinct !DISubprogram(name: "checkbounds;", linkageName: "checkbounds", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3669 = !DILocation(line: 80, scope: !3670, inlinedAt: !3671)
!3670 = distinct !DISubprogram(name: "arrayref;", linkageName: "arrayref", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3671 = !DILocation(line: 101, scope: !3672, inlinedAt: !3660)
!3672 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3673 = !DILocation(line: 33, scope: !3674, inlinedAt: !3675)
!3674 = distinct !DISubprogram(name: "getproperty;", linkageName: "getproperty", scope: !227, file: !227, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3675 = !DILocation(line: 54, scope: !3676, inlinedAt: !3677)
!3676 = distinct !DISubprogram(name: "pointer;", linkageName: "pointer", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3677 = !DILocation(line: 82, scope: !3670, inlinedAt: !3671)
!3678 = !DILocation(line: 86, scope: !3662, inlinedAt: !3679)
!3679 = !DILocation(line: 74, scope: !3680, inlinedAt: !3681)
!3680 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !251, file: !251, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3681 = !DILocation(line: 7, scope: !3682, inlinedAt: !3683)
!3682 = distinct !DISubprogram(name: "macro expansion;", linkageName: "macro expansion", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3683 = !DILocation(line: 7, scope: !3684, inlinedAt: !3685)
!3684 = distinct !DISubprogram(name: "pointerref;", linkageName: "pointerref", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3685 = !DILocation(line: 79, scope: !3686, inlinedAt: !3677)
!3686 = distinct !DISubprogram(name: "unsafe_load;", linkageName: "unsafe_load", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3687 = !DILocation(line: 86, scope: !3662, inlinedAt: !3688)
!3688 = !DILocation(line: 90, scope: !3654)
!3689 = !DILocation(line: 87, scope: !3690, inlinedAt: !3691)
!3690 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3691 = !DILocation(line: 44, scope: !3692, inlinedAt: !3693)
!3692 = distinct !DISubprogram(name: "batch_ceil;", linkageName: "batch_ceil", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3693 = !DILocation(line: 91, scope: !3654)
!3694 = !DILocation(line: 262, scope: !3666, inlinedAt: !3691)
!3695 = !DILocation(line: 610, scope: !3668, inlinedAt: !3696)
!3696 = !DILocation(line: 80, scope: !3670, inlinedAt: !3697)
!3697 = !DILocation(line: 101, scope: !3672, inlinedAt: !3693)
!3698 = !DILocation(line: 86, scope: !3662, inlinedAt: !3699)
!3699 = !DILocation(line: 74, scope: !3680, inlinedAt: !3700)
!3700 = !DILocation(line: 7, scope: !3682, inlinedAt: !3701)
!3701 = !DILocation(line: 7, scope: !3684, inlinedAt: !3702)
!3702 = !DILocation(line: 79, scope: !3686, inlinedAt: !3703)
!3703 = !DILocation(line: 82, scope: !3670, inlinedAt: !3697)
!3704 = !DILocation(line: 86, scope: !3662, inlinedAt: !3705)
!3705 = !DILocation(line: 92, scope: !3654)
!3706 = !DILocation(line: 29, scope: !3707, inlinedAt: !3708)
!3707 = distinct !DISubprogram(name: "getindex;", linkageName: "getindex", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3708 = !DILocation(line: 213, scope: !3709, inlinedAt: !3710)
!3709 = distinct !DISubprogram(name: "map;", linkageName: "map", scope: !284, file: !284, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3710 = !DILocation(line: 89, scope: !3711, inlinedAt: !3712)
!3711 = distinct !DISubprogram(name: "axes;", linkageName: "axes", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3712 = !DILocation(line: 109, scope: !3713, inlinedAt: !3714)
!3713 = distinct !DISubprogram(name: "axes1;", linkageName: "axes1", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3714 = !DILocation(line: 312, scope: !3715, inlinedAt: !3716)
!3715 = distinct !DISubprogram(name: "eachindex;", linkageName: "eachindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3716 = !DILocation(line: 595, scope: !3668, inlinedAt: !3717)
!3717 = !DILocation(line: 610, scope: !3668, inlinedAt: !3718)
!3718 = !DILocation(line: 86, scope: !3719, inlinedAt: !3720)
!3719 = distinct !DISubprogram(name: "arrayset;", linkageName: "arrayset", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3720 = !DILocation(line: 103, scope: !3721, inlinedAt: !3722)
!3721 = distinct !DISubprogram(name: "setindex!;", linkageName: "setindex!", scope: !431, file: !431, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3722 = !DILocation(line: 93, scope: !3654)
!3723 = !DILocation(line: 83, scope: !3724, inlinedAt: !3725)
!3724 = distinct !DISubprogram(name: "<;", linkageName: "<", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3725 = !DILocation(line: 421, scope: !3726, inlinedAt: !3727)
!3726 = distinct !DISubprogram(name: "max;", linkageName: "max", scope: !235, file: !235, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3727 = !DILocation(line: 326, scope: !3728, inlinedAt: !3729)
!3728 = distinct !DISubprogram(name: "OneTo;", linkageName: "OneTo", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3729 = !DILocation(line: 335, scope: !3728, inlinedAt: !3730)
!3730 = !DILocation(line: 337, scope: !3731, inlinedAt: !3708)
!3731 = distinct !DISubprogram(name: "oneto;", linkageName: "oneto", scope: !299, file: !299, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3732 = !DILocation(line: 442, scope: !3733, inlinedAt: !3734)
!3733 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3734 = !DILocation(line: 667, scope: !3735, inlinedAt: !3716)
!3735 = distinct !DISubprogram(name: "checkindex;", linkageName: "checkindex", scope: !9, file: !9, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3736 = !DILocation(line: 33, scope: !3674, inlinedAt: !3737)
!3737 = !DILocation(line: 54, scope: !3676, inlinedAt: !3738)
!3738 = !DILocation(line: 88, scope: !3719, inlinedAt: !3720)
!3739 = !DILocation(line: 74, scope: !3680, inlinedAt: !3740)
!3740 = !DILocation(line: 42, scope: !3682, inlinedAt: !3741)
!3741 = !DILocation(line: 42, scope: !3742, inlinedAt: !3743)
!3742 = distinct !DISubprogram(name: "pointerset;", linkageName: "pointerset", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3743 = !DILocation(line: 82, scope: !3744, inlinedAt: !3738)
!3744 = distinct !DISubprogram(name: "unsafe_store!;", linkageName: "unsafe_store!", scope: !272, file: !272, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !134, retainedNodes: !4)
!3745 = !DILocation(line: 14, scope: !3656, inlinedAt: !3746)
!3746 = !DILocation(line: 94, scope: !3654)
!3747 = !DILocation(line: 87, scope: !3690, inlinedAt: !3748)
!3748 = !DILocation(line: 95, scope: !3654)
!3749 = !DILocation(line: 442, scope: !3733, inlinedAt: !3750)
!3750 = !DILocation(line: 667, scope: !3735, inlinedAt: !3751)
!3751 = !DILocation(line: 595, scope: !3668, inlinedAt: !3752)
!3752 = !DILocation(line: 610, scope: !3668, inlinedAt: !3753)
!3753 = !DILocation(line: 86, scope: !3719, inlinedAt: !3754)
!3754 = !DILocation(line: 103, scope: !3721, inlinedAt: !3748)
!3755 = !DILocation(line: 74, scope: !3680, inlinedAt: !3756)
!3756 = !DILocation(line: 42, scope: !3682, inlinedAt: !3757)
!3757 = !DILocation(line: 42, scope: !3742, inlinedAt: !3758)
!3758 = !DILocation(line: 82, scope: !3744, inlinedAt: !3759)
!3759 = !DILocation(line: 88, scope: !3719, inlinedAt: !3754)
!3760 = !DILocation(line: 96, scope: !3654)
!3761 = !DILocation(line: 442, scope: !3733, inlinedAt: !3762)
!3762 = !DILocation(line: 667, scope: !3735, inlinedAt: !3763)
!3763 = !DILocation(line: 595, scope: !3668, inlinedAt: !3764)
!3764 = !DILocation(line: 610, scope: !3668, inlinedAt: !3765)
!3765 = !DILocation(line: 80, scope: !3670, inlinedAt: !3766)
!3766 = !DILocation(line: 101, scope: !3672, inlinedAt: !3760)
!3767 = !DILocation(line: 86, scope: !3662, inlinedAt: !3768)
!3768 = !DILocation(line: 74, scope: !3680, inlinedAt: !3769)
!3769 = !DILocation(line: 7, scope: !3682, inlinedAt: !3770)
!3770 = !DILocation(line: 7, scope: !3684, inlinedAt: !3771)
!3771 = !DILocation(line: 79, scope: !3686, inlinedAt: !3772)
!3772 = !DILocation(line: 82, scope: !3670, inlinedAt: !3766)
!3773 = !DILocation(line: 29, scope: !3707, inlinedAt: !3774)
!3774 = !DILocation(line: 213, scope: !3709, inlinedAt: !3775)
!3775 = !DILocation(line: 89, scope: !3711, inlinedAt: !3776)
!3776 = !DILocation(line: 109, scope: !3713, inlinedAt: !3777)
!3777 = !DILocation(line: 312, scope: !3715, inlinedAt: !3778)
!3778 = !DILocation(line: 595, scope: !3668, inlinedAt: !3667)
!3779 = !DILocation(line: 83, scope: !3724, inlinedAt: !3780)
!3780 = !DILocation(line: 421, scope: !3726, inlinedAt: !3781)
!3781 = !DILocation(line: 326, scope: !3728, inlinedAt: !3782)
!3782 = !DILocation(line: 335, scope: !3728, inlinedAt: !3783)
!3783 = !DILocation(line: 337, scope: !3731, inlinedAt: !3774)
!3784 = !DILocation(line: 442, scope: !3733, inlinedAt: !3785)
!3785 = !DILocation(line: 667, scope: !3735, inlinedAt: !3778)
!3786 = !DILocation(line: 86, scope: !3662, inlinedAt: !3691)
!3787 = !DILocation(line: 442, scope: !3733, inlinedAt: !3788)
!3788 = !DILocation(line: 667, scope: !3735, inlinedAt: !3789)
!3789 = !DILocation(line: 595, scope: !3668, inlinedAt: !3695)
!3790 = distinct !DISubprogram(name: "batch_step_swap", linkageName: "julia_batch_step_swap_24429", scope: null, file: !6, line: 68, type: !173, scopeLine: 68, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3791 = !DILocation(line: 86, scope: !3792, inlinedAt: !3793)
!3792 = distinct !DISubprogram(name: "-;", linkageName: "-", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3793 = !DILocation(line: 69, scope: !3790)
!3794 = !DILocation(line: 262, scope: !3795, inlinedAt: !3793)
!3795 = distinct !DISubprogram(name: "rem;", linkageName: "rem", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3796 = !DILocation(line: 262, scope: !3795, inlinedAt: !3797)
!3797 = !DILocation(line: 37, scope: !3798, inlinedAt: !3799)
!3798 = distinct !DISubprogram(name: "batch_floor;", linkageName: "batch_floor", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3799 = !DILocation(line: 70, scope: !3790)
!3800 = !DILocation(line: 86, scope: !3792, inlinedAt: !3801)
!3801 = !DILocation(line: 62, scope: !3802, inlinedAt: !3799)
!3802 = distinct !DISubprogram(name: "step_swap;", linkageName: "step_swap", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3803 = !DILocation(line: 442, scope: !3804, inlinedAt: !3805)
!3804 = distinct !DISubprogram(name: "<=;", linkageName: "<=", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3805 = !DILocation(line: 51, scope: !3806, inlinedAt: !3801)
!3806 = distinct !DISubprogram(name: "\CE\98;", linkageName: "\CE\98", scope: !6, file: !6, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3807 = !DILocation(line: 88, scope: !3808, inlinedAt: !3801)
!3808 = distinct !DISubprogram(name: "*;", linkageName: "*", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3809 = !DILocation(line: 87, scope: !3810, inlinedAt: !3801)
!3810 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !277, file: !277, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3811 = !DILocation(line: 87, scope: !3810, inlinedAt: !3812)
!3812 = !DILocation(line: 540, scope: !3813, inlinedAt: !3801)
!3813 = distinct !DISubprogram(name: "+;", linkageName: "+", scope: !241, file: !241, type: !173, spFlags: DISPFlagDefinition | DISPFlagOptimized, unit: !133, retainedNodes: !4)
!3814 = !DILocation(line: 86, scope: !3792, inlinedAt: !3799)
!3815 = !DILocation(line: 87, scope: !3810, inlinedAt: !3799)
This file has been truncated, but you can view the full file.
//
// Generated by LLVM NVPTX Back-End
//
.version 6.3
.target sm_75
.address_size 64
.extern .func (.param .b64 func_retval0) cudaGetParameterBufferV2
(
.param .b64 cudaGetParameterBufferV2_param_0,
.param .align 4 .b8 cudaGetParameterBufferV2_param_1[12],
.param .align 4 .b8 cudaGetParameterBufferV2_param_2[12],
.param .b32 cudaGetParameterBufferV2_param_3
)
;
.extern .func (.param .b32 func_retval0) cudaLaunchDeviceV2
(
.param .b64 cudaLaunchDeviceV2_param_0,
.param .b64 cudaLaunchDeviceV2_param_1
)
;
.extern .func (.param .b32 func_retval0) cudaDeviceSynchronize
()
;
.extern .func (.param .b32 func_retval0) cudaStreamCreateWithFlags
(
.param .b64 cudaStreamCreateWithFlags_param_0,
.param .b32 cudaStreamCreateWithFlags_param_1
)
;
.extern .func (.param .b32 func_retval0) cudaStreamDestroy
(
.param .b64 cudaStreamDestroy_param_0
)
;
.func julia_throw_device_cuerror_24667
(
.param .b64 julia_throw_device_cuerror_24667_param_0
)
;
.extern .func (.param .b64 func_retval0) cudaGetErrorString
(
.param .b32 cudaGetErrorString_param_0
)
;
.extern .func (.param .b64 func_retval0) cudaGetErrorName
(
.param .b32 cudaGetErrorName_param_0
)
;
.extern .func (.param .b32 func_retval0) vprintf
(
.param .b64 vprintf_param_0,
.param .b64 vprintf_param_1
)
;
.func julia_dynamic_cudacallYY_YY_kw_24689
(
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_0,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_1,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_2,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_3,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_4,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24689_param_5,
.param .b32 julia_dynamic_cudacallYY_YY_kw_24689_param_6
)
;
.func (.param .b64 func_retval0) julia_find_partition_24684
(
.param .b64 julia_find_partition_24684_param_0,
.param .b64 julia_find_partition_24684_param_1,
.param .b64 julia_find_partition_24684_param_2,
.param .b64 julia_find_partition_24684_param_3,
.param .b32 julia_find_partition_24684_param_4
)
;
.func (.param .b64 func_retval0) julia_n_eff_24670
(
.param .b64 julia_n_eff_24670_param_0
)
;
.func gpu_report_exception
(
.param .b64 gpu_report_exception_param_0
)
;
.func gpu_signal_exception
()
;
.visible .entry _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0_
(
.param .align 8 .b8 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_0[56],
.param .u64 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_1,
.param .u64 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_2,
.param .u8 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_3,
.param .u64 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_4,
.param .u64 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_5,
.param .u64 _Z24julia_qsort_kernel_246968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILifalseEES0_S0_7_isless9_identityS6_ILi1EES0__param_6
)
;
.func gpu_report_exception66
(
.param .b64 gpu_report_exception66_param_0
)
;
.func gpu_signal_exception67
()
;
.func (.param .b64 func_retval0) julia_merge_swap_shmem_24981
(
.param .b64 julia_merge_swap_shmem_24981_param_0,
.param .b64 julia_merge_swap_shmem_24981_param_1,
.param .b64 julia_merge_swap_shmem_24981_param_2,
.param .b64 julia_merge_swap_shmem_24981_param_3,
.param .b64 julia_merge_swap_shmem_24981_param_4
)
;
.func (.param .b64 func_retval0) julia_find_partition_24976
(
.param .b64 julia_find_partition_24976_param_0,
.param .b64 julia_find_partition_24976_param_1,
.param .b64 julia_find_partition_24976_param_2,
.param .b64 julia_find_partition_24976_param_3,
.param .b32 julia_find_partition_24976_param_4
)
;
.func (.param .b64 func_retval0) julia_n_eff_24962
(
.param .b64 julia_n_eff_24962_param_0
)
;
.func julia_throw_device_cuerror_24959
(
.param .b64 julia_throw_device_cuerror_24959_param_0
)
;
.func julia_dynamic_cudacallYY_YY_kw_24952
(
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_0,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_1,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_2,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_3,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_4,
.param .b32 julia_dynamic_cudacallYY_YY_kw_24952_param_5,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_6,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_7,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24952_param_8
)
;
.func (.param .b64 func_retval0) julia_batch_step_swap_24994
(
.param .b64 julia_batch_step_swap_24994_param_0,
.param .b64 julia_batch_step_swap_24994_param_1,
.param .b64 julia_batch_step_swap_24994_param_2,
.param .b64 julia_batch_step_swap_24994_param_3,
.param .b64 julia_batch_step_swap_24994_param_4
)
;
.visible .entry _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0_
(
.param .align 8 .b8 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_0[56],
.param .u64 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_1,
.param .u64 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_2,
.param .u8 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_3,
.param .u64 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_4,
.param .u64 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_5,
.param .u64 _Z24julia_qsort_kernel_249968SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_4Bool3ValILitrueEES0_S0_7_isless9_identityS6_ILi1EES0__param_6
)
;
.func gpu_report_exception68
(
.param .b64 gpu_report_exception68_param_0
)
;
.func gpu_signal_exception69
()
;
.func julia_dynamic_cudacallYY_YY_kw_25238
(
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_0,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_1,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_2,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_3,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_4,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25238_param_5,
.param .b32 julia_dynamic_cudacallYY_YY_kw_25238_param_6
)
;
.func julia_throw_device_cuerror_25216
(
.param .b64 julia_throw_device_cuerror_25216_param_0
)
;
.func (.param .b64 func_retval0) julia_find_partition_25233
(
.param .b64 julia_find_partition_25233_param_0,
.param .b64 julia_find_partition_25233_param_1,
.param .b64 julia_find_partition_25233_param_2,
.param .b64 julia_find_partition_25233_param_3,
.param .b32 julia_find_partition_25233_param_4
)
;
.func (.param .b64 func_retval0) julia_n_eff_25219
(
.param .b64 julia_n_eff_25219_param_0
)
;
.func julia_dynamic_cudacallYY_YY_kw_25209
(
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_0,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_1,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_2,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_3,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_4,
.param .b32 julia_dynamic_cudacallYY_YY_kw_25209_param_5,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_6,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_7,
.param .b64 julia_dynamic_cudacallYY_YY_kw_25209_param_8
)
;
.visible .entry _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity
(
.param .align 8 .b8 _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity_param_0[56],
.param .u64 _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity_param_1,
.param .u64 _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity_param_2,
.param .u64 _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity_param_3,
.param .u8 _Z36julia_partition_batches_kernel_252458SubArrayI5Int64Li1E13CuDeviceArrayIS0_Li2ELi1EE5TupleIS0_5SliceI5OneToIS0_EEELitrueEES0_S0_S0_4Bool7_isless9_identity_param_4
)
;
.func gpu_report_exception70
(
.param .b64 gpu_report_exception70_param_0
)
;
.func gpu_signal_exception71
()
;
.func (.param .b64 func_retval0) julia_merge_swap_shmem_25318
(
.param .b64 julia_merge_swap_shmem_25318_param_0,
.param .b64 julia_merge_swap_shmem_25318_param_1,
.param .b64 julia_merge_swap_shmem_25318_param_2,
.param .b64 julia_merge_swap_shmem_25318_param_3,
.param .b64 julia_merge_swap_shmem_25318_param_4
)
;
.func (.param .b64 func_retval0) julia_batch_step_swap_25331
(
.param .b64 julia_batch_step_swap_25331_param_0,
.param .b64 julia_batch_step_swap_25331_param_1,
.param .b64 julia_batch_step_swap_25331_param_2,
.param .b64 julia_batch_step_swap_25331_param_3,
.param .b64 julia_batch_step_swap_25331_param_4
)
;
.extern .shared .align 32 .b8 __dynamic_shmem_686[];
.extern .shared .align 32 .b8 __dynamic_shmem_687[];
.global .align 1 .b8 exception74[13] = {73, 110, 101, 120, 97, 99, 116, 69, 114, 114, 111, 114, 0};
.global .align 1 .b8 __unnamed_1[75] = {69, 82, 82, 79, 82, 58, 32, 97, 32, 67, 85, 68, 65, 32, 101, 114, 114, 111, 114, 32, 119, 97, 115, 32, 116, 104, 114, 111, 119, 110, 32, 100, 117, 114, 105, 110, 103, 32, 107, 101, 114, 110, 101, 108, 32, 101, 120, 101, 99, 117, 116, 105, 111, 110, 58, 32, 37, 115, 32, 40, 99, 111, 100, 101, 32, 37, 108, 100, 44, 32, 37, 115, 41, 10, 0};
.extern .shared .align 32 .b8 __dynamic_shmem_673[];
.extern .shared .align 32 .b8 __dynamic_shmem_674[];
.global .align 1 .b8 exception32[12] = {66, 111, 117, 110, 100, 115, 69, 114, 114, 111, 114, 0};
.global .align 1 .b8 exception6[10] = {101, 120, 99, 101, 112, 116, 105, 111, 110, 0};
.global .align 1 .b8 __unnamed_2[110] = {87, 65, 82, 78, 73, 78, 71, 58, 32, 99, 111, 117, 108, 100, 32, 110, 111, 116, 32, 115, 105, 103, 110, 97, 108, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 32, 115, 116, 97, 116, 117, 115, 32, 116, 111, 32, 116, 104, 101, 32, 104, 111, 115, 116, 44, 32, 101, 120, 101, 99, 117, 116, 105, 111, 110, 32, 119, 105, 108, 108, 32, 99, 111, 110, 116, 105, 110, 117, 101, 46, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 108, 101, 97, 115, 101, 32, 102, 105, 108, 101, 32, 97, 32, 98, 117, 103, 46, 10, 0};
.global .align 1 .b8 __unnamed_3[108] = {69, 82, 82, 79, 82, 58, 32, 97, 32, 37, 115, 32, 119, 97, 115, 32, 116, 104, 114, 111, 119, 110, 32, 100, 117, 114, 105, 110, 103, 32, 107, 101, 114, 110, 101, 108, 32, 101, 120, 101, 99, 117, 116, 105, 111, 110, 46, 10, 32, 32, 32, 32, 32, 32, 32, 82, 117, 110, 32, 74, 117, 108, 105, 97, 32, 111, 110, 32, 100, 101, 98, 117, 103, 32, 108, 101, 118, 101, 108, 32, 50, 32, 102, 111, 114, 32, 100, 101, 118, 105, 99, 101, 32, 115, 116, 97, 99, 107, 32, 116, 114, 97, 99, 101, 115, 46, 10, 0};
.weak .global .align 8 .u64 exception_flag;
// -- Begin function julia_dynamic_cudacallYY_YY_kw_24660
// @julia_dynamic_cudacallYY_YY_kw_24660
.func julia_dynamic_cudacallYY_YY_kw_24660(
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_0,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_1,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_2,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_3,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_4,
.param .b32 julia_dynamic_cudacallYY_YY_kw_24660_param_5,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_6,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_7,
.param .b64 julia_dynamic_cudacallYY_YY_kw_24660_param_8
)
{
.local .align 4 .b8 __local_depot0[4];
.reg .b64 %SP;
.reg .b64 %SPL;
.reg .pred %p<4>;
.reg .b16 %rs<2>;
.reg .b32 %r<6>;
.reg .b64 %rd<29>;
// %bb.0: // %top
mov.u64 %SPL, __local_depot0;
cvta.local.u64 %SP, %SPL;
ld.param.u64 %rd9, [julia_dynamic_cudacallYY_YY_kw_24660_param_0];
ld.param.u64 %rd17, [julia_dynamic_cudacallYY_YY_kw_24660_param_2];
ld.u64 %rd2, [%rd17];
ld.u64 %rd3, [%rd17+8];
ld.u64 %rd4, [%rd17+16];
ld.u64 %rd5, [%rd17+24];
ld.u64 %rd6, [%rd17+32];
ld.u64 %rd7, [%rd17+40];
ld.u64 %rd8, [%rd17+48];
ld.u64 %rd18, [%rd9];
setp.lt.u64 %p1, %rd18, 4294967296;
mov.u64 %rd28, exception74;
@%p1 bra LBB0_2;
// %bb.1: // %L33
cvta.global.u64 %rd20, %rd28;
{ // callseq 5625, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd20;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5625
{ // callseq 5626, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5626
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB0_2: // %L38
ld.param.u64 %rd15, [julia_dynamic_cudacallYY_YY_kw_24660_param_8];
ld.param.u64 %rd14, [julia_dynamic_cudacallYY_YY_kw_24660_param_7];
ld.param.u64 %rd13, [julia_dynamic_cudacallYY_YY_kw_24660_param_6];
ld.param.u8 %rs1, [julia_dynamic_cudacallYY_YY_kw_24660_param_5];
ld.param.u64 %rd12, [julia_dynamic_cudacallYY_YY_kw_24660_param_4];
ld.param.u64 %rd11, [julia_dynamic_cudacallYY_YY_kw_24660_param_3];
ld.param.u64 %rd10, [julia_dynamic_cudacallYY_YY_kw_24660_param_1];
cvt.u32.u64 %r1, %rd18;
ld.u64 %rd21, [%rd9+16];
cvt.u32.u64 %r2, %rd21;
setp.lt.u64 %p2, %rd21, 4294967296;
@%p2 bra LBB0_4;
// %bb.3: // %L46
cvta.global.u64 %rd23, %rd28;
{ // callseq 5627, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd23;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5627
{ // callseq 5628, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5628
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB0_4: // %L52
mov.u32 %r4, 1;
{ // callseq 5629, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd10;
.param .align 4 .b8 param1[12];
st.param.b32 [param1+0], %r4;
st.param.b32 [param1+4], %r4;
st.param.b32 [param1+8], %r4;
.param .align 4 .b8 param2[12];
st.param.b32 [param2+0], %r1;
st.param.b32 [param2+4], %r4;
st.param.b32 [param2+8], %r4;
.param .b32 param3;
st.param.b32 [param3+0], %r2;
.param .b64 retval0;
call.uni (retval0),
cudaGetParameterBufferV2,
(
param0,
param1,
param2,
param3
);
ld.param.b64 %rd24, [retval0+0];
} // callseq 5629
st.u64 [%rd24], %rd2;
st.u64 [%rd24+8], %rd3;
st.u64 [%rd24+16], %rd4;
st.u64 [%rd24+24], %rd5;
st.u64 [%rd24+32], %rd6;
st.u64 [%rd24+40], %rd7;
st.u64 [%rd24+48], %rd8;
st.u64 [%rd24+56], %rd11;
st.u64 [%rd24+64], %rd12;
st.u8 [%rd24+72], %rs1;
st.u64 [%rd24+80], %rd13;
st.u64 [%rd24+88], %rd14;
st.u64 [%rd24+96], %rd15;
ld.u64 %rd26, [%rd9+8];
{ // callseq 5630, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd24;
.param .b64 param1;
st.param.b64 [param1+0], %rd26;
.param .b32 retval0;
call.uni (retval0),
cudaLaunchDeviceV2,
(
param0,
param1
);
ld.param.b32 %r5, [retval0+0];
} // callseq 5630
setp.eq.s32 %p3, %r5, 0;
@%p3 bra LBB0_6;
// %bb.5: // %L113
add.u64 %rd16, %SP, 0;
add.u64 %rd1, %SPL, 0;
st.local.u32 [%rd1], %r5;
{ // callseq 5631, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd16;
call.uni
julia_throw_device_cuerror_24667,
(
param0
);
} // callseq 5631
// begin inline asm
exit;
// end inline asm
LBB0_6: // %L118
ret;
// -- End function
}
.func julia_qsort_kernel_24434(
.param .b64 julia_qsort_kernel_24434_param_0,
.param .b64 julia_qsort_kernel_24434_param_1,
.param .b64 julia_qsort_kernel_24434_param_2,
.param .b32 julia_qsort_kernel_24434_param_3,
.param .b64 julia_qsort_kernel_24434_param_4,
.param .b64 julia_qsort_kernel_24434_param_5
) // -- Begin function julia_qsort_kernel_24434
// @julia_qsort_kernel_24434
{
.local .align 16 .b8 __local_depot1[240];
.reg .b64 %SP;
.reg .b64 %SPL;
.reg .pred %p<115>;
.reg .b16 %rs<5>;
.reg .b32 %r<52>;
.reg .f64 %fd<12>;
.reg .b64 %rd<344>;
// %bb.0: // %top
mov.u64 %SPL, __local_depot1;
cvta.local.u64 %SP, %SPL;
ld.param.u64 %rd108, [julia_qsort_kernel_24434_param_0];
ld.u64 %rd19, [%rd108];
max.s64 %rd20, %rd19, 0;
mov.u32 %r1, %ctaid.x;
add.s32 %r10, %r1, 1;
cvt.u64.u32 %rd21, %r10;
setp.ge.s64 %p5, %rd20, %rd21;
mov.u64 %rd329, exception32;
@%p5 bra LBB1_2;
// %bb.1: // %L92
cvta.global.u64 %rd130, %rd329;
{ // callseq 5632, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd130;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5632
{ // callseq 5633, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5633
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_2: // %L95
setp.gt.s64 %p6, %rd19, 0;
add.s64 %rd22, %rd21, -1;
mov.u64 %rd325, exception6;
@%p6 bra LBB1_4;
// %bb.3: // %fail
cvta.global.u64 %rd132, %rd325;
{ // callseq 5634, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd132;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5634
{ // callseq 5635, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5635
// begin inline asm
exit;
// end inline asm
LBB1_4: // %pass
or.b64 %rd133, %rd22, %rd19;
and.b64 %rd134, %rd133, -4294967296;
setp.ne.s64 %p7, %rd134, 0;
@%p7 bra LBB1_113;
bra.uni LBB1_5;
LBB1_113:
div.s64 %rd343, %rd22, %rd19;
bra.uni LBB1_114;
LBB1_5:
cvt.u32.u64 %r11, %rd19;
cvt.u32.u64 %r12, %rd22;
div.u32 %r13, %r12, %r11;
cvt.u64.u32 %rd343, %r13;
LBB1_114:
mul.lo.s64 %rd106, %rd343, %rd20;
sub.s64 %rd135, %rd22, %rd106;
add.s64 %rd107, %rd135, 1;
setp.lt.s64 %p8, %rd107, 1;
setp.gt.s64 %p9, %rd107, %rd20;
or.pred %p4, %p8, %p9;
@%p4 bra LBB1_6;
bra.uni LBB1_7;
LBB1_6: // %L110
cvta.global.u64 %rd137, %rd329;
{ // callseq 5636, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd137;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5636
{ // callseq 5637, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5637
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_7: // %L117
mov.u32 %r9, %ntid.x;
ld.param.u64 %rd110, [julia_qsort_kernel_24434_param_2];
ld.param.u64 %rd109, [julia_qsort_kernel_24434_param_1];
add.u64 %rd115, %SP, 8;
setp.eq.s64 %p10, %rd343, 0;
@%p10 bra LBB1_9;
// %bb.8: // %L122
cvta.global.u64 %rd139, %rd329;
{ // callseq 5638, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd139;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5638
{ // callseq 5639, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5639
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_9: // %L134
cvta.to.local.u64 %rd3, %rd115;
cvt.u64.u32 %rd15, %r9;
sub.s64 %rd18, %rd110, %rd109;
ld.u64 %rd23, [%rd108+8];
max.s64 %rd24, %rd23, 0;
@!%p4 bra LBB1_11;
bra.uni LBB1_10;
LBB1_10: // %L152
cvta.global.u64 %rd141, %rd329;
{ // callseq 5640, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd141;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5640
{ // callseq 5641, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5641
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_11: // %L155
mul.wide.u32 %rd127, %r9, 8;
mov.u64 %rd128, __dynamic_shmem_687;
sub.s64 %rd25, %rd107, %rd20;
ld.u64 %rd143, [%rd108+16];
st.local.u64 [%rd3+16], %rd143;
ld.u64 %rd144, [%rd108+8];
st.local.u64 [%rd3+8], %rd144;
ld.u64 %rd145, [%rd108];
st.local.u64 [%rd3], %rd145;
st.local.u64 [%rd3+24], %rd107;
st.local.u64 [%rd3+32], %rd24;
st.local.u64 [%rd3+40], %rd25;
st.local.u64 [%rd3+48], %rd20;
setp.le.s64 %p11, %rd18, %rd15;
mov.u64 %rd330, 1;
and.b64 %rd327, %rd18, -4294967296;
cvt.u32.u64 %r51, %rd15;
@%p11 bra LBB1_15;
// %bb.12: // %L190
setp.ne.s64 %p12, %rd327, 0;
@%p12 bra LBB1_14;
bra.uni LBB1_13;
LBB1_14:
div.s64 %rd330, %rd18, %rd15;
bra.uni LBB1_15;
LBB1_13:
cvt.u32.u64 %r15, %rd18;
div.u32 %r16, %r15, %r51;
cvt.u64.u32 %rd330, %r16;
LBB1_15: // %L201
add.s64 %rd16, %rd128, %rd127;
bar.sync 0;
min.s64 %rd29, %rd18, %rd15;
mov.u32 %r2, %tid.x;
add.s32 %r17, %r2, 1;
cvt.u64.u32 %rd30, %r17;
setp.lt.s64 %p13, %rd29, %rd30;
mul.wide.u32 %rd318, %r2, 8;
mul.lo.s64 %rd319, %rd330, %rd30;
mul.lo.s64 %rd320, %rd23, %rd19;
cvt.u64.u32 %rd321, %r1;
@%p13 bra LBB1_23;
// %bb.16: // %L228
add.s64 %rd31, %rd319, %rd109;
setp.gt.s64 %p14, %rd31, 0;
setp.le.s64 %p15, %rd31, %rd24;
and.pred %p16, %p14, %p15;
@%p16 bra LBB1_18;
// %bb.17: // %L248
cvta.global.u64 %rd149, %rd329;
{ // callseq 5642, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd149;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5642
{ // callseq 5643, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5643
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_18: // %L251
mul.lo.s64 %rd32, %rd31, %rd20;
add.s64 %rd150, %rd32, %rd25;
max.s64 %rd152, %rd320, 0;
setp.gt.s64 %p17, %rd150, 0;
setp.le.s64 %p18, %rd150, %rd152;
and.pred %p19, %p17, %p18;
@%p19 bra LBB1_20;
// %bb.19: // %L266
cvta.global.u64 %rd154, %rd329;
{ // callseq 5644, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd154;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5644
{ // callseq 5645, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5645
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_20: // %L269
ld.u64 %rd155, [%rd108+16];
sub.s64 %rd157, %rd321, %rd106;
sub.s64 %rd158, %rd157, %rd20;
add.s64 %rd159, %rd158, %rd32;
shl.b64 %rd160, %rd159, 3;
add.s64 %rd161, %rd160, %rd155;
ld.global.u64 %rd33, [%rd161];
setp.lt.u32 %p20, %r2, %r51;
@%p20 bra LBB1_22;
// %bb.21: // %L297
cvta.global.u64 %rd163, %rd329;
{ // callseq 5646, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd163;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5646
{ // callseq 5647, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5647
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_22: // %L300
add.s64 %rd165, %rd16, %rd318;
st.shared.u64 [%rd165], %rd33;
LBB1_23: // %L307
bar.sync 0;
setp.lt.s64 %p21, %rd29, 0;
@%p21 bra LBB1_36;
// %bb.24: // %L319.preheader
setp.gt.s64 %p22, %rd29, -1;
selp.b64 %rd34, %rd29, -1, %p22;
cvt.u64.u32 %rd35, %r2;
not.b32 %r19, %r2;
and.b32 %r20, %r19, 1;
cvt.u64.u32 %rd36, %r20;
add.s64 %rd37, %rd16, %rd318;
add.s64 %rd38, %rd34, 1;
mov.u64 %rd166, 0;
setp.ge.u32 %p29, %r2, %r51;
mov.u64 %rd331, %rd166;
bra.uni LBB1_25;
LBB1_34: // %L483
// in Loop: Header=BB1_25 Depth=1
st.shared.u64 [%rd37], %rd332;
LBB1_35: // %L490
// in Loop: Header=BB1_25 Depth=1
bar.sync 0;
add.s64 %rd331, %rd331, 1;
setp.ne.s64 %p36, %rd38, %rd331;
@%p36 bra LBB1_25;
bra.uni LBB1_36;
LBB1_25: // %L319
// =>This Inner Loop Header: Depth=1
shr.u64 %rd169, %rd331, 63;
add.s64 %rd170, %rd331, %rd169;
and.b64 %rd171, %rd170, -2;
sub.s64 %rd172, %rd331, %rd171;
setp.eq.s64 %p24, %rd172, %rd36;
selp.b64 %rd40, 0, 2, %p24;
add.s64 %rd41, %rd40, %rd35;
setp.eq.s64 %p25, %rd41, 0;
setp.gt.s64 %p26, %rd41, %rd29;
or.pred %p27, %p25, %p26;
or.pred %p1, %p27, %p13;
mov.u64 %rd332, %rd166;
@%p1 bra LBB1_29;
// %bb.26: // %L374
// in Loop: Header=BB1_25 Depth=1
add.s64 %rd173, %rd41, -1;
setp.lt.u64 %p28, %rd173, %rd15;
@%p28 bra LBB1_28;
// %bb.27: // %L382
// in Loop: Header=BB1_25 Depth=1
cvta.global.u64 %rd175, %rd329;
{ // callseq 5648, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd175;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5648
{ // callseq 5649, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5649
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_28: // %L385
// in Loop: Header=BB1_25 Depth=1
shl.b64 %rd176, %rd40, 3;
add.s64 %rd177, %rd37, %rd176;
ld.shared.u64 %rd332, [%rd177+-8];
LBB1_29: // %L393
// in Loop: Header=BB1_25 Depth=1
bar.sync 0;
@%p1 bra LBB1_35;
// %bb.30: // %L415
// in Loop: Header=BB1_25 Depth=1
setp.le.u64 %p113, %rd41, %rd30;
@%p29 bra LBB1_32;
// %bb.31: // %L450
// in Loop: Header=BB1_25 Depth=1
ld.shared.u64 %rd183, [%rd37];
setp.lt.s64 %p34, %rd183, %rd332;
xor.pred %p35, %p113, %p34;
@%p35 bra LBB1_35;
bra.uni LBB1_34;
LBB1_32: // %L450.thread
// in Loop: Header=BB1_25 Depth=1
cvta.global.u64 %rd179, %rd329;
{ // callseq 5650, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd179;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5650
{ // callseq 5651, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5651
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
ld.shared.u64 %rd180, [%rd37];
setp.lt.s64 %p31, %rd180, %rd332;
xor.pred %p32, %p113, %p31;
@%p32 bra LBB1_35;
// %bb.33: // %L480
// in Loop: Header=BB1_25 Depth=1
{ // callseq 5652, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd179;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5652
{ // callseq 5653, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5653
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
bra.uni LBB1_34;
LBB1_36: // %L502
@%p13 bra LBB1_44;
// %bb.37: // %L515
setp.lt.u32 %p38, %r2, %r51;
@%p38 bra LBB1_39;
// %bb.38: // %L535
cvta.global.u64 %rd185, %rd329;
{ // callseq 5654, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd185;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5654
{ // callseq 5655, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5655
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_39: // %L538
add.s64 %rd187, %rd16, %rd318;
ld.shared.u64 %rd45, [%rd187];
add.s64 %rd46, %rd319, %rd109;
setp.gt.s64 %p39, %rd46, 0;
setp.le.s64 %p40, %rd46, %rd24;
and.pred %p41, %p39, %p40;
@%p41 bra LBB1_41;
// %bb.40: // %L564
cvta.global.u64 %rd190, %rd329;
{ // callseq 5656, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd190;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5656
{ // callseq 5657, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5657
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_41: // %L567
mul.lo.s64 %rd47, %rd46, %rd20;
add.s64 %rd191, %rd47, %rd25;
max.s64 %rd193, %rd320, 0;
setp.gt.s64 %p42, %rd191, 0;
setp.le.s64 %p43, %rd191, %rd193;
and.pred %p44, %p42, %p43;
@%p44 bra LBB1_43;
// %bb.42: // %L582
cvta.global.u64 %rd195, %rd329;
{ // callseq 5658, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd195;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5658
{ // callseq 5659, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5659
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_43: // %L585
ld.u64 %rd196, [%rd108+16];
sub.s64 %rd198, %rd321, %rd106;
sub.s64 %rd199, %rd198, %rd20;
add.s64 %rd200, %rd199, %rd47;
shl.b64 %rd201, %rd200, 3;
add.s64 %rd202, %rd201, %rd196;
st.global.u64 [%rd202], %rd45;
LBB1_44: // %L595
setp.gt.s64 %p45, %rd18, %rd15;
bar.sync 0;
@%p45 bra LBB1_46;
bra.uni LBB1_45;
LBB1_46: // %L610
shr.u32 %r24, %r51, 1;
cvt.u64.u32 %rd48, %r24;
setp.ne.s64 %p46, %rd327, 0;
@%p46 bra LBB1_48;
bra.uni LBB1_47;
LBB1_48:
div.s64 %rd333, %rd18, %rd15;
bra.uni LBB1_49;
LBB1_47:
cvt.u32.u64 %r26, %rd18;
div.u32 %r27, %r26, %r51;
cvt.u64.u32 %rd333, %r27;
LBB1_49:
mul.lo.s64 %rd204, %rd333, %rd48;
add.s64 %rd52, %rd204, %rd109;
setp.gt.s64 %p47, %rd52, 0;
setp.le.s64 %p48, %rd52, %rd24;
and.pred %p49, %p47, %p48;
@%p49 bra LBB1_51;
// %bb.50: // %L641
cvta.global.u64 %rd206, %rd329;
{ // callseq 5660, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd206;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5660
{ // callseq 5661, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5661
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_51: // %L644
ld.param.u8 %rs3, [julia_qsort_kernel_24434_param_3];
mul.lo.s64 %rd53, %rd52, %rd20;
add.s64 %rd207, %rd53, %rd25;
max.s64 %rd54, %rd320, 0;
setp.gt.s64 %p50, %rd207, 0;
setp.le.s64 %p51, %rd207, %rd54;
and.pred %p52, %p50, %p51;
@%p52 bra LBB1_53;
// %bb.52: // %L659
cvta.global.u64 %rd210, %rd329;
{ // callseq 5662, 0
.reg .b32 temp_param_reg;
.param .b64 param0;
st.param.b64 [param0+0], %rd210;
call.uni
gpu_report_exception,
(
param0
);
} // callseq 5662
{ // callseq 5663, 0
.reg .b32 temp_param_reg;
call.uni
gpu_signal_exception,
(
);
} // callseq 5663
// begin inline asm
exit;
// end inline asm
// begin inline asm
exit;
// end inline asm
LBB1_53: // %L662
ld.u64 %rd55, [%rd108+16];
sub.s64 %rd212, %rd321, %rd106;
sub.s64 %rd56, %rd212, %rd20;
add.s64 %rd213, %rd53, %rd56;
shl.b64 %rd214, %rd213, 3;
add.s64 %rd215, %rd214, %rd55;
ld.global.u64 %rd57, [%rd215];
setp.eq.s32 %p53, %r2, 0;
cvt.rn.f64.s64 %fd10, %rd18;
cvt.u32.u16 %r50, %rs3;
@%p53 bra LBB1_55;
// %bb.54: // %L662.L756_crit_edge
cvt.rn.f64.u32 %fd5, %r51;
div.rn.f64 %fd6, %fd10, %fd5;
cvt.rpi.f64.f64 %fd11, %fd6;
bra.uni LBB1_58;
LBB1_55: // %L684
add.u64 %rd116, %SP, 64;
add.u64 %rd4, %SPL, 64;
cvt.rn.f64.u32 %fd8, %r51;
div.rn.f64 %fd9, %fd10, %fd8;
cvt.rpi.f64.f64 %fd11, %fd9;
setp.ltu.f6
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment