Package evaluation to test VLBILikelihoods on Julia 1.14.0-DEV.36 (e2f3178d9b*) started at 2025-11-06T18:54:44.597 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 7.16s ################################################################################ # Installation # Installing VLBILikelihoods... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [90db92cd] + VLBILikelihoods v0.2.9 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.42 [79e6a3ab] + Adapt v4.4.0 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.22.0 [0e736298] + Bessels v0.2.8 [d360d2e6] + ChainRulesCore v1.26.0 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [6d8c423b] + ComradeBase v0.9.4 [187b0558] + ConstructionBase v1.6.0 [9a962f9c] + DataAPI v1.16.0 [864edb3b] + DataStructures v0.19.3 [e2d170a0] + DataValueInterfaces v1.0.0 [b429d917] + DensityInterface v0.4.0 [0703355e] + DimensionalData v0.29.24 [31c24e10] + Distributions v0.25.122 [ffbed154] + DocStringExtensions v0.9.5 [f151be2c] + EnzymeCore v0.8.15 [411431e0] + Extents v0.1.6 [1a297f60] + FillArrays v1.15.0 [34004b35] + HypergeometricFunctions v0.3.28 [85a1e053] + Interfaces v0.3.2 [8197267c] + IntervalSets v0.7.11 [3587e190] + InverseFunctions v0.1.17 [41ab1584] + InvertedIndices v1.3.1 [92d709cd] + IrrationalConstants v0.2.6 [82899510] + IteratorInterfaceExtensions v1.0.0 [692b3bcd] + JLLWrappers v1.7.1 [2ab3a3ac] + LogExpFunctions v0.3.29 [1914dd2f] + MacroTools v0.5.16 [e1d29d7a] + Missings v1.2.0 [bac558e1] + OrderedCollections v1.8.1 [90014a1f] + PDMats v0.11.36 [d3c5d4cd] + PolarizedTypes v0.1.2 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.0 [43287f4e] + PtrArrays v1.3.0 [1fd47b50] + QuadGK v2.11.2 [3cdcf5f2] + RecipesBase v1.3.4 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.9.0 [a2af1166] + SortingAlgorithms v1.2.2 [276daf66] + SpecialFunctions v2.6.1 [90137ffa] + StaticArrays v1.9.15 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.7.1 [2913bbd2] + StatsBase v0.34.7 [4c63d2b9] + StatsFuns v1.5.2 [09ab397b] + StructArrays v0.7.2 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [90db92cd] + VLBILikelihoods v0.2.9 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.12.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.11.0 [4607b0f0] + SuiteSparse [fa267f1f] + TOML v1.0.3 [8dfed614] + Test v1.11.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [4536629a] + OpenBLAS_jll v0.3.29+0 [05823500] + OpenLibm_jll v0.8.7+0 [bea87d4a] + SuiteSparse_jll v7.10.1+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Installation completed after 4.29s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... ┌ Error: Failed to use TestEnv.jl; test dependencies will not be precompiled │ exception = │ UndefVarError: `project_rel_path` not defined in `TestEnv` │ Suggestion: this global was defined as `Pkg.Operations.project_rel_path` but not assigned a value. │ Stacktrace: │ [1] get_test_dir(ctx::Pkg.Types.Context, pkgspec::PackageSpec) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:75 │ [2] test_dir_has_project_file │ @ ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:52 [inlined] │ [3] maybe_gen_project_override! │ @ ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/common.jl:83 [inlined] │ [4] activate(pkg::String; allow_reresolve::Bool) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/activate_set.jl:12 │ [5] activate(pkg::String) │ @ TestEnv ~/.julia/packages/TestEnv/nGMfF/src/julia-1.11/activate_set.jl:9 │ [6] top-level scope │ @ /PkgEval.jl/scripts/precompile.jl:24 │ [7] include(mod::Module, _path::String) │ @ Base ./Base.jl:309 │ [8] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:344 │ [9] _start() │ @ Base ./client.jl:577 └ @ Main /PkgEval.jl/scripts/precompile.jl:26 Precompiling package dependencies... Precompiling packages... 1774.9 ms ✓ PDMats → StatsBaseExt 3029.7 ms ✓ PolarizedTypes 19061.5 ms ✓ DimensionalData 2294.0 ms ✓ HypergeometricFunctions 2052.0 ms ✓ DimensionalData → DimensionalDataSparseArraysExt 2396.7 ms ✓ DimensionalData → DimensionalDataStatsBase 1184.9 ms ✓ DimensionalData → DimensionalDataChainRulesCoreExt 2303.3 ms ✓ StatsFuns 6192.1 ms ✓ ComradeBase 2857.6 ms ✓ StatsFuns → StatsFunsChainRulesCoreExt 875.0 ms ✓ StatsFuns → StatsFunsInverseFunctionsExt 8258.5 ms ✓ Distributions 2173.2 ms ✓ ComradeBase → ComradeBaseAdaptExt 3242.8 ms ✓ Distributions → DistributionsTestExt 2535.3 ms ✓ Distributions → DistributionsDensityInterfaceExt 2751.7 ms ✓ Distributions → DistributionsChainRulesCoreExt 5068.9 ms ✓ VLBILikelihoods 17 dependencies successfully precompiled in 69 seconds. 101 already precompiled. Precompilation completed after 77.77s ################################################################################ # Testing # Testing VLBILikelihoods Status `/tmp/jl_VZIu4e/Project.toml` [d360d2e6] ChainRulesCore v1.26.0 [cdddcdb0] ChainRulesTestUtils v1.13.1 [6d8c423b] ComradeBase v0.9.4 [31c24e10] Distributions v0.25.122 [7da242da] Enzyme v0.13.96 [12d8515a] EnzymeTestUtils v0.2.5 [26cc04aa] FiniteDifferences v0.12.33 [90137ffa] StaticArrays v1.9.15 [09ab397b] StructArrays v0.7.2 [90db92cd] VLBILikelihoods v0.2.9 [e88e6eb3] Zygote v0.7.10 [37e2e46d] LinearAlgebra v1.13.0 [9e88b42a] Serialization v1.11.0 [2f01184e] SparseArrays v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_VZIu4e/Manifest.toml` [621f4979] AbstractFFTs v1.5.0 [7d9f7c33] Accessors v0.1.42 [79e6a3ab] Adapt v4.4.0 [66dad0bd] AliasTables v1.1.3 [4fba245c] ArrayInterface v7.22.0 [0e736298] Bessels v0.2.8 [fa961155] CEnum v0.5.0 [082447d4] ChainRules v1.72.6 [d360d2e6] ChainRulesCore v1.26.0 [cdddcdb0] ChainRulesTestUtils v1.13.1 [bbf7d656] CommonSubexpressions v0.3.1 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [6d8c423b] ComradeBase v0.9.4 [187b0558] ConstructionBase v1.6.0 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.19.3 [e2d170a0] DataValueInterfaces v1.0.0 [b429d917] DensityInterface v0.4.0 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [0703355e] DimensionalData v0.29.24 [31c24e10] Distributions v0.25.122 [ffbed154] DocStringExtensions v0.9.5 [7da242da] Enzyme v0.13.96 [f151be2c] EnzymeCore v0.8.15 [12d8515a] EnzymeTestUtils v0.2.5 [e2ba6199] ExprTools v0.1.10 [411431e0] Extents v0.1.6 [1a297f60] FillArrays v1.15.0 [26cc04aa] FiniteDifferences v0.12.33 [f6369f11] ForwardDiff v1.2.2 [46192b85] GPUArraysCore v0.2.0 [61eb1bfa] GPUCompiler v1.7.2 [34004b35] HypergeometricFunctions v0.3.28 [7869d1d1] IRTools v0.4.15 [85a1e053] Interfaces v0.3.2 [8197267c] IntervalSets v0.7.11 [3587e190] InverseFunctions v0.1.17 [41ab1584] InvertedIndices v1.3.1 [92d709cd] IrrationalConstants v0.2.6 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.1 [929cbde3] LLVM v9.4.4 [2ab3a3ac] LogExpFunctions v0.3.29 [1914dd2f] MacroTools v0.5.16 [e1d29d7a] Missings v1.2.0 [77ba4419] NaNMath v1.1.3 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [90014a1f] PDMats v0.11.36 [d3c5d4cd] PolarizedTypes v0.1.2 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [43287f4e] PtrArrays v1.3.0 [1fd47b50] QuadGK v2.11.2 [c1ae055f] RealDot v0.1.0 [3cdcf5f2] RecipesBase v1.3.4 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [708f8203] Richardson v1.4.2 [79098fc4] Rmath v0.9.0 [6c6a2e73] Scratch v1.3.0 [a2af1166] SortingAlgorithms v1.2.2 [dc90abb0] SparseInverseSubset v0.1.2 [276daf66] SpecialFunctions v2.6.1 [90137ffa] StaticArrays v1.9.15 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.7.1 [2913bbd2] StatsBase v0.34.7 [4c63d2b9] StatsFuns v1.5.2 [09ab397b] StructArrays v0.7.2 [53d494c1] StructIO v0.3.1 [fd094767] Suppressor v0.2.8 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [e689c965] Tracy v0.1.6 [90db92cd] VLBILikelihoods v0.2.9 [e88e6eb3] Zygote v0.7.10 [700de1a5] ZygoteRules v0.2.7 ⌅ [7cc45869] Enzyme_jll v0.0.207+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.9.1+6 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.13.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.11.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.16.0+0 [e37daf67] LibGit2_jll v1.9.1+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.11.4 [4536629a] OpenBLAS_jll v0.3.29+0 [05823500] OpenLibm_jll v0.8.7+0 [458c3c95] OpenSSL_jll v3.5.4+0 [efcefdf7] PCRE2_jll v10.47.0+0 [bea87d4a] SuiteSparse_jll v7.10.1+0 [83775a58] Zlib_jll v1.3.1+2 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 [3f19e933] p7zip_jll v17.6.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... ┌ Warning: inference tests have been disabled └ @ ChainRulesTestUtils ~/.julia/packages/ChainRulesTestUtils/RZidV/src/global_config.jl:13 test_reverse: \ with return activity Duplicated on (::VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, Const), (::Vector{Float64}, Duplicated): Error During Test at /home/pkgeval/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:86 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline define internal i64 @julia__nextind_continued_75792(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(24) %"s::SubString", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.s, i64 signext %"i::Int64", i64 signext %"n::Int64", i8 zeroext %"l::UInt8") #74 !dbg !5057 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !195, !alias.scope !302, !noalias !303 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !195 %1 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %1 monotonic, align 8, !tbaa !199 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %2 = getelementptr inbounds i8, ptr %.roots.s, i32 0 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !199, !alias.scope !215, !noalias !218 %4 = icmp ult i8 %"l::UInt8", -64, !dbg !5058 %5 = xor i1 %4, true, !dbg !5060 br i1 %5, label %top.L62_crit_edge, label %L3, !dbg !5060 top.L62_crit_edge: ; preds = %top br label %L62, !dbg !5060 L3: ; preds = %top %6 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !5061 store ptr addrspace(10) %3, ptr %6, align 8, !dbg !5061 %7 = call i64 @julia_thisind_75781(ptr addrspace(11) nocapture readonly %"s::SubString", ptr nocapture readonly %0, i64 signext %"i::Int64"), !dbg !5061 %8 = icmp sle i64 %"i::Int64", %7, !dbg !5062 %9 = xor i1 %8, true, !dbg !5066 br i1 %9, label %L8, label %L6, !dbg !5066 L6: ; preds = %L3 %10 = add i64 %"i::Int64", 1, !dbg !5067 ret i64 %10, !dbg !5066 L8: ; preds = %L3 br i1 false, label %L23, label %L10, !dbg !5069 L10: ; preds = %L8 %11 = icmp sle i64 1, %7, !dbg !5072 %12 = xor i1 %11, true, !dbg !5073 br i1 %12, label %L15, label %L12, !dbg !5073 L12: ; preds = %L10 %13 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5076 %.unbox = load i64, ptr addrspace(11) %13, align 8, !dbg !5072, !tbaa !199, !alias.scope !215, !noalias !218 %14 = icmp sle i64 %7, %.unbox, !dbg !5072 %15 = zext i1 %14 to i8 br label %L16, !dbg !5072 L15: ; preds = %L10 br label %L16, !dbg !5075 L16: ; preds = %L15, %L12 %value_phi = phi i8 [ %15, %L12 ], [ 0, %L15 ] %16 = trunc i8 %value_phi to i1, !dbg !5075 %17 = xor i1 %16, true, !dbg !5075 br i1 %17, label %L19, label %L18, !dbg !5075 L18: ; preds = %L16 br label %L22, !dbg !5075 L19: ; preds = %L16 %"-Core.BoundsError#7520368" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %18 = addrspacecast ptr %"-Core.BoundsError#7520368" to ptr addrspace(10), !dbg !5075 %"+Core.BoundsError#7502769" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %19 = addrspacecast ptr %"+Core.BoundsError#7502769" to ptr addrspace(10), !dbg !5075 %"+Main.Base.SubString#7539770" = load ptr, ptr @_Main_Base_SubString_75397, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString71 = ptrtoint ptr %"+Main.Base.SubString#7539770" to i64, !dbg !5075 %20 = inttoptr i64 %SubString71 to ptr, !dbg !5075 %current_task72 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5075 %21 = addrspacecast ptr %20 to ptr addrspace(10), !dbg !5075 %"box::SubString73" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task72, i64 24, ptr addrspace(10) %21) #227, !dbg !5075 %22 = addrspacecast ptr addrspace(10) %"box::SubString73" to ptr addrspace(11), !dbg !5075 %23 = getelementptr inbounds i8, ptr addrspace(11) %22, i32 0, !dbg !5075 store atomic ptr addrspace(10) %3, ptr addrspace(11) %23 unordered, align 8, !dbg !5075, !tbaa !256, !alias.scope !260, !noalias !261 %24 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5075 %25 = getelementptr inbounds i8, ptr addrspace(11) %22, i32 8, !dbg !5075 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %25, ptr addrspace(11) align 8 %24, i64 16, i1 false), !dbg !5075, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6474 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %7) #228, !dbg !5075 %26 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %18, ptr addrspace(10) %19, ptr addrspace(10) %"box::SubString73", ptr addrspace(10) %box_Int6474), !dbg !5075 %27 = addrspacecast ptr addrspace(10) %26 to ptr addrspace(12), !dbg !5075 call void @ijl_throw(ptr addrspace(12) %27), !dbg !5075 unreachable, !dbg !5075 L22: ; preds = %L18 br label %L23, !dbg !5075 L23: ; preds = %L22, %L8 %28 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5080 %.unbox1 = load i64, ptr addrspace(11) %28, align 8, !dbg !5082, !tbaa !199, !alias.scope !215, !noalias !218 %29 = add i64 %.unbox1, %7, !dbg !5082 br i1 false, label %L41, label %L28, !dbg !5083 L28: ; preds = %L23 %30 = icmp sle i64 1, %29, !dbg !5085 %31 = xor i1 %30, true, !dbg !5086 br i1 %31, label %L33, label %L30, !dbg !5086 L30: ; preds = %L28 %sizeof = load i64, ptr addrspace(10) %3, align 8, !dbg !5088, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %32 = icmp sle i64 %29, %sizeof, !dbg !5085 %33 = zext i1 %32 to i8 br label %L34, !dbg !5085 L33: ; preds = %L28 br label %L34, !dbg !5087 L34: ; preds = %L33, %L30 %value_phi2 = phi i8 [ %33, %L30 ], [ 0, %L33 ] %34 = trunc i8 %value_phi2 to i1, !dbg !5087 %35 = xor i1 %34, true, !dbg !5087 br i1 %35, label %L37, label %L36, !dbg !5087 L36: ; preds = %L34 br label %L40, !dbg !5087 L37: ; preds = %L34 %"-Core.BoundsError#7520363" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5087, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %36 = addrspacecast ptr %"-Core.BoundsError#7520363" to ptr addrspace(10), !dbg !5087 %"+Core.BoundsError#7502764" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5087, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %37 = addrspacecast ptr %"+Core.BoundsError#7502764" to ptr addrspace(10), !dbg !5087 %box_Int6465 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %29) #228, !dbg !5087 %38 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %36, ptr addrspace(10) %37, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6465), !dbg !5087 %39 = addrspacecast ptr addrspace(10) %38 to ptr addrspace(12), !dbg !5087 call void @ijl_throw(ptr addrspace(12) %39), !dbg !5087 unreachable, !dbg !5087 L40: ; preds = %L36 br label %L41, !dbg !5087 L41: ; preds = %L40, %L23 %40 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5090 %41 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5091 %42 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %41) #229, !dbg !5091 %string_ptr = getelementptr inbounds i8, ptr %42, i32 8, !dbg !5091 %43 = getelementptr i8, ptr %string_ptr, i64 %29, !dbg !5096 %44 = getelementptr i8, ptr %43, i64 -1, !dbg !5098 %45 = getelementptr inbounds i8, ptr %44, i64 0, !dbg !5100 %pointerref = load i8, ptr %45, align 1, !dbg !5100, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %40), !dbg !5090 br label %L49, !dbg !5103 L49: ; preds = %L41 br label %L50, !dbg !5081 L50: ; preds = %L49 %46 = icmp ult i8 %pointerref, -128, !dbg !5104 %47 = icmp ule i8 -8, %pointerref, !dbg !5106 %48 = or i1 %46, %47, !dbg !5107 %49 = xor i1 %48, true, !dbg !5105 br i1 %49, label %L56, label %L54, !dbg !5105 L54: ; preds = %L50 %50 = add i64 %7, 1, !dbg !5109 ret i64 %50, !dbg !5105 L56: ; preds = %L50 %51 = icmp ule i8 -64, %pointerref, !dbg !5110 %52 = xor i1 %51, true, !dbg !5112 br i1 %52, label %L59, label %L58, !dbg !5112 L58: ; preds = %L56 br label %L62, !dbg !5112 L59: ; preds = %L56 %"jl_global#75413" = load ptr, ptr @jl_global_75413, align 8, !dbg !5112, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0 %53 = addrspacecast ptr %"jl_global#75413" to ptr addrspace(10), !dbg !5112 %54 = call [1 x ptr addrspace(10)] @julia_AssertionError_75213(ptr addrspace(10) %53), !dbg !5112 %"+Core.AssertionError#75193" = load ptr, ptr @_Core_AssertionError_75193, align 8, !dbg !5112, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %AssertionError = ptrtoint ptr %"+Core.AssertionError#75193" to i64, !dbg !5112 %55 = inttoptr i64 %AssertionError to ptr, !dbg !5112 %current_task60 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5112 %56 = addrspacecast ptr %55 to ptr addrspace(10), !dbg !5112 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task60, i64 8, ptr addrspace(10) %56) #227, !dbg !5112 %57 = addrspacecast ptr addrspace(10) %"box::AssertionError" to ptr addrspace(11), !dbg !5112 store [1 x ptr addrspace(10)] %54, ptr addrspace(11) %57, align 8, !dbg !5112, !tbaa !256, !alias.scope !260, !noalias !261 %58 = addrspacecast ptr addrspace(10) %"box::AssertionError" to ptr addrspace(12), !dbg !5112 call void @ijl_throw(ptr addrspace(12) %58), !dbg !5112 unreachable, !dbg !5112 L62: ; preds = %top.L62_crit_edge, %L58 %value_phi3 = phi i64 [ %7, %L58 ], [ %"i::Int64", %top.L62_crit_edge ] %value_phi4 = phi i8 [ %pointerref, %L58 ], [ %"l::UInt8", %top.L62_crit_edge ] %59 = add i64 %value_phi3, 1, !dbg !5113 %60 = icmp slt i64 %"n::Int64", %59, !dbg !5115 %61 = xor i1 %60, true, !dbg !5114 br i1 %61, label %L68, label %L67, !dbg !5114 L67: ; preds = %L62 ret i64 %59, !dbg !5114 L68: ; preds = %L62 br i1 false, label %L83, label %L70, !dbg !5118 L70: ; preds = %L68 %62 = icmp sle i64 1, %59, !dbg !5120 %63 = xor i1 %62, true, !dbg !5121 br i1 %63, label %L75, label %L72, !dbg !5121 L72: ; preds = %L70 %64 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5123 %.unbox5 = load i64, ptr addrspace(11) %64, align 8, !dbg !5120, !tbaa !199, !alias.scope !215, !noalias !218 %65 = icmp sle i64 %59, %.unbox5, !dbg !5120 %66 = zext i1 %65 to i8 br label %L76, !dbg !5120 L75: ; preds = %L70 br label %L76, !dbg !5122 L76: ; preds = %L75, %L72 %value_phi6 = phi i8 [ %66, %L72 ], [ 0, %L75 ] %67 = trunc i8 %value_phi6 to i1, !dbg !5122 %68 = xor i1 %67, true, !dbg !5122 br i1 %68, label %L79, label %L78, !dbg !5122 L78: ; preds = %L76 br label %L82, !dbg !5122 L79: ; preds = %L76 %"-Core.BoundsError#7520351" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %69 = addrspacecast ptr %"-Core.BoundsError#7520351" to ptr addrspace(10), !dbg !5122 %"+Core.BoundsError#7502752" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %70 = addrspacecast ptr %"+Core.BoundsError#7502752" to ptr addrspace(10), !dbg !5122 %"+Main.Base.SubString#7539753" = load ptr, ptr @_Main_Base_SubString_75397, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString54 = ptrtoint ptr %"+Main.Base.SubString#7539753" to i64, !dbg !5122 %71 = inttoptr i64 %SubString54 to ptr, !dbg !5122 %current_task55 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5122 %72 = addrspacecast ptr %71 to ptr addrspace(10), !dbg !5122 %"box::SubString56" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task55, i64 24, ptr addrspace(10) %72) #227, !dbg !5122 %73 = addrspacecast ptr addrspace(10) %"box::SubString56" to ptr addrspace(11), !dbg !5122 %74 = getelementptr inbounds i8, ptr addrspace(11) %73, i32 0, !dbg !5122 store atomic ptr addrspace(10) %3, ptr addrspace(11) %74 unordered, align 8, !dbg !5122, !tbaa !256, !alias.scope !260, !noalias !261 %75 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5122 %76 = getelementptr inbounds i8, ptr addrspace(11) %73, i32 8, !dbg !5122 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %76, ptr addrspace(11) align 8 %75, i64 16, i1 false), !dbg !5122, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6457 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %59) #228, !dbg !5122 %77 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %69, ptr addrspace(10) %70, ptr addrspace(10) %"box::SubString56", ptr addrspace(10) %box_Int6457), !dbg !5122 %78 = addrspacecast ptr addrspace(10) %77 to ptr addrspace(12), !dbg !5122 call void @ijl_throw(ptr addrspace(12) %78), !dbg !5122 unreachable, !dbg !5122 L82: ; preds = %L78 br label %L83, !dbg !5122 L83: ; preds = %L82, %L68 %79 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5125 %.unbox7 = load i64, ptr addrspace(11) %79, align 8, !dbg !5127, !tbaa !199, !alias.scope !215, !noalias !218 %80 = add i64 %.unbox7, %59, !dbg !5127 br i1 false, label %L101, label %L88, !dbg !5128 L88: ; preds = %L83 %81 = icmp sle i64 1, %80, !dbg !5129 %82 = xor i1 %81, true, !dbg !5130 br i1 %82, label %L93, label %L90, !dbg !5130 L90: ; preds = %L88 %sizeof8 = load i64, ptr addrspace(10) %3, align 8, !dbg !5132, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %83 = icmp sle i64 %80, %sizeof8, !dbg !5129 %84 = zext i1 %83 to i8 br label %L94, !dbg !5129 L93: ; preds = %L88 br label %L94, !dbg !5131 L94: ; preds = %L93, %L90 %value_phi9 = phi i8 [ %84, %L90 ], [ 0, %L93 ] %85 = trunc i8 %value_phi9 to i1, !dbg !5131 %86 = xor i1 %85, true, !dbg !5131 br i1 %86, label %L97, label %L96, !dbg !5131 L96: ; preds = %L94 br label %L100, !dbg !5131 L97: ; preds = %L94 %"-Core.BoundsError#7520346" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5131, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %87 = addrspacecast ptr %"-Core.BoundsError#7520346" to ptr addrspace(10), !dbg !5131 %"+Core.BoundsError#7502747" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5131, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %88 = addrspacecast ptr %"+Core.BoundsError#7502747" to ptr addrspace(10), !dbg !5131 %box_Int6448 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %80) #228, !dbg !5131 %89 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %87, ptr addrspace(10) %88, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6448), !dbg !5131 %90 = addrspacecast ptr addrspace(10) %89 to ptr addrspace(12), !dbg !5131 call void @ijl_throw(ptr addrspace(12) %90), !dbg !5131 unreachable, !dbg !5131 L100: ; preds = %L96 br label %L101, !dbg !5131 L101: ; preds = %L100, %L83 %91 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5133 %92 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5134 %93 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %92) #229, !dbg !5134 %string_ptr10 = getelementptr inbounds i8, ptr %93, i32 8, !dbg !5134 %94 = getelementptr i8, ptr %string_ptr10, i64 %80, !dbg !5137 %95 = getelementptr i8, ptr %94, i64 -1, !dbg !5138 %96 = getelementptr inbounds i8, ptr %95, i64 0, !dbg !5139 %pointerref11 = load i8, ptr %96, align 1, !dbg !5139, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %91), !dbg !5133 br label %L109, !dbg !5141 L109: ; preds = %L101 br label %L110, !dbg !5126 L110: ; preds = %L109 %97 = and i8 %pointerref11, -64, !dbg !5142 %98 = icmp eq i8 %97, -128, !dbg !5145 %99 = xor i1 %98, true, !dbg !5149 %100 = xor i1 %99, true, !dbg !5144 br i1 %100, label %L115, label %L114, !dbg !5144 L114: ; preds = %L110 ret i64 %59, !dbg !5144 L115: ; preds = %L110 %101 = add i64 %59, 1, !dbg !5151 %102 = icmp slt i64 %"n::Int64", %101, !dbg !5153 %103 = icmp ult i8 %value_phi4, -32, !dbg !5155 %104 = or i1 %102, %103, !dbg !5156 %105 = xor i1 %104, true, !dbg !5152 br i1 %105, label %L121, label %L120, !dbg !5152 L120: ; preds = %L115 ret i64 %101, !dbg !5152 L121: ; preds = %L115 br i1 false, label %L136, label %L123, !dbg !5157 L123: ; preds = %L121 %106 = icmp sle i64 1, %101, !dbg !5159 %107 = xor i1 %106, true, !dbg !5160 br i1 %107, label %L128, label %L125, !dbg !5160 L125: ; preds = %L123 %108 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5162 %.unbox12 = load i64, ptr addrspace(11) %108, align 8, !dbg !5159, !tbaa !199, !alias.scope !215, !noalias !218 %109 = icmp sle i64 %101, %.unbox12, !dbg !5159 %110 = zext i1 %109 to i8 br label %L129, !dbg !5159 L128: ; preds = %L123 br label %L129, !dbg !5161 L129: ; preds = %L128, %L125 %value_phi13 = phi i8 [ %110, %L125 ], [ 0, %L128 ] %111 = trunc i8 %value_phi13 to i1, !dbg !5161 %112 = xor i1 %111, true, !dbg !5161 br i1 %112, label %L132, label %L131, !dbg !5161 L131: ; preds = %L129 br label %L135, !dbg !5161 L132: ; preds = %L129 %"-Core.BoundsError#7520337" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %113 = addrspacecast ptr %"-Core.BoundsError#7520337" to ptr addrspace(10), !dbg !5161 %"+Core.BoundsError#7502738" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %114 = addrspacecast ptr %"+Core.BoundsError#7502738" to ptr addrspace(10), !dbg !5161 %"+Main.Base.SubString#7539739" = load ptr, ptr @_Main_Base_SubString_75397, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString40 = ptrtoint ptr %"+Main.Base.SubString#7539739" to i64, !dbg !5161 %115 = inttoptr i64 %SubString40 to ptr, !dbg !5161 %current_task41 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5161 %116 = addrspacecast ptr %115 to ptr addrspace(10), !dbg !5161 %"box::SubString42" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task41, i64 24, ptr addrspace(10) %116) #227, !dbg !5161 %117 = addrspacecast ptr addrspace(10) %"box::SubString42" to ptr addrspace(11), !dbg !5161 %118 = getelementptr inbounds i8, ptr addrspace(11) %117, i32 0, !dbg !5161 store atomic ptr addrspace(10) %3, ptr addrspace(11) %118 unordered, align 8, !dbg !5161, !tbaa !256, !alias.scope !260, !noalias !261 %119 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5161 %120 = getelementptr inbounds i8, ptr addrspace(11) %117, i32 8, !dbg !5161 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %120, ptr addrspace(11) align 8 %119, i64 16, i1 false), !dbg !5161, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6443 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %101) #228, !dbg !5161 %121 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %113, ptr addrspace(10) %114, ptr addrspace(10) %"box::SubString42", ptr addrspace(10) %box_Int6443), !dbg !5161 %122 = addrspacecast ptr addrspace(10) %121 to ptr addrspace(12), !dbg !5161 call void @ijl_throw(ptr addrspace(12) %122), !dbg !5161 unreachable, !dbg !5161 L135: ; preds = %L131 br label %L136, !dbg !5161 L136: ; preds = %L135, %L121 %123 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5164 %.unbox14 = load i64, ptr addrspace(11) %123, align 8, !dbg !5166, !tbaa !199, !alias.scope !215, !noalias !218 %124 = add i64 %.unbox14, %101, !dbg !5166 br i1 false, label %L154, label %L141, !dbg !5167 L141: ; preds = %L136 %125 = icmp sle i64 1, %124, !dbg !5168 %126 = xor i1 %125, true, !dbg !5169 br i1 %126, label %L146, label %L143, !dbg !5169 L143: ; preds = %L141 %sizeof15 = load i64, ptr addrspace(10) %3, align 8, !dbg !5171, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %127 = icmp sle i64 %124, %sizeof15, !dbg !5168 %128 = zext i1 %127 to i8 br label %L147, !dbg !5168 L146: ; preds = %L141 br label %L147, !dbg !5170 L147: ; preds = %L146, %L143 %value_phi16 = phi i8 [ %128, %L143 ], [ 0, %L146 ] %129 = trunc i8 %value_phi16 to i1, !dbg !5170 %130 = xor i1 %129, true, !dbg !5170 br i1 %130, label %L150, label %L149, !dbg !5170 L149: ; preds = %L147 br label %L153, !dbg !5170 L150: ; preds = %L147 %"-Core.BoundsError#7520332" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5170, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %131 = addrspacecast ptr %"-Core.BoundsError#7520332" to ptr addrspace(10), !dbg !5170 %"+Core.BoundsError#7502733" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5170, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %132 = addrspacecast ptr %"+Core.BoundsError#7502733" to ptr addrspace(10), !dbg !5170 %box_Int6434 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %124) #228, !dbg !5170 %133 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %131, ptr addrspace(10) %132, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6434), !dbg !5170 %134 = addrspacecast ptr addrspace(10) %133 to ptr addrspace(12), !dbg !5170 call void @ijl_throw(ptr addrspace(12) %134), !dbg !5170 unreachable, !dbg !5170 L153: ; preds = %L149 br label %L154, !dbg !5170 L154: ; preds = %L153, %L136 %135 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5172 %136 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5173 %137 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %136) #229, !dbg !5173 %string_ptr17 = getelementptr inbounds i8, ptr %137, i32 8, !dbg !5173 %138 = getelementptr i8, ptr %string_ptr17, i64 %124, !dbg !5176 %139 = getelementptr i8, ptr %138, i64 -1, !dbg !5177 %140 = getelementptr inbounds i8, ptr %139, i64 0, !dbg !5178 %pointerref18 = load i8, ptr %140, align 1, !dbg !5178, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %135), !dbg !5172 br label %L162, !dbg !5180 L162: ; preds = %L154 br label %L163, !dbg !5165 L163: ; preds = %L162 %141 = and i8 %pointerref18, -64, !dbg !5181 %142 = icmp eq i8 %141, -128, !dbg !5183 %143 = xor i1 %142, true, !dbg !5185 %144 = xor i1 %143, true, !dbg !5182 br i1 %144, label %L168, label %L167, !dbg !5182 L167: ; preds = %L163 ret i64 %101, !dbg !5182 L168: ; preds = %L163 %145 = add i64 %101, 1, !dbg !5186 %146 = icmp slt i64 %"n::Int64", %145, !dbg !5188 %147 = icmp ult i8 %value_phi4, -16, !dbg !5190 %148 = or i1 %146, %147, !dbg !5191 %149 = xor i1 %148, true, !dbg !5187 br i1 %149, label %L174, label %L173, !dbg !5187 L173: ; preds = %L168 ret i64 %145, !dbg !5187 L174: ; preds = %L168 br i1 false, label %L189, label %L176, !dbg !5192 L176: ; preds = %L174 %150 = icmp sle i64 1, %145, !dbg !5194 %151 = xor i1 %150, true, !dbg !5195 br i1 %151, label %L181, label %L178, !dbg !5195 L178: ; preds = %L176 %152 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5197 %.unbox19 = load i64, ptr addrspace(11) %152, align 8, !dbg !5194, !tbaa !199, !alias.scope !215, !noalias !218 %153 = icmp sle i64 %145, %.unbox19, !dbg !5194 %154 = zext i1 %153 to i8 br label %L182, !dbg !5194 L181: ; preds = %L176 br label %L182, !dbg !5196 L182: ; preds = %L181, %L178 %value_phi20 = phi i8 [ %154, %L178 ], [ 0, %L181 ] %155 = trunc i8 %value_phi20 to i1, !dbg !5196 %156 = xor i1 %155, true, !dbg !5196 br i1 %156, label %L185, label %L184, !dbg !5196 L184: ; preds = %L182 br label %L188, !dbg !5196 L185: ; preds = %L182 %"-Core.BoundsError#7520326" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %157 = addrspacecast ptr %"-Core.BoundsError#7520326" to ptr addrspace(10), !dbg !5196 %"+Core.BoundsError#7502727" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %158 = addrspacecast ptr %"+Core.BoundsError#7502727" to ptr addrspace(10), !dbg !5196 %"+Main.Base.SubString#75397" = load ptr, ptr @_Main_Base_SubString_75397, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString = ptrtoint ptr %"+Main.Base.SubString#75397" to i64, !dbg !5196 %159 = inttoptr i64 %SubString to ptr, !dbg !5196 %current_task28 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5196 %160 = addrspacecast ptr %159 to ptr addrspace(10), !dbg !5196 %"box::SubString" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task28, i64 24, ptr addrspace(10) %160) #227, !dbg !5196 %161 = addrspacecast ptr addrspace(10) %"box::SubString" to ptr addrspace(11), !dbg !5196 %162 = getelementptr inbounds i8, ptr addrspace(11) %161, i32 0, !dbg !5196 store atomic ptr addrspace(10) %3, ptr addrspace(11) %162 unordered, align 8, !dbg !5196, !tbaa !256, !alias.scope !260, !noalias !261 %163 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5196 %164 = getelementptr inbounds i8, ptr addrspace(11) %161, i32 8, !dbg !5196 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %164, ptr addrspace(11) align 8 %163, i64 16, i1 false), !dbg !5196, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6429 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %145) #228, !dbg !5196 %165 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %157, ptr addrspace(10) %158, ptr addrspace(10) %"box::SubString", ptr addrspace(10) %box_Int6429), !dbg !5196 %166 = addrspacecast ptr addrspace(10) %165 to ptr addrspace(12), !dbg !5196 call void @ijl_throw(ptr addrspace(12) %166), !dbg !5196 unreachable, !dbg !5196 L188: ; preds = %L184 br label %L189, !dbg !5196 L189: ; preds = %L188, %L174 %167 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5199 %.unbox21 = load i64, ptr addrspace(11) %167, align 8, !dbg !5201, !tbaa !199, !alias.scope !215, !noalias !218 %168 = add i64 %.unbox21, %145, !dbg !5201 br i1 false, label %L207, label %L194, !dbg !5202 L194: ; preds = %L189 %169 = icmp sle i64 1, %168, !dbg !5203 %170 = xor i1 %169, true, !dbg !5204 br i1 %170, label %L199, label %L196, !dbg !5204 L196: ; preds = %L194 %sizeof22 = load i64, ptr addrspace(10) %3, align 8, !dbg !5206, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %171 = icmp sle i64 %168, %sizeof22, !dbg !5203 %172 = zext i1 %171 to i8 br label %L200, !dbg !5203 L199: ; preds = %L194 br label %L200, !dbg !5205 L200: ; preds = %L199, %L196 %value_phi23 = phi i8 [ %172, %L196 ], [ 0, %L199 ] %173 = trunc i8 %value_phi23 to i1, !dbg !5205 %174 = xor i1 %173, true, !dbg !5205 br i1 %174, label %L203, label %L202, !dbg !5205 L202: ; preds = %L200 br label %L206, !dbg !5205 L203: ; preds = %L200 %"-Core.BoundsError#75203" = load ptr, ptr @_Core_BoundsError_75203, align 8, !dbg !5205, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %175 = addrspacecast ptr %"-Core.BoundsError#75203" to ptr addrspace(10), !dbg !5205 %"+Core.BoundsError#75027" = load ptr, ptr @_Core_BoundsError_75027, align 8, !dbg !5205, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %176 = addrspacecast ptr %"+Core.BoundsError#75027" to ptr addrspace(10), !dbg !5205 %box_Int64 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %168) #228, !dbg !5205 %177 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %175, ptr addrspace(10) %176, ptr addrspace(10) %3, ptr addrspace(10) %box_Int64), !dbg !5205 %178 = addrspacecast ptr addrspace(10) %177 to ptr addrspace(12), !dbg !5205 call void @ijl_throw(ptr addrspace(12) %178), !dbg !5205 unreachable, !dbg !5205 L206: ; preds = %L202 br label %L207, !dbg !5205 L207: ; preds = %L206, %L189 %179 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5207 %180 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5208 %181 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %180) #229, !dbg !5208 %string_ptr24 = getelementptr inbounds i8, ptr %181, i32 8, !dbg !5208 %182 = getelementptr i8, ptr %string_ptr24, i64 %168, !dbg !5211 %183 = getelementptr i8, ptr %182, i64 -1, !dbg !5212 %184 = getelementptr inbounds i8, ptr %183, i64 0, !dbg !5213 %pointerref25 = load i8, ptr %184, align 1, !dbg !5213, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %179), !dbg !5207 br label %L215, !dbg !5215 L215: ; preds = %L207 br label %L216, !dbg !5200 L216: ; preds = %L215 %185 = and i8 %pointerref25, -64, !dbg !5216 %186 = icmp eq i8 %185, -128, !dbg !5218 %187 = xor i1 %186, true, !dbg !5220 %188 = add i64 %145, 1, !dbg !5221 %ifelse_cond = xor i1 %187, true, !dbg !5222 %189 = select i1 %ifelse_cond, i64 %188, i64 %145, !dbg !5222 ret i64 %189, !dbg !5217 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !5205 unreachable, !dbg !5205 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !5205 unreachable, !dbg !5205 after_throw30: ; No predecessors! call void @llvm.trap(), !dbg !5196 unreachable, !dbg !5196 after_noret31: ; No predecessors! call void @llvm.trap(), !dbg !5196 unreachable, !dbg !5196 after_throw35: ; No predecessors! call void @llvm.trap(), !dbg !5170 unreachable, !dbg !5170 after_noret36: ; No predecessors! call void @llvm.trap(), !dbg !5170 unreachable, !dbg !5170 after_throw44: ; No predecessors! call void @llvm.trap(), !dbg !5161 unreachable, !dbg !5161 after_noret45: ; No predecessors! call void @llvm.trap(), !dbg !5161 unreachable, !dbg !5161 after_throw49: ; No predecessors! call void @llvm.trap(), !dbg !5131 unreachable, !dbg !5131 after_noret50: ; No predecessors! call void @llvm.trap(), !dbg !5131 unreachable, !dbg !5131 after_throw58: ; No predecessors! call void @llvm.trap(), !dbg !5122 unreachable, !dbg !5122 after_noret59: ; No predecessors! call void @llvm.trap(), !dbg !5122 unreachable, !dbg !5122 after_throw61: ; No predecessors! call void @llvm.trap(), !dbg !5112 unreachable, !dbg !5112 after_noret62: ; No predecessors! call void @llvm.trap(), !dbg !5112 unreachable, !dbg !5112 after_throw66: ; No predecessors! call void @llvm.trap(), !dbg !5087 unreachable, !dbg !5087 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !5087 unreachable, !dbg !5087 after_throw75: ; No predecessors! call void @llvm.trap(), !dbg !5075 unreachable, !dbg !5075 after_noret76: ; No predecessors! call void @llvm.trap(), !dbg !5075 unreachable, !dbg !5075 } expectLen=4 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(Base.var"#_nextind_continued#_nextind_str##0", SubString{String}, Int64, Int64, UInt8) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff_thunk(::ReverseModeSplit{true, true, false, false, 0, true, FFIABI, false, false, false}, ::Type{Const{typeof(EnzymeTestUtils.call_with_kwargs)}}, ::Type{Duplicated}, ::Type{Const{@NamedTuple{}}}, ::Type{Const{typeof(\)}}, ::Type{Const{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}}}, ::Type{Duplicated{Vector{Float64}}}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:1001 [13] macro expansion @ ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:109 [inlined] [14] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [15] test_reverse(::typeof(\), ::Type, ::Tuple{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, UnionAll}, ::Vararg{Any}; rng::Random.TaskLocalRNG, fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, fkwargs::@NamedTuple{}, rtol::Float64, atol::Float64, testset_name::Nothing, runtime_activity::Bool, output_tangent::Nothing) @ EnzymeTestUtils ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:88 [16] test_reverse(::Function, ::Type, ::Tuple{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, UnionAll}, ::Vararg{Any}) @ EnzymeTestUtils ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:70 [17] macro expansion @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/rules.jl:16 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] top-level scope @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/rules.jl:7 [20] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [21] top-level scope @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/runtests.jl:38 [22] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [23] macro expansion @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/runtests.jl:92 [inlined] [24] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [25] top-level scope @ none:6 [26] eval(m::Module, e::Any) @ Core ./boot.jl:489 [27] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [28] _start() @ Base ./client.jl:577 test_reverse: \ with return activity BatchDuplicated on (::VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, Const), (::Vector{Float64}, BatchDuplicated): Error During Test at /home/pkgeval/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:86 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline define internal i64 @julia__nextind_continued_81744(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(24) %"s::SubString", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.s, i64 signext %"i::Int64", i64 signext %"n::Int64", i8 zeroext %"l::UInt8") #74 !dbg !5057 { top: %0 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !195, !alias.scope !302, !noalias !303 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152 %ptls_field = getelementptr inbounds i8, ptr %current_task, i32 168 %ptls_load = load ptr, ptr %ptls_field, align 8, !tbaa !195 %1 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %1 monotonic, align 8, !tbaa !199 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %2 = getelementptr inbounds i8, ptr %.roots.s, i32 0 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !199, !alias.scope !215, !noalias !218 %4 = icmp ult i8 %"l::UInt8", -64, !dbg !5058 %5 = xor i1 %4, true, !dbg !5060 br i1 %5, label %top.L62_crit_edge, label %L3, !dbg !5060 top.L62_crit_edge: ; preds = %top br label %L62, !dbg !5060 L3: ; preds = %top %6 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !5061 store ptr addrspace(10) %3, ptr %6, align 8, !dbg !5061 %7 = call i64 @julia_thisind_81733(ptr addrspace(11) nocapture readonly %"s::SubString", ptr nocapture readonly %0, i64 signext %"i::Int64"), !dbg !5061 %8 = icmp sle i64 %"i::Int64", %7, !dbg !5062 %9 = xor i1 %8, true, !dbg !5066 br i1 %9, label %L8, label %L6, !dbg !5066 L6: ; preds = %L3 %10 = add i64 %"i::Int64", 1, !dbg !5067 ret i64 %10, !dbg !5066 L8: ; preds = %L3 br i1 false, label %L23, label %L10, !dbg !5069 L10: ; preds = %L8 %11 = icmp sle i64 1, %7, !dbg !5072 %12 = xor i1 %11, true, !dbg !5073 br i1 %12, label %L15, label %L12, !dbg !5073 L12: ; preds = %L10 %13 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5076 %.unbox = load i64, ptr addrspace(11) %13, align 8, !dbg !5072, !tbaa !199, !alias.scope !215, !noalias !218 %14 = icmp sle i64 %7, %.unbox, !dbg !5072 %15 = zext i1 %14 to i8 br label %L16, !dbg !5072 L15: ; preds = %L10 br label %L16, !dbg !5075 L16: ; preds = %L15, %L12 %value_phi = phi i8 [ %15, %L12 ], [ 0, %L15 ] %16 = trunc i8 %value_phi to i1, !dbg !5075 %17 = xor i1 %16, true, !dbg !5075 br i1 %17, label %L19, label %L18, !dbg !5075 L18: ; preds = %L16 br label %L22, !dbg !5075 L19: ; preds = %L16 %"-Core.BoundsError#8115568" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %18 = addrspacecast ptr %"-Core.BoundsError#8115568" to ptr addrspace(10), !dbg !5075 %"+Core.BoundsError#8097969" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %19 = addrspacecast ptr %"+Core.BoundsError#8097969" to ptr addrspace(10), !dbg !5075 %"+Main.Base.SubString#8134970" = load ptr, ptr @_Main_Base_SubString_81349, align 8, !dbg !5075, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString71 = ptrtoint ptr %"+Main.Base.SubString#8134970" to i64, !dbg !5075 %20 = inttoptr i64 %SubString71 to ptr, !dbg !5075 %current_task72 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5075 %21 = addrspacecast ptr %20 to ptr addrspace(10), !dbg !5075 %"box::SubString73" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task72, i64 24, ptr addrspace(10) %21) #227, !dbg !5075 %22 = addrspacecast ptr addrspace(10) %"box::SubString73" to ptr addrspace(11), !dbg !5075 %23 = getelementptr inbounds i8, ptr addrspace(11) %22, i32 0, !dbg !5075 store atomic ptr addrspace(10) %3, ptr addrspace(11) %23 unordered, align 8, !dbg !5075, !tbaa !256, !alias.scope !260, !noalias !261 %24 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5075 %25 = getelementptr inbounds i8, ptr addrspace(11) %22, i32 8, !dbg !5075 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %25, ptr addrspace(11) align 8 %24, i64 16, i1 false), !dbg !5075, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6474 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %7) #228, !dbg !5075 %26 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %18, ptr addrspace(10) %19, ptr addrspace(10) %"box::SubString73", ptr addrspace(10) %box_Int6474), !dbg !5075 %27 = addrspacecast ptr addrspace(10) %26 to ptr addrspace(12), !dbg !5075 call void @ijl_throw(ptr addrspace(12) %27), !dbg !5075 unreachable, !dbg !5075 L22: ; preds = %L18 br label %L23, !dbg !5075 L23: ; preds = %L22, %L8 %28 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5080 %.unbox1 = load i64, ptr addrspace(11) %28, align 8, !dbg !5082, !tbaa !199, !alias.scope !215, !noalias !218 %29 = add i64 %.unbox1, %7, !dbg !5082 br i1 false, label %L41, label %L28, !dbg !5083 L28: ; preds = %L23 %30 = icmp sle i64 1, %29, !dbg !5085 %31 = xor i1 %30, true, !dbg !5086 br i1 %31, label %L33, label %L30, !dbg !5086 L30: ; preds = %L28 %sizeof = load i64, ptr addrspace(10) %3, align 8, !dbg !5088, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %32 = icmp sle i64 %29, %sizeof, !dbg !5085 %33 = zext i1 %32 to i8 br label %L34, !dbg !5085 L33: ; preds = %L28 br label %L34, !dbg !5087 L34: ; preds = %L33, %L30 %value_phi2 = phi i8 [ %33, %L30 ], [ 0, %L33 ] %34 = trunc i8 %value_phi2 to i1, !dbg !5087 %35 = xor i1 %34, true, !dbg !5087 br i1 %35, label %L37, label %L36, !dbg !5087 L36: ; preds = %L34 br label %L40, !dbg !5087 L37: ; preds = %L34 %"-Core.BoundsError#8115563" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5087, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %36 = addrspacecast ptr %"-Core.BoundsError#8115563" to ptr addrspace(10), !dbg !5087 %"+Core.BoundsError#8097964" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5087, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %37 = addrspacecast ptr %"+Core.BoundsError#8097964" to ptr addrspace(10), !dbg !5087 %box_Int6465 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %29) #228, !dbg !5087 %38 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %36, ptr addrspace(10) %37, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6465), !dbg !5087 %39 = addrspacecast ptr addrspace(10) %38 to ptr addrspace(12), !dbg !5087 call void @ijl_throw(ptr addrspace(12) %39), !dbg !5087 unreachable, !dbg !5087 L40: ; preds = %L36 br label %L41, !dbg !5087 L41: ; preds = %L40, %L23 %40 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5090 %41 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5091 %42 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %41) #229, !dbg !5091 %string_ptr = getelementptr inbounds i8, ptr %42, i32 8, !dbg !5091 %43 = getelementptr i8, ptr %string_ptr, i64 %29, !dbg !5096 %44 = getelementptr i8, ptr %43, i64 -1, !dbg !5098 %45 = getelementptr inbounds i8, ptr %44, i64 0, !dbg !5100 %pointerref = load i8, ptr %45, align 1, !dbg !5100, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %40), !dbg !5090 br label %L49, !dbg !5103 L49: ; preds = %L41 br label %L50, !dbg !5081 L50: ; preds = %L49 %46 = icmp ult i8 %pointerref, -128, !dbg !5104 %47 = icmp ule i8 -8, %pointerref, !dbg !5106 %48 = or i1 %46, %47, !dbg !5107 %49 = xor i1 %48, true, !dbg !5105 br i1 %49, label %L56, label %L54, !dbg !5105 L54: ; preds = %L50 %50 = add i64 %7, 1, !dbg !5109 ret i64 %50, !dbg !5105 L56: ; preds = %L50 %51 = icmp ule i8 -64, %pointerref, !dbg !5110 %52 = xor i1 %51, true, !dbg !5112 br i1 %52, label %L59, label %L58, !dbg !5112 L58: ; preds = %L56 br label %L62, !dbg !5112 L59: ; preds = %L56 %"jl_global#81365" = load ptr, ptr @jl_global_81365, align 8, !dbg !5112, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0 %53 = addrspacecast ptr %"jl_global#81365" to ptr addrspace(10), !dbg !5112 %54 = call [1 x ptr addrspace(10)] @julia_AssertionError_81165(ptr addrspace(10) %53), !dbg !5112 %"+Core.AssertionError#81145" = load ptr, ptr @_Core_AssertionError_81145, align 8, !dbg !5112, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %AssertionError = ptrtoint ptr %"+Core.AssertionError#81145" to i64, !dbg !5112 %55 = inttoptr i64 %AssertionError to ptr, !dbg !5112 %current_task60 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5112 %56 = addrspacecast ptr %55 to ptr addrspace(10), !dbg !5112 %"box::AssertionError" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task60, i64 8, ptr addrspace(10) %56) #227, !dbg !5112 %57 = addrspacecast ptr addrspace(10) %"box::AssertionError" to ptr addrspace(11), !dbg !5112 store [1 x ptr addrspace(10)] %54, ptr addrspace(11) %57, align 8, !dbg !5112, !tbaa !256, !alias.scope !260, !noalias !261 %58 = addrspacecast ptr addrspace(10) %"box::AssertionError" to ptr addrspace(12), !dbg !5112 call void @ijl_throw(ptr addrspace(12) %58), !dbg !5112 unreachable, !dbg !5112 L62: ; preds = %top.L62_crit_edge, %L58 %value_phi3 = phi i64 [ %7, %L58 ], [ %"i::Int64", %top.L62_crit_edge ] %value_phi4 = phi i8 [ %pointerref, %L58 ], [ %"l::UInt8", %top.L62_crit_edge ] %59 = add i64 %value_phi3, 1, !dbg !5113 %60 = icmp slt i64 %"n::Int64", %59, !dbg !5115 %61 = xor i1 %60, true, !dbg !5114 br i1 %61, label %L68, label %L67, !dbg !5114 L67: ; preds = %L62 ret i64 %59, !dbg !5114 L68: ; preds = %L62 br i1 false, label %L83, label %L70, !dbg !5118 L70: ; preds = %L68 %62 = icmp sle i64 1, %59, !dbg !5120 %63 = xor i1 %62, true, !dbg !5121 br i1 %63, label %L75, label %L72, !dbg !5121 L72: ; preds = %L70 %64 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5123 %.unbox5 = load i64, ptr addrspace(11) %64, align 8, !dbg !5120, !tbaa !199, !alias.scope !215, !noalias !218 %65 = icmp sle i64 %59, %.unbox5, !dbg !5120 %66 = zext i1 %65 to i8 br label %L76, !dbg !5120 L75: ; preds = %L70 br label %L76, !dbg !5122 L76: ; preds = %L75, %L72 %value_phi6 = phi i8 [ %66, %L72 ], [ 0, %L75 ] %67 = trunc i8 %value_phi6 to i1, !dbg !5122 %68 = xor i1 %67, true, !dbg !5122 br i1 %68, label %L79, label %L78, !dbg !5122 L78: ; preds = %L76 br label %L82, !dbg !5122 L79: ; preds = %L76 %"-Core.BoundsError#8115551" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %69 = addrspacecast ptr %"-Core.BoundsError#8115551" to ptr addrspace(10), !dbg !5122 %"+Core.BoundsError#8097952" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %70 = addrspacecast ptr %"+Core.BoundsError#8097952" to ptr addrspace(10), !dbg !5122 %"+Main.Base.SubString#8134953" = load ptr, ptr @_Main_Base_SubString_81349, align 8, !dbg !5122, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString54 = ptrtoint ptr %"+Main.Base.SubString#8134953" to i64, !dbg !5122 %71 = inttoptr i64 %SubString54 to ptr, !dbg !5122 %current_task55 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5122 %72 = addrspacecast ptr %71 to ptr addrspace(10), !dbg !5122 %"box::SubString56" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task55, i64 24, ptr addrspace(10) %72) #227, !dbg !5122 %73 = addrspacecast ptr addrspace(10) %"box::SubString56" to ptr addrspace(11), !dbg !5122 %74 = getelementptr inbounds i8, ptr addrspace(11) %73, i32 0, !dbg !5122 store atomic ptr addrspace(10) %3, ptr addrspace(11) %74 unordered, align 8, !dbg !5122, !tbaa !256, !alias.scope !260, !noalias !261 %75 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5122 %76 = getelementptr inbounds i8, ptr addrspace(11) %73, i32 8, !dbg !5122 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %76, ptr addrspace(11) align 8 %75, i64 16, i1 false), !dbg !5122, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6457 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %59) #228, !dbg !5122 %77 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %69, ptr addrspace(10) %70, ptr addrspace(10) %"box::SubString56", ptr addrspace(10) %box_Int6457), !dbg !5122 %78 = addrspacecast ptr addrspace(10) %77 to ptr addrspace(12), !dbg !5122 call void @ijl_throw(ptr addrspace(12) %78), !dbg !5122 unreachable, !dbg !5122 L82: ; preds = %L78 br label %L83, !dbg !5122 L83: ; preds = %L82, %L68 %79 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5125 %.unbox7 = load i64, ptr addrspace(11) %79, align 8, !dbg !5127, !tbaa !199, !alias.scope !215, !noalias !218 %80 = add i64 %.unbox7, %59, !dbg !5127 br i1 false, label %L101, label %L88, !dbg !5128 L88: ; preds = %L83 %81 = icmp sle i64 1, %80, !dbg !5129 %82 = xor i1 %81, true, !dbg !5130 br i1 %82, label %L93, label %L90, !dbg !5130 L90: ; preds = %L88 %sizeof8 = load i64, ptr addrspace(10) %3, align 8, !dbg !5132, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %83 = icmp sle i64 %80, %sizeof8, !dbg !5129 %84 = zext i1 %83 to i8 br label %L94, !dbg !5129 L93: ; preds = %L88 br label %L94, !dbg !5131 L94: ; preds = %L93, %L90 %value_phi9 = phi i8 [ %84, %L90 ], [ 0, %L93 ] %85 = trunc i8 %value_phi9 to i1, !dbg !5131 %86 = xor i1 %85, true, !dbg !5131 br i1 %86, label %L97, label %L96, !dbg !5131 L96: ; preds = %L94 br label %L100, !dbg !5131 L97: ; preds = %L94 %"-Core.BoundsError#8115546" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5131, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %87 = addrspacecast ptr %"-Core.BoundsError#8115546" to ptr addrspace(10), !dbg !5131 %"+Core.BoundsError#8097947" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5131, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %88 = addrspacecast ptr %"+Core.BoundsError#8097947" to ptr addrspace(10), !dbg !5131 %box_Int6448 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %80) #228, !dbg !5131 %89 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %87, ptr addrspace(10) %88, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6448), !dbg !5131 %90 = addrspacecast ptr addrspace(10) %89 to ptr addrspace(12), !dbg !5131 call void @ijl_throw(ptr addrspace(12) %90), !dbg !5131 unreachable, !dbg !5131 L100: ; preds = %L96 br label %L101, !dbg !5131 L101: ; preds = %L100, %L83 %91 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5133 %92 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5134 %93 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %92) #229, !dbg !5134 %string_ptr10 = getelementptr inbounds i8, ptr %93, i32 8, !dbg !5134 %94 = getelementptr i8, ptr %string_ptr10, i64 %80, !dbg !5137 %95 = getelementptr i8, ptr %94, i64 -1, !dbg !5138 %96 = getelementptr inbounds i8, ptr %95, i64 0, !dbg !5139 %pointerref11 = load i8, ptr %96, align 1, !dbg !5139, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %91), !dbg !5133 br label %L109, !dbg !5141 L109: ; preds = %L101 br label %L110, !dbg !5126 L110: ; preds = %L109 %97 = and i8 %pointerref11, -64, !dbg !5142 %98 = icmp eq i8 %97, -128, !dbg !5145 %99 = xor i1 %98, true, !dbg !5149 %100 = xor i1 %99, true, !dbg !5144 br i1 %100, label %L115, label %L114, !dbg !5144 L114: ; preds = %L110 ret i64 %59, !dbg !5144 L115: ; preds = %L110 %101 = add i64 %59, 1, !dbg !5151 %102 = icmp slt i64 %"n::Int64", %101, !dbg !5153 %103 = icmp ult i8 %value_phi4, -32, !dbg !5155 %104 = or i1 %102, %103, !dbg !5156 %105 = xor i1 %104, true, !dbg !5152 br i1 %105, label %L121, label %L120, !dbg !5152 L120: ; preds = %L115 ret i64 %101, !dbg !5152 L121: ; preds = %L115 br i1 false, label %L136, label %L123, !dbg !5157 L123: ; preds = %L121 %106 = icmp sle i64 1, %101, !dbg !5159 %107 = xor i1 %106, true, !dbg !5160 br i1 %107, label %L128, label %L125, !dbg !5160 L125: ; preds = %L123 %108 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5162 %.unbox12 = load i64, ptr addrspace(11) %108, align 8, !dbg !5159, !tbaa !199, !alias.scope !215, !noalias !218 %109 = icmp sle i64 %101, %.unbox12, !dbg !5159 %110 = zext i1 %109 to i8 br label %L129, !dbg !5159 L128: ; preds = %L123 br label %L129, !dbg !5161 L129: ; preds = %L128, %L125 %value_phi13 = phi i8 [ %110, %L125 ], [ 0, %L128 ] %111 = trunc i8 %value_phi13 to i1, !dbg !5161 %112 = xor i1 %111, true, !dbg !5161 br i1 %112, label %L132, label %L131, !dbg !5161 L131: ; preds = %L129 br label %L135, !dbg !5161 L132: ; preds = %L129 %"-Core.BoundsError#8115537" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %113 = addrspacecast ptr %"-Core.BoundsError#8115537" to ptr addrspace(10), !dbg !5161 %"+Core.BoundsError#8097938" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %114 = addrspacecast ptr %"+Core.BoundsError#8097938" to ptr addrspace(10), !dbg !5161 %"+Main.Base.SubString#8134939" = load ptr, ptr @_Main_Base_SubString_81349, align 8, !dbg !5161, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString40 = ptrtoint ptr %"+Main.Base.SubString#8134939" to i64, !dbg !5161 %115 = inttoptr i64 %SubString40 to ptr, !dbg !5161 %current_task41 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5161 %116 = addrspacecast ptr %115 to ptr addrspace(10), !dbg !5161 %"box::SubString42" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task41, i64 24, ptr addrspace(10) %116) #227, !dbg !5161 %117 = addrspacecast ptr addrspace(10) %"box::SubString42" to ptr addrspace(11), !dbg !5161 %118 = getelementptr inbounds i8, ptr addrspace(11) %117, i32 0, !dbg !5161 store atomic ptr addrspace(10) %3, ptr addrspace(11) %118 unordered, align 8, !dbg !5161, !tbaa !256, !alias.scope !260, !noalias !261 %119 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5161 %120 = getelementptr inbounds i8, ptr addrspace(11) %117, i32 8, !dbg !5161 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %120, ptr addrspace(11) align 8 %119, i64 16, i1 false), !dbg !5161, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6443 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %101) #228, !dbg !5161 %121 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %113, ptr addrspace(10) %114, ptr addrspace(10) %"box::SubString42", ptr addrspace(10) %box_Int6443), !dbg !5161 %122 = addrspacecast ptr addrspace(10) %121 to ptr addrspace(12), !dbg !5161 call void @ijl_throw(ptr addrspace(12) %122), !dbg !5161 unreachable, !dbg !5161 L135: ; preds = %L131 br label %L136, !dbg !5161 L136: ; preds = %L135, %L121 %123 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5164 %.unbox14 = load i64, ptr addrspace(11) %123, align 8, !dbg !5166, !tbaa !199, !alias.scope !215, !noalias !218 %124 = add i64 %.unbox14, %101, !dbg !5166 br i1 false, label %L154, label %L141, !dbg !5167 L141: ; preds = %L136 %125 = icmp sle i64 1, %124, !dbg !5168 %126 = xor i1 %125, true, !dbg !5169 br i1 %126, label %L146, label %L143, !dbg !5169 L143: ; preds = %L141 %sizeof15 = load i64, ptr addrspace(10) %3, align 8, !dbg !5171, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %127 = icmp sle i64 %124, %sizeof15, !dbg !5168 %128 = zext i1 %127 to i8 br label %L147, !dbg !5168 L146: ; preds = %L141 br label %L147, !dbg !5170 L147: ; preds = %L146, %L143 %value_phi16 = phi i8 [ %128, %L143 ], [ 0, %L146 ] %129 = trunc i8 %value_phi16 to i1, !dbg !5170 %130 = xor i1 %129, true, !dbg !5170 br i1 %130, label %L150, label %L149, !dbg !5170 L149: ; preds = %L147 br label %L153, !dbg !5170 L150: ; preds = %L147 %"-Core.BoundsError#8115532" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5170, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %131 = addrspacecast ptr %"-Core.BoundsError#8115532" to ptr addrspace(10), !dbg !5170 %"+Core.BoundsError#8097933" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5170, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %132 = addrspacecast ptr %"+Core.BoundsError#8097933" to ptr addrspace(10), !dbg !5170 %box_Int6434 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %124) #228, !dbg !5170 %133 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %131, ptr addrspace(10) %132, ptr addrspace(10) %3, ptr addrspace(10) %box_Int6434), !dbg !5170 %134 = addrspacecast ptr addrspace(10) %133 to ptr addrspace(12), !dbg !5170 call void @ijl_throw(ptr addrspace(12) %134), !dbg !5170 unreachable, !dbg !5170 L153: ; preds = %L149 br label %L154, !dbg !5170 L154: ; preds = %L153, %L136 %135 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5172 %136 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5173 %137 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %136) #229, !dbg !5173 %string_ptr17 = getelementptr inbounds i8, ptr %137, i32 8, !dbg !5173 %138 = getelementptr i8, ptr %string_ptr17, i64 %124, !dbg !5176 %139 = getelementptr i8, ptr %138, i64 -1, !dbg !5177 %140 = getelementptr inbounds i8, ptr %139, i64 0, !dbg !5178 %pointerref18 = load i8, ptr %140, align 1, !dbg !5178, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %135), !dbg !5172 br label %L162, !dbg !5180 L162: ; preds = %L154 br label %L163, !dbg !5165 L163: ; preds = %L162 %141 = and i8 %pointerref18, -64, !dbg !5181 %142 = icmp eq i8 %141, -128, !dbg !5183 %143 = xor i1 %142, true, !dbg !5185 %144 = xor i1 %143, true, !dbg !5182 br i1 %144, label %L168, label %L167, !dbg !5182 L167: ; preds = %L163 ret i64 %101, !dbg !5182 L168: ; preds = %L163 %145 = add i64 %101, 1, !dbg !5186 %146 = icmp slt i64 %"n::Int64", %145, !dbg !5188 %147 = icmp ult i8 %value_phi4, -16, !dbg !5190 %148 = or i1 %146, %147, !dbg !5191 %149 = xor i1 %148, true, !dbg !5187 br i1 %149, label %L174, label %L173, !dbg !5187 L173: ; preds = %L168 ret i64 %145, !dbg !5187 L174: ; preds = %L168 br i1 false, label %L189, label %L176, !dbg !5192 L176: ; preds = %L174 %150 = icmp sle i64 1, %145, !dbg !5194 %151 = xor i1 %150, true, !dbg !5195 br i1 %151, label %L181, label %L178, !dbg !5195 L178: ; preds = %L176 %152 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 16, !dbg !5197 %.unbox19 = load i64, ptr addrspace(11) %152, align 8, !dbg !5194, !tbaa !199, !alias.scope !215, !noalias !218 %153 = icmp sle i64 %145, %.unbox19, !dbg !5194 %154 = zext i1 %153 to i8 br label %L182, !dbg !5194 L181: ; preds = %L176 br label %L182, !dbg !5196 L182: ; preds = %L181, %L178 %value_phi20 = phi i8 [ %154, %L178 ], [ 0, %L181 ] %155 = trunc i8 %value_phi20 to i1, !dbg !5196 %156 = xor i1 %155, true, !dbg !5196 br i1 %156, label %L185, label %L184, !dbg !5196 L184: ; preds = %L182 br label %L188, !dbg !5196 L185: ; preds = %L182 %"-Core.BoundsError#8115526" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %157 = addrspacecast ptr %"-Core.BoundsError#8115526" to ptr addrspace(10), !dbg !5196 %"+Core.BoundsError#8097927" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %158 = addrspacecast ptr %"+Core.BoundsError#8097927" to ptr addrspace(10), !dbg !5196 %"+Main.Base.SubString#81349" = load ptr, ptr @_Main_Base_SubString_81349, align 8, !dbg !5196, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %SubString = ptrtoint ptr %"+Main.Base.SubString#81349" to i64, !dbg !5196 %159 = inttoptr i64 %SubString to ptr, !dbg !5196 %current_task28 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !5196 %160 = addrspacecast ptr %159 to ptr addrspace(10), !dbg !5196 %"box::SubString" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task28, i64 24, ptr addrspace(10) %160) #227, !dbg !5196 %161 = addrspacecast ptr addrspace(10) %"box::SubString" to ptr addrspace(11), !dbg !5196 %162 = getelementptr inbounds i8, ptr addrspace(11) %161, i32 0, !dbg !5196 store atomic ptr addrspace(10) %3, ptr addrspace(11) %162 unordered, align 8, !dbg !5196, !tbaa !256, !alias.scope !260, !noalias !261 %163 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5196 %164 = getelementptr inbounds i8, ptr addrspace(11) %161, i32 8, !dbg !5196 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %164, ptr addrspace(11) align 8 %163, i64 16, i1 false), !dbg !5196, !tbaa !297, !alias.scope !298, !noalias !299 %box_Int6429 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %145) #228, !dbg !5196 %165 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %157, ptr addrspace(10) %158, ptr addrspace(10) %"box::SubString", ptr addrspace(10) %box_Int6429), !dbg !5196 %166 = addrspacecast ptr addrspace(10) %165 to ptr addrspace(12), !dbg !5196 call void @ijl_throw(ptr addrspace(12) %166), !dbg !5196 unreachable, !dbg !5196 L188: ; preds = %L184 br label %L189, !dbg !5196 L189: ; preds = %L188, %L174 %167 = getelementptr inbounds i8, ptr addrspace(11) %"s::SubString", i32 8, !dbg !5199 %.unbox21 = load i64, ptr addrspace(11) %167, align 8, !dbg !5201, !tbaa !199, !alias.scope !215, !noalias !218 %168 = add i64 %.unbox21, %145, !dbg !5201 br i1 false, label %L207, label %L194, !dbg !5202 L194: ; preds = %L189 %169 = icmp sle i64 1, %168, !dbg !5203 %170 = xor i1 %169, true, !dbg !5204 br i1 %170, label %L199, label %L196, !dbg !5204 L196: ; preds = %L194 %sizeof22 = load i64, ptr addrspace(10) %3, align 8, !dbg !5206, !tbaa !199, !range !214, !alias.scope !215, !noalias !218 %171 = icmp sle i64 %168, %sizeof22, !dbg !5203 %172 = zext i1 %171 to i8 br label %L200, !dbg !5203 L199: ; preds = %L194 br label %L200, !dbg !5205 L200: ; preds = %L199, %L196 %value_phi23 = phi i8 [ %172, %L196 ], [ 0, %L199 ] %173 = trunc i8 %value_phi23 to i1, !dbg !5205 %174 = xor i1 %173, true, !dbg !5205 br i1 %174, label %L203, label %L202, !dbg !5205 L202: ; preds = %L200 br label %L206, !dbg !5205 L203: ; preds = %L200 %"-Core.BoundsError#81155" = load ptr, ptr @_Core_BoundsError_81155, align 8, !dbg !5205, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !239, !align !240 %175 = addrspacecast ptr %"-Core.BoundsError#81155" to ptr addrspace(10), !dbg !5205 %"+Core.BoundsError#80979" = load ptr, ptr @_Core_BoundsError_80979, align 8, !dbg !5205, !tbaa !199, !alias.scope !215, !noalias !218, !nonnull !0, !dereferenceable !241, !align !242 %176 = addrspacecast ptr %"+Core.BoundsError#80979" to ptr addrspace(10), !dbg !5205 %box_Int64 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %168) #228, !dbg !5205 %177 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %175, ptr addrspace(10) %176, ptr addrspace(10) %3, ptr addrspace(10) %box_Int64), !dbg !5205 %178 = addrspacecast ptr addrspace(10) %177 to ptr addrspace(12), !dbg !5205 call void @ijl_throw(ptr addrspace(12) %178), !dbg !5205 unreachable, !dbg !5205 L206: ; preds = %L202 br label %L207, !dbg !5205 L207: ; preds = %L206, %L189 %179 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %3), !dbg !5207 %180 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !5208 %181 = call nonnull ptr @julia.pointer_from_objref(ptr addrspace(11) %180) #229, !dbg !5208 %string_ptr24 = getelementptr inbounds i8, ptr %181, i32 8, !dbg !5208 %182 = getelementptr i8, ptr %string_ptr24, i64 %168, !dbg !5211 %183 = getelementptr i8, ptr %182, i64 -1, !dbg !5212 %184 = getelementptr inbounds i8, ptr %183, i64 0, !dbg !5213 %pointerref25 = load i8, ptr %184, align 1, !dbg !5213, !tbaa !530, !alias.scope !260, !noalias !261 call void @llvm.julia.gc_preserve_end(token %179), !dbg !5207 br label %L215, !dbg !5215 L215: ; preds = %L207 br label %L216, !dbg !5200 L216: ; preds = %L215 %185 = and i8 %pointerref25, -64, !dbg !5216 %186 = icmp eq i8 %185, -128, !dbg !5218 %187 = xor i1 %186, true, !dbg !5220 %188 = add i64 %145, 1, !dbg !5221 %ifelse_cond = xor i1 %187, true, !dbg !5222 %189 = select i1 %ifelse_cond, i64 %188, i64 %145, !dbg !5222 ret i64 %189, !dbg !5217 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !5205 unreachable, !dbg !5205 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !5205 unreachable, !dbg !5205 after_throw30: ; No predecessors! call void @llvm.trap(), !dbg !5196 unreachable, !dbg !5196 after_noret31: ; No predecessors! call void @llvm.trap(), !dbg !5196 unreachable, !dbg !5196 after_throw35: ; No predecessors! call void @llvm.trap(), !dbg !5170 unreachable, !dbg !5170 after_noret36: ; No predecessors! call void @llvm.trap(), !dbg !5170 unreachable, !dbg !5170 after_throw44: ; No predecessors! call void @llvm.trap(), !dbg !5161 unreachable, !dbg !5161 after_noret45: ; No predecessors! call void @llvm.trap(), !dbg !5161 unreachable, !dbg !5161 after_throw49: ; No predecessors! call void @llvm.trap(), !dbg !5131 unreachable, !dbg !5131 after_noret50: ; No predecessors! call void @llvm.trap(), !dbg !5131 unreachable, !dbg !5131 after_throw58: ; No predecessors! call void @llvm.trap(), !dbg !5122 unreachable, !dbg !5122 after_noret59: ; No predecessors! call void @llvm.trap(), !dbg !5122 unreachable, !dbg !5122 after_throw61: ; No predecessors! call void @llvm.trap(), !dbg !5112 unreachable, !dbg !5112 after_noret62: ; No predecessors! call void @llvm.trap(), !dbg !5112 unreachable, !dbg !5112 after_throw66: ; No predecessors! call void @llvm.trap(), !dbg !5087 unreachable, !dbg !5087 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !5087 unreachable, !dbg !5087 after_throw75: ; No predecessors! call void @llvm.trap(), !dbg !5075 unreachable, !dbg !5075 after_noret76: ; No predecessors! call void @llvm.trap(), !dbg !5075 unreachable, !dbg !5075 } expectLen=4 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(Base.var"#_nextind_continued#_nextind_str##0", SubString{String}, Int64, Int64, UInt8) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/rules/activityrules.jl:48 [2] handle_compiled(state::Enzyme.Compiler.HandlerState, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode, world::UInt64, method_table::Compiler.OverlayMethodTable, custom::Dict{String, LLVM.API.LLVMLinkage}, mod::LLVM.Module, mi::Core.MethodInstance, k_name::String, rettype::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:628 [3] set_module_types!(interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{Nothing}, mod::LLVM.Module, primalf::LLVM.Function, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, edges::Vector{Any}, run_enzyme::Bool, mode::Enzyme.API.CDerivativeMode) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:1220 [4] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:4627 [5] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [6] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [7] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6015 [inlined] [10] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{<:Annotation}, A::Type{<:Annotation}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, edges::Vector{Any}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6131 [11] thunk_generator(world::UInt64, source::Union{LineNumberNode, Method}, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{N, Bool} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, StrongZero::Bool, self::Any, fakeworld::Any, fa::Type, a::Type, tt::Type, mode::Type, width::Type, modifiedbetween::Type, returnprimal::Type, shadowinit::Type, abi::Type, erriffuncwritten::Type, runtimeactivity::Type, strongzero::Type) @ Enzyme.Compiler ~/.julia/packages/Enzyme/rsnI8/src/compiler.jl:6275 [12] autodiff_thunk(::ReverseModeSplit{true, true, false, false, 0, true, FFIABI, false, false, false}, ::Type{Const{typeof(EnzymeTestUtils.call_with_kwargs)}}, ::Type{BatchDuplicated}, ::Type{Const{@NamedTuple{}}}, ::Type{Const{typeof(\)}}, ::Type{Const{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}}}, ::Type{BatchDuplicated{Vector{Float64}, 2}}) @ Enzyme ~/.julia/packages/Enzyme/rsnI8/src/Enzyme.jl:1001 [13] macro expansion @ ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:109 [inlined] [14] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [15] test_reverse(::typeof(\), ::Type, ::Tuple{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, UnionAll}, ::Vararg{Any}; rng::Random.TaskLocalRNG, fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, fkwargs::@NamedTuple{}, rtol::Float64, atol::Float64, testset_name::Nothing, runtime_activity::Bool, output_tangent::Nothing) @ EnzymeTestUtils ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:88 [16] test_reverse(::Function, ::Type, ::Tuple{VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, UnionAll}, ::Vararg{Any}) @ EnzymeTestUtils ~/.julia/packages/EnzymeTestUtils/JZTWO/src/test_reverse.jl:70 [17] macro expansion @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/rules.jl:16 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] top-level scope @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/rules.jl:7 [20] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [21] top-level scope @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/runtests.jl:38 [22] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [23] macro expansion @ ~/.julia/packages/VLBILikelihoods/DSaEu/test/runtests.jl:92 [inlined] [24] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [25] top-level scope @ none:6 [26] eval(m::Module, e::Any) @ Core ./boot.jl:489 [27] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [28] _start() @ Base ./client.jl:577 Test Summary: | Pass Error Total Time VLBILikelihoods.jl | 198 2 200 11m55.5s utility test | 22 22 1m01.9s CholeskyFactor | 7 7 9.6s Amplitude Likelihood | 34 34 1m46.9s Rice Amplitude Likelihood | 24 24 6.4s Closure Phase | 53 53 31.6s Complex Vis | 12 12 12.3s Coherency Likelihood | 46 46 31.2s Enzyme CholeskyFactor | 2 2 4m23.1s test_reverse: \ with return activity Duplicated on (::VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, Const), (::Vector{Float64}, Duplicated) | 1 1 4m01.1s test_reverse: \ with return activity BatchDuplicated on (::VLBILikelihoods.CholeskyFactor{Float64, SparseMatrixCSC{Float64, Int64}, SparseArrays.CHOLMOD.Factor{Float64, Int64}}, Const), (::Vector{Float64}, BatchDuplicated) | 1 1 18.5s RNG of the outermost testset: Random.Xoshiro(0x54d74a76e469402e, 0xa0874d2b45aacc18, 0x81da51ef488feecf, 0xcf3ef5955a2f6990, 0x6a6982ba97853171) ERROR: LoadError: Some tests did not pass: 198 passed, 0 failed, 2 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/VLBILikelihoods/DSaEu/test/runtests.jl:36 Testing failed after 797.27s ERROR: LoadError: Package VLBILikelihoods errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Types.jl:68 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2946 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2795 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::IOContext{IO}}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:572 [5] kwcall(::@NamedTuple{julia_args::Cmd, io::IOContext{IO}}, ::typeof(Pkg.API.test), ctx::Pkg.Types.Context, pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:548 [6] test(pkgs::Vector{PackageSpec}; io::IOContext{IO}, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:172 [7] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkgs::Vector{PackageSpec}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:161 [8] test(pkgs::Vector{String}; kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [9] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:160 [inlined] [10] kwcall(::@NamedTuple{julia_args::Cmd}, ::typeof(Pkg.API.test), pkg::String) @ Pkg.API /opt/julia/share/julia/stdlib/v1.14/Pkg/src/API.jl:159 [11] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:219 [12] include(mod::Module, _path::String) @ Base ./Base.jl:309 [13] exec_options(opts::Base.JLOptions) @ Base ./client.jl:344 [14] _start() @ Base ./client.jl:577 in expression starting at /PkgEval.jl/scripts/evaluate.jl:210 PkgEval failed after 936.7s: package tests unexpectedly errored