Package evaluation to test Checkpointing on Julia 1.14.0-DEV.14 (ec5cf08762*) started at 2025-10-30T17:24:30.827 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.54s ################################################################################ # Installation # Installing Checkpointing... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [eb46d486] + Checkpointing v0.11.1 Updating `~/.julia/environments/v1.14/Manifest.toml` [7d9f7c33] + Accessors v0.1.42 [fa961155] + CEnum v0.5.0 [d360d2e6] + ChainRulesCore v1.26.0 [eb46d486] + Checkpointing v0.11.1 [34da2185] + Compat v4.18.1 [a33af91c] + CompositionsBase v0.1.2 [187b0558] + ConstructionBase v1.6.0 ⌅ [864edb3b] + DataStructures v0.18.22 [7da242da] + Enzyme v0.13.94 [f151be2c] + EnzymeCore v0.8.15 [e2ba6199] + ExprTools v0.1.10 [61eb1bfa] + GPUCompiler v1.7.2 [f67ccb44] + HDF5 v0.17.2 [3587e190] + InverseFunctions v0.1.17 [692b3bcd] + JLLWrappers v1.7.1 [929cbde3] + LLVM v9.4.4 [3da0fdf6] + MPIPreferences v0.1.11 [1914dd2f] + MacroTools v0.5.16 [d8793406] + ObjectFile v0.5.0 [bac558e1] + OrderedCollections v1.8.1 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.0 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [6c6a2e73] + Scratch v1.3.0 [53d494c1] + StructIO v0.3.1 [e689c965] + Tracy v0.1.6 ⌅ [7cc45869] + Enzyme_jll v0.0.205+0 [0234f1f7] + HDF5_jll v1.14.6+0 [e33a78d0] + Hwloc_jll v2.12.2+0 [dad2f222] + LLVMExtra_jll v0.0.38+0 [ad6e5548] + LibTracyClient_jll v0.9.1+6 [94ce4f54] + Libiconv_jll v1.18.0+0 [7cb0a576] + MPICH_jll v4.3.2+0 [f1f71cc9] + MPItrampoline_jll v5.5.4+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [fe0851c0] + OpenMPI_jll v5.0.8+0 ⌅ [02c8fc9c] + XML2_jll v2.13.9+0 [a65dc6b1] + Xorg_libpciaccess_jll v0.18.1+0 [477f73a3] + libaec_jll v1.1.4+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates 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 [a63ad114] + Mmap 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 [2f01184e] + SparseArrays v1.13.0 [f489334b] + StyledStrings v1.11.0 [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.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.9.9 [4536629a] + OpenBLAS_jll v0.3.29+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.67.1+0 [3f19e933] + p7zip_jll v17.6.0+0 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 11.32s ################################################################################ # 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... 54010.4 ms ✓ Enzyme 42695.3 ms ✓ Enzyme → EnzymeChainRulesCoreExt 45301.5 ms ✓ Checkpointing 3 dependencies successfully precompiled in 143 seconds. 77 already precompiled. 2 dependencies had output during precompilation: ┌ Checkpointing │ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ │ For the time being we recommend using 1.11 or LTS (1.10). │ │ │ │ For latest updates, check the status of support for Julia 1.12+ at │ │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ │ │ └ @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:1575 └ ┌ Enzyme → EnzymeChainRulesCoreExt │ ┌ Warning: Enzyme.jl support for Julia 1.12 is presently in progress. │ │ For the time being we recommend using 1.11 or LTS (1.10). │ │ │ │ For latest updates, check the status of support for Julia 1.12+ at │ │ https://github.com/EnzymeAD/Enzyme.jl/issues/2699. │ │ │ └ @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:1575 └ Precompilation completed after 161.2s ################################################################################ # Testing # Testing Checkpointing Status `/tmp/jl_HXcCYU/Project.toml` [eb46d486] Checkpointing v0.11.1 [7da242da] Enzyme v0.13.94 [37e2e46d] LinearAlgebra v1.13.0 [9e88b42a] Serialization v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_HXcCYU/Manifest.toml` [7d9f7c33] Accessors v0.1.42 [fa961155] CEnum v0.5.0 [d360d2e6] ChainRulesCore v1.26.0 [eb46d486] Checkpointing v0.11.1 [34da2185] Compat v4.18.1 [a33af91c] CompositionsBase v0.1.2 [187b0558] ConstructionBase v1.6.0 ⌅ [864edb3b] DataStructures v0.18.22 [7da242da] Enzyme v0.13.94 [f151be2c] EnzymeCore v0.8.15 [e2ba6199] ExprTools v0.1.10 [61eb1bfa] GPUCompiler v1.7.2 [f67ccb44] HDF5 v0.17.2 [3587e190] InverseFunctions v0.1.17 [692b3bcd] JLLWrappers v1.7.1 [929cbde3] LLVM v9.4.4 [3da0fdf6] MPIPreferences v0.1.11 [1914dd2f] MacroTools v0.5.16 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [6c6a2e73] Scratch v1.3.0 [53d494c1] StructIO v0.3.1 [e689c965] Tracy v0.1.6 ⌅ [7cc45869] Enzyme_jll v0.0.205+0 [0234f1f7] HDF5_jll v1.14.6+0 [e33a78d0] Hwloc_jll v2.12.2+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.9.1+6 [94ce4f54] Libiconv_jll v1.18.0+0 [7cb0a576] MPICH_jll v4.3.2+0 [f1f71cc9] MPItrampoline_jll v5.5.4+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [fe0851c0] OpenMPI_jll v5.0.8+0 ⌅ [02c8fc9c] XML2_jll v2.13.9+0 [a65dc6b1] Xorg_libpciaccess_jll v0.18.1+0 [477f73a3] libaec_jll v1.1.4+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates 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 [a63ad114] Mmap 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 [2f01184e] SparseArrays v1.13.0 [f489334b] StyledStrings v1.11.0 [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.9.9 [4536629a] OpenBLAS_jll v0.3.29+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.67.1+0 [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... Enzyme...: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 Got exception outside of a @test UndefVarError: `scoped_no_alias_aa!` not defined in `Enzyme.Compiler` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] (::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine})(pm::LLVM.ModulePassManager) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:356 [2] LLVM.ModulePassManager(::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine}; kwargs::@Kwargs{}) @ LLVM ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:33 [3] ModulePassManager @ ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:30 [inlined] [4] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:351 [5] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:4774 [6] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [7] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [8] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5960 [9] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [10] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:6015 [inlined] [11] 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/lBjPq/src/compiler.jl:6131 [12] 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/lBjPq/src/compiler.jl:6275 [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [15] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [16] main() @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/speelpenning.jl:16 [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:15 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:8 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 scheme = Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal double @julia__muoptcontrol__1_33653(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"#self#::#muoptcontrol##1#muoptcontrol##2", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %".roots.#self#", i64 signext %"1994::Int64") #12 !dbg !262 { top: %.F_H.size = alloca i64, align 8 %"new::OneTo" = alloca [1 x i64], align 8 %"new::Tuple" = alloca [1 x [1 x i64]], align 8 %.F.size = alloca i64, align 8 %.F_H.size2 = alloca i64, align 8 %"new::Tuple4" = alloca [1 x [1 x i64]], align 8 %.F.size8 = alloca i64, align 8 %.F.size12 = alloca i64, align 8 %"new::Tuple17" = alloca [1 x [2 x i64]], align 8 %.F_H.size19 = alloca i64, align 8 %"new::Tuple23" = alloca [1 x [2 x i64]], align 8 %.F.size25 = alloca i64, align 8 %value_phi55.size = alloca i64, align 8 %"new::Tuple56" = alloca [1 x i8], align 1 %"new::Extruded" = alloca [3 x i64], align 8 %"new::Tuple57" = alloca [3 x i64], align 8 %"new::Broadcasted" = alloca [4 x i64], align 8 %"new::Tuple61" = alloca [1 x i64], align 8 %value_phi55.size65 = alloca i64, align 8 %.F_H.size90 = alloca i64, align 8 %"new::Tuple118" = alloca [1 x i64], align 8 %"new::Tuple121" = alloca [1 x i64], align 8 %"new::Tuple124" = alloca [1 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %.F_H.size130 = alloca i64, align 8 %.F.size132 = alloca i64, align 8 %.F.size141 = alloca i64, align 8 %.F.size149 = alloca i64, align 8 %.F.size160 = alloca i64, 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 !103, !alias.scope !264, !noalias !265 %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 !103 %1 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %1 monotonic, align 8, !tbaa !107 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %2 = getelementptr inbounds i8, ptr %".roots.#self#", i32 0 %3 = load ptr addrspace(10), ptr %2, align 8, !tbaa !107, !alias.scope !110, !noalias !113 %4 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !266 %.F_H_ptr = getelementptr inbounds i8, ptr addrspace(11) %4, i32 8, !dbg !266 %.F_H = load atomic ptr addrspace(10), ptr addrspace(11) %.F_H_ptr unordered, align 8, !dbg !266, !tbaa !275, !alias.scope !279, !noalias !280, !nonnull !0, !dereferenceable !281, !align !119 %5 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !282 %.F = load atomic ptr addrspace(10), ptr addrspace(11) %5 unordered, align 8, !dbg !282, !tbaa !275, !alias.scope !279, !noalias !280, !nonnull !0, !dereferenceable !281, !align !119 %6 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !283 %.F_H.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %6, i32 16, !dbg !283 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F_H.size, ptr addrspace(11) align 8 %.F_H.size_ptr, i64 8, i1 false), !dbg !283, !tbaa !122, !alias.scope !292, !noalias !293 %7 = getelementptr inbounds i8, ptr %"new::OneTo", i32 0, !dbg !294 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %.F_H.size, i64 8, i1 false), !dbg !294, !tbaa !258, !alias.scope !260, !noalias !261 %8 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !297 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %"new::OneTo", i64 8, i1 false), !dbg !297, !tbaa !258, !alias.scope !260, !noalias !261 %9 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !300 %.F.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %9, i32 16, !dbg !300 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size, ptr addrspace(11) align 8 %.F.size_ptr, i64 8, i1 false), !dbg !300, !tbaa !122, !alias.scope !292, !noalias !293 %.F_H.size.unbox = load i64, ptr %.F_H.size, align 8, !dbg !306, !tbaa !258, !alias.scope !260, !noalias !261 %.F.size.unbox = load i64, ptr %.F.size, align 8, !dbg !306, !tbaa !258, !alias.scope !260, !noalias !261 %10 = icmp eq i64 %.F_H.size.unbox, %.F.size.unbox, !dbg !306 %11 = xor i1 %10, true, !dbg !310 br i1 %11, label %L16, label %L15, !dbg !310 L15: ; preds = %top %12 = zext i1 %10 to i8 br label %L18, !dbg !310 L16: ; preds = %top %.F.size.unbox167 = load i64, ptr %.F.size, align 8, !dbg !314, !tbaa !258, !alias.scope !260, !noalias !261 %13 = icmp eq i64 %.F.size.unbox167, 1, !dbg !314 %14 = zext i1 %13 to i8 br label %L18, !dbg !314 L18: ; preds = %L16, %L15 %value_phi = phi i8 [ %12, %L15 ], [ %14, %L16 ] %15 = trunc i8 %value_phi to i1, !dbg !312 %16 = xor i1 %15, true, !dbg !312 br i1 %16, label %L21, label %L20, !dbg !312 L20: ; preds = %L18 br label %L24, !dbg !312 L21: ; preds = %L18 %"jl_global#33670" = load ptr, ptr @jl_global_33670, align 8, !dbg !312, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %17 = addrspacecast ptr %"jl_global#33670" to ptr addrspace(10), !dbg !312 %18 = call [1 x ptr addrspace(10)] @julia_DimensionMismatch_33733(ptr addrspace(10) %17), !dbg !312 %"+Main.Base.DimensionMismatch#33671" = load ptr, ptr @_Main_Base_DimensionMismatch_33671, align 8, !dbg !312, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %DimensionMismatch = ptrtoint ptr %"+Main.Base.DimensionMismatch#33671" to i64, !dbg !312 %19 = inttoptr i64 %DimensionMismatch to ptr, !dbg !312 %current_task165 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !312 %20 = addrspacecast ptr %19 to ptr addrspace(10), !dbg !312 %"box::DimensionMismatch" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task165, i64 8, ptr addrspace(10) %20) #33, !dbg !312 %21 = addrspacecast ptr addrspace(10) %"box::DimensionMismatch" to ptr addrspace(11), !dbg !312 store [1 x ptr addrspace(10)] %18, ptr addrspace(11) %21, align 8, !dbg !312, !tbaa !315, !alias.scope !279, !noalias !280 %22 = addrspacecast ptr addrspace(10) %"box::DimensionMismatch" to ptr addrspace(12), !dbg !312 call void @ijl_throw(ptr addrspace(12) %22), !dbg !312 unreachable, !dbg !312 L24: ; preds = %L20 br label %L25, !dbg !312 L25: ; preds = %L24 br label %L26, !dbg !317 L26: ; preds = %L25 %23 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !318 %.F_H.size_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %23, i32 16, !dbg !318 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F_H.size2, ptr addrspace(11) align 8 %.F_H.size_ptr1, i64 8, i1 false), !dbg !318, !tbaa !122, !alias.scope !292, !noalias !293 %24 = getelementptr inbounds i8, ptr %"new::Tuple4", i32 0, !dbg !325 %25 = getelementptr inbounds i8, ptr %24, i32 0, !dbg !325 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %25, ptr align 8 %.F_H.size2, i64 8, i1 false), !dbg !325, !tbaa !258, !alias.scope !260, !noalias !261 %.F_H.size2.unbox = load i64, ptr %.F_H.size2, align 8, !dbg !327, !tbaa !258, !alias.scope !260, !noalias !261 %.F_H.size.unbox5 = load i64, ptr %.F_H.size, align 8, !dbg !327, !tbaa !258, !alias.scope !260, !noalias !261 %26 = icmp eq i64 %.F_H.size2.unbox, %.F_H.size.unbox5, !dbg !327 %27 = zext i1 %26 to i8, !dbg !334 %28 = icmp eq i8 %27, 0, !dbg !334 %29 = xor i1 %28, true, !dbg !334 br i1 %29, label %L35, label %L34, !dbg !334 L34: ; preds = %L26 br label %L36, !dbg !335 L35: ; preds = %L26 br label %L36, !dbg !336 L36: ; preds = %L35, %L34 %value_phi6 = phi i8 [ 0, %L34 ], [ 1, %L35 ] br label %L38, !dbg !331 L38: ; preds = %L36 %30 = trunc i8 %value_phi6 to i1, !dbg !333 %31 = xor i1 %30, true, !dbg !333 br i1 %31, label %L284, label %L39, !dbg !333 L39: ; preds = %L38 %32 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !337 %.F.size_ptr7 = getelementptr inbounds i8, ptr addrspace(11) %32, i32 16, !dbg !337 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size8, ptr addrspace(11) align 8 %.F.size_ptr7, i64 8, i1 false), !dbg !337, !tbaa !122, !alias.scope !292, !noalias !293 %.F_H.size2.unbox9 = load i64, ptr %.F_H.size2, align 8, !dbg !340, !tbaa !258, !alias.scope !260, !noalias !261 %.F.size8.unbox = load i64, ptr %.F.size8, align 8, !dbg !340, !tbaa !258, !alias.scope !260, !noalias !261 %33 = icmp eq i64 %.F_H.size2.unbox9, %.F.size8.unbox, !dbg !340 %34 = zext i1 %33 to i8, !dbg !344 %35 = icmp eq i8 %34, 0, !dbg !344 %36 = xor i1 %35, true, !dbg !344 br i1 %36, label %L46, label %L45, !dbg !344 L45: ; preds = %L39 br label %L47, !dbg !345 L46: ; preds = %L39 br label %L47, !dbg !346 L47: ; preds = %L46, %L45 %value_phi10 = phi i8 [ 0, %L45 ], [ 1, %L46 ] br label %L49, !dbg !343 L49: ; preds = %L47 %37 = trunc i8 %value_phi10 to i1, !dbg !339 %38 = xor i1 %37, true, !dbg !339 br i1 %38, label %L137, label %L50, !dbg !339 L50: ; preds = %L49 %39 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !347 %.F.size_ptr11 = getelementptr inbounds i8, ptr addrspace(11) %39, i32 16, !dbg !347 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size12, ptr addrspace(11) align 8 %.F.size_ptr11, i64 8, i1 false), !dbg !347, !tbaa !122, !alias.scope !292, !noalias !293 %.F.size12.unbox = load i64, ptr %.F.size12, align 8, !dbg !355, !tbaa !258, !alias.scope !260, !noalias !261 %40 = icmp eq i64 %.F.size12.unbox, 0, !dbg !355 %41 = xor i1 %40, true, !dbg !356 br i1 %41, label %L55, label %L54, !dbg !356 L54: ; preds = %L50 br label %L133, !dbg !356 L55: ; preds = %L50 %.F.size12.unbox14 = load i64, ptr %.F.size12, align 8, !dbg !359, !tbaa !258, !alias.scope !260, !noalias !261 %42 = icmp slt i64 0, %.F.size12.unbox14, !dbg !359 %43 = xor i1 %42, true, !dbg !363 br i1 %43, label %L131, label %L57, !dbg !363 L57: ; preds = %L55 br i1 false, label %L81, label %L59, !dbg !364 L59: ; preds = %L57 %.F.size12.unbox15 = load i64, ptr %.F.size12, align 8, !dbg !365, !tbaa !258, !alias.scope !260, !noalias !261 %44 = add i64 1, %.F.size12.unbox15, !dbg !365 %45 = sub i64 %44, 1, !dbg !367 %46 = icmp sle i64 1, %45, !dbg !369 %47 = xor i1 %46, true, !dbg !373 br i1 %47, label %L64, label %L63, !dbg !373 L63: ; preds = %L59 br label %L65, !dbg !373 L64: ; preds = %L59 br label %L65, !dbg !379 L65: ; preds = %L64, %L63 %value_phi16 = phi i64 [ %45, %L63 ], [ 0, %L64 ] %48 = getelementptr inbounds i8, ptr %"new::Tuple17", i32 0, !dbg !375 %49 = getelementptr inbounds i8, ptr %48, i32 0, !dbg !375 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %49, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !375, !tbaa !122, !alias.scope !381, !noalias !382 %50 = getelementptr inbounds i8, ptr %48, i32 8, !dbg !375 store i64 %value_phi16, ptr %50, align 8, !dbg !375, !tbaa !258, !alias.scope !260, !noalias !261 %51 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !383 %.F_H.size_ptr18 = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !383 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F_H.size19, ptr addrspace(11) align 8 %.F_H.size_ptr18, i64 8, i1 false), !dbg !383, !tbaa !122, !alias.scope !292, !noalias !293 %52 = icmp slt i64 %value_phi16, 1, !dbg !388 %bitcast = load i64, ptr %.F_H.size19, align 8, !dbg !394, !tbaa !258, !alias.scope !260, !noalias !261 %53 = icmp ult i64 0, %bitcast, !dbg !399 %54 = sub i64 %value_phi16, 1, !dbg !400 %bitcast20 = load i64, ptr %.F_H.size19, align 8, !dbg !394, !tbaa !258, !alias.scope !260, !noalias !261 %55 = icmp ult i64 %54, %bitcast20, !dbg !399 %56 = and i1 %53, %55, !dbg !401 %57 = or i1 %52, %56, !dbg !403 %58 = xor i1 %57, true, !dbg !379 br i1 %58, label %L88, label %L80, !dbg !379 L80: ; preds = %L65 br label %L81, !dbg !379 L81: ; preds = %L80, %L57 br i1 false, label %L107, label %L83, !dbg !405 L83: ; preds = %L81 %.F.size12.unbox21 = load i64, ptr %.F.size12, align 8, !dbg !406, !tbaa !258, !alias.scope !260, !noalias !261 %59 = add i64 1, %.F.size12.unbox21, !dbg !406 %60 = sub i64 %59, 1, !dbg !407 %61 = icmp sle i64 1, %60, !dbg !408 %62 = xor i1 %61, true, !dbg !410 br i1 %62, label %L90, label %L87, !dbg !410 L87: ; preds = %L83 br label %L91, !dbg !410 L88: ; preds = %L65 %63 = addrspacecast ptr %"new::Tuple17" to ptr addrspace(11), !dbg !379 call void @julia_throw_boundserror_33729(ptr addrspace(10) %.F_H, ptr addrspace(11) nocapture readonly %63) #34, !dbg !379 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !379 unreachable, !dbg !379 L90: ; preds = %L83 br label %L91, !dbg !413 L91: ; preds = %L90, %L87 %value_phi22 = phi i64 [ %60, %L87 ], [ 0, %L90 ] %64 = getelementptr inbounds i8, ptr %"new::Tuple23", i32 0, !dbg !411 %65 = getelementptr inbounds i8, ptr %64, i32 0, !dbg !411 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %65, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !411, !tbaa !122, !alias.scope !381, !noalias !382 %66 = getelementptr inbounds i8, ptr %64, i32 8, !dbg !411 store i64 %value_phi22, ptr %66, align 8, !dbg !411, !tbaa !258, !alias.scope !260, !noalias !261 %67 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !414 %.F.size_ptr24 = getelementptr inbounds i8, ptr addrspace(11) %67, i32 16, !dbg !414 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size25, ptr addrspace(11) align 8 %.F.size_ptr24, i64 8, i1 false), !dbg !414, !tbaa !122, !alias.scope !292, !noalias !293 %68 = icmp slt i64 %value_phi22, 1, !dbg !418 %bitcast26 = load i64, ptr %.F.size25, align 8, !dbg !422, !tbaa !258, !alias.scope !260, !noalias !261 %69 = icmp ult i64 0, %bitcast26, !dbg !425 %70 = sub i64 %value_phi22, 1, !dbg !426 %bitcast27 = load i64, ptr %.F.size25, align 8, !dbg !422, !tbaa !258, !alias.scope !260, !noalias !261 %71 = icmp ult i64 %70, %bitcast27, !dbg !425 %72 = and i1 %69, %71, !dbg !427 %73 = or i1 %68, %72, !dbg !428 %74 = xor i1 %73, true, !dbg !413 br i1 %74, label %L124, label %L106, !dbg !413 L106: ; preds = %L91 br label %L107, !dbg !413 L107: ; preds = %L106, %L81 %75 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !429 %76 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %75, i32 0, i32 0, !dbg !429 %memoryref_data = load ptr, ptr addrspace(11) %76, align 8, !dbg !429, !tbaa !430, !alias.scope !433, !noalias !434 %77 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %75, i32 0, i32 1, !dbg !429 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %77, align 8, !dbg !429, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %78 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !429 %.F_H.ref = insertvalue { ptr, ptr addrspace(10) } %78, ptr addrspace(10) %memoryref_mem, 1, !dbg !429 %79 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !435 %80 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %79, i32 0, i32 0, !dbg !435 %memory_len = load i64, ptr addrspace(11) %80, align 8, !dbg !435, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %81 = add nuw i64 %memory_len, %memory_len, !dbg !435 %82 = add i64 0, %memory_len, !dbg !435 %memoryref_ovflw = icmp uge i64 %82, %81, !dbg !435 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !435 %83 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !435 %84 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %83, i32 0, i32 0, !dbg !435 %memory_len28 = load i64, ptr addrspace(11) %84, align 8, !dbg !435, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %85 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !435 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %85, i32 0, i32 1, !dbg !435 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !435, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %86 = ptrtoint ptr %memory_data to i64, !dbg !435 %87 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !435 %88 = sub i64 %87, %86, !dbg !435 %memoryref_bytelen = mul nuw nsw i64 %memory_len28, 8, !dbg !435 %memoryref_isinbounds = icmp ult i64 %88, %memoryref_bytelen, !dbg !435 %89 = xor i1 %memoryref_ovflw, true, !dbg !435 %"memoryref_isinbounds¬ovflw" = and i1 %89, %memoryref_isinbounds, !dbg !435 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !435 L122: ; preds = %idxend46 %"-Core.throw_inexacterror#33656" = load ptr, ptr @_Core_throw_inexacterror_33656, align 8, !dbg !443, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !118, !align !119 %90 = addrspacecast ptr %"-Core.throw_inexacterror#33656" to ptr addrspace(10), !dbg !443 %"jl_global#33657" = load ptr, ptr @jl_global_33657, align 8, !dbg !443, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %91 = addrspacecast ptr %"jl_global#33657" to ptr addrspace(10), !dbg !443 %"jl_sym#convert#33658" = load ptr, ptr @jl_sym_convert_33658, align 8, !dbg !443, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %92 = addrspacecast ptr %"jl_sym#convert#33658" to ptr addrspace(10), !dbg !443 %93 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !443, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %94 = addrspacecast ptr %93 to ptr addrspace(10), !dbg !443 %box_Int64 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %256) #35, !dbg !443 %95 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %90, ptr addrspace(10) %91, ptr addrspace(10) %92, ptr addrspace(10) %94, ptr addrspace(10) %box_Int64), !dbg !443 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !443 unreachable, !dbg !443 L124: ; preds = %L91 %96 = addrspacecast ptr %"new::Tuple23" to ptr addrspace(11), !dbg !413 call void @julia_throw_boundserror_33729(ptr addrspace(10) %.F, ptr addrspace(11) nocapture readonly %96) #34, !dbg !413 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !413 unreachable, !dbg !413 L126: ; preds = %idxend46 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref.ptr_or_offset, ptr %memory_ref47.ptr_or_offset, i64 %256, i1 false), !dbg !453 call void @llvm.julia.gc_preserve_end(token %255), !dbg !459 call void @llvm.julia.gc_preserve_end(token %254), !dbg !460 br label %L133, !dbg !461 L131: ; preds = %L55 %"jl_global#33661" = load ptr, ptr @jl_global_33661, align 8, !dbg !363, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %97 = addrspacecast ptr %"jl_global#33661" to ptr addrspace(10), !dbg !363 call void @julia__throw_argerror_33726(ptr addrspace(10) %97) #34, !dbg !363 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !363 unreachable, !dbg !363 L133: ; preds = %L126, %L54 br label %L134, !dbg !356 L134: ; preds = %L133 br label %L135, !dbg !356 L135: ; preds = %L134 br label %L136, !dbg !356 L136: ; preds = %L135 br label %L286, !dbg !462 L137: ; preds = %L49 %98 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !463 %99 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !463 %100 = icmp eq ptr addrspace(11) %98, %99, !dbg !463 %101 = xor i1 %100, true, !dbg !463 br i1 %101, label %L140, label %L139, !dbg !463 L139: ; preds = %L137 br label %L204, !dbg !463 L140: ; preds = %L137 %102 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !471 %.F_H.size_ptr129 = getelementptr inbounds i8, ptr addrspace(11) %102, i32 16, !dbg !471 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F_H.size130, ptr addrspace(11) align 8 %.F_H.size_ptr129, i64 8, i1 false), !dbg !471, !tbaa !122, !alias.scope !292, !noalias !293 %.F_H.size130.unbox = load i64, ptr %.F_H.size130, align 8, !dbg !479, !tbaa !258, !alias.scope !260, !noalias !261 %103 = icmp eq i64 %.F_H.size130.unbox, 0, !dbg !479 %104 = xor i1 %103, true, !dbg !480 %105 = xor i1 %104, true, !dbg !475 br i1 %105, label %L163, label %L145, !dbg !475 L145: ; preds = %L140 %106 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !471 %.F.size_ptr131 = getelementptr inbounds i8, ptr addrspace(11) %106, i32 16, !dbg !471 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size132, ptr addrspace(11) align 8 %.F.size_ptr131, i64 8, i1 false), !dbg !471, !tbaa !122, !alias.scope !292, !noalias !293 %.F.size132.unbox = load i64, ptr %.F.size132, align 8, !dbg !479, !tbaa !258, !alias.scope !260, !noalias !261 %107 = icmp eq i64 %.F.size132.unbox, 0, !dbg !479 %108 = xor i1 %107, true, !dbg !480 %109 = xor i1 %108, true, !dbg !475 br i1 %109, label %L162, label %L150, !dbg !475 L150: ; preds = %L145 %110 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !482 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %110, i32 0, i32 0, !dbg !482 %112 = load ptr, ptr addrspace(11) %111, align 8, !dbg !482, !tbaa !430, !alias.scope !433, !noalias !434 %113 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %110, i32 0, i32 1, !dbg !482 %114 = load ptr addrspace(10), ptr addrspace(11) %113, align 8, !dbg !482, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %115 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %112, 0, !dbg !482 %.F_H.ref133 = insertvalue { ptr, ptr addrspace(10) } %115, ptr addrspace(10) %114, 1, !dbg !482 %.F_H.ref133.mem = extractvalue { ptr, ptr addrspace(10) } %.F_H.ref133, 1, !dbg !482 %116 = addrspacecast ptr addrspace(10) %.F_H.ref133.mem to ptr addrspace(11), !dbg !485 %.F_H.ref133.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %116, i32 8, !dbg !485 %bitcast134 = load ptr, ptr addrspace(11) %.F_H.ref133.mem.ptr_ptr, align 8, !dbg !487, !tbaa !441, !alias.scope !433, !noalias !434 %bitcast_coercion = ptrtoint ptr %bitcast134 to i64, !dbg !487 %117 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !482 %118 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !482 %119 = load ptr, ptr addrspace(11) %118, align 8, !dbg !482, !tbaa !430, !alias.scope !433, !noalias !434 %120 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %117, i32 0, i32 1, !dbg !482 %121 = load ptr addrspace(10), ptr addrspace(11) %120, align 8, !dbg !482, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %122 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %119, 0, !dbg !482 %.F.ref135 = insertvalue { ptr, ptr addrspace(10) } %122, ptr addrspace(10) %121, 1, !dbg !482 %.F.ref135.mem = extractvalue { ptr, ptr addrspace(10) } %.F.ref135, 1, !dbg !482 %123 = addrspacecast ptr addrspace(10) %.F.ref135.mem to ptr addrspace(11), !dbg !485 %.F.ref135.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %123, i32 8, !dbg !485 %bitcast136 = load ptr, ptr addrspace(11) %.F.ref135.mem.ptr_ptr, align 8, !dbg !487, !tbaa !441, !alias.scope !433, !noalias !434 %bitcast_coercion137 = ptrtoint ptr %bitcast136 to i64, !dbg !487 %124 = icmp eq i64 %bitcast_coercion, %bitcast_coercion137, !dbg !488 %125 = xor i1 %124, true, !dbg !493 %126 = xor i1 %125, true, !dbg !480 %127 = zext i1 %126 to i8 br label %L164, !dbg !480 L162: ; preds = %L145 br label %L164, !dbg !463 L163: ; preds = %L140 br label %L164, !dbg !463 L164: ; preds = %L163, %L162, %L150 %value_phi138 = phi i8 [ %127, %L150 ], [ 0, %L162 ], [ 0, %L163 ] %128 = trunc i8 %value_phi138 to i1, !dbg !477 %129 = xor i1 %128, true, !dbg !477 br i1 %129, label %L201, label %L166, !dbg !477 L166: ; preds = %L164 %130 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !494 %131 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %130, i32 0, i32 0, !dbg !494 %132 = load ptr, ptr addrspace(11) %131, align 8, !dbg !494, !tbaa !430, !alias.scope !433, !noalias !434 %133 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %130, i32 0, i32 1, !dbg !494 %134 = load ptr addrspace(10), ptr addrspace(11) %133, align 8, !dbg !494, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %135 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %132, 0, !dbg !494 %.F.ref139 = insertvalue { ptr, ptr addrspace(10) } %135, ptr addrspace(10) %134, 1, !dbg !494 %136 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !499 %.F.size_ptr140 = getelementptr inbounds i8, ptr addrspace(11) %136, i32 16, !dbg !499 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size141, ptr addrspace(11) align 8 %.F.size_ptr140, i64 8, i1 false), !dbg !499, !tbaa !122, !alias.scope !292, !noalias !293 %.F.size141.unbox = load i64, ptr %.F.size141, align 8, !dbg !502, !tbaa !258, !alias.scope !260, !noalias !261 %memorynew_empty = icmp eq i64 %.F.size141.unbox, 0, !dbg !502 br i1 %memorynew_empty, label %emptymem, label %nonemptymem, !dbg !502 L182: ; preds = %retval %"-Core.throw_inexacterror#33656150" = load ptr, ptr @_Core_throw_inexacterror_33656, align 8, !dbg !504, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !118, !align !119 %137 = addrspacecast ptr %"-Core.throw_inexacterror#33656150" to ptr addrspace(10), !dbg !504 %"jl_global#33657151" = load ptr, ptr @jl_global_33657, align 8, !dbg !504, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %138 = addrspacecast ptr %"jl_global#33657151" to ptr addrspace(10), !dbg !504 %"jl_sym#convert#33658152" = load ptr, ptr @jl_sym_convert_33658, align 8, !dbg !504, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0 %139 = addrspacecast ptr %"jl_sym#convert#33658152" to ptr addrspace(10), !dbg !504 %140 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !504, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %141 = addrspacecast ptr %140 to ptr addrspace(10), !dbg !504 %box_Int64153 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %301) #35, !dbg !504 %142 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %137, ptr addrspace(10) %138, ptr addrspace(10) %139, ptr addrspace(10) %141, ptr addrspace(10) %box_Int64153), !dbg !504 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !504 unreachable, !dbg !504 L184: ; preds = %retval br label %L185, !dbg !504 L185: ; preds = %L184 br label %L187, !dbg !505 L187: ; preds = %L185 br label %L188, !dbg !505 L188: ; preds = %L187 br label %L189, !dbg !505 L189: ; preds = %L188 br label %L190, !dbg !505 L190: ; preds = %L189 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref147.ptr_or_offset, ptr %.F.ref139.ptr_or_offset, i64 %301, i1 false), !dbg !509 br label %L192, !dbg !509 L192: ; preds = %L190 call void @llvm.julia.gc_preserve_end(token %300), !dbg !512 call void @llvm.julia.gc_preserve_end(token %299), !dbg !513 br label %L195, !dbg !514 L195: ; preds = %L192 %143 = addrspacecast ptr addrspace(10) %295 to ptr addrspace(11), !dbg !515 %memory_data_ptr156 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %143, i32 0, i32 1, !dbg !515 %memory_data157 = load ptr, ptr addrspace(11) %memory_data_ptr156, align 8, !dbg !515, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %144 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memory_data157, 0, !dbg !515 %memory_ref158 = insertvalue { ptr, ptr addrspace(10) } %144, ptr addrspace(10) %295, 1, !dbg !515 %145 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !517 %.F.size_ptr159 = getelementptr inbounds i8, ptr addrspace(11) %145, i32 16, !dbg !517 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size160, ptr addrspace(11) align 8 %.F.size_ptr159, i64 8, i1 false), !dbg !517, !tbaa !122, !alias.scope !292, !noalias !293 %"+Core.Array#33667" = load ptr, ptr @_Core_Array_33667, align 8, !dbg !516, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %Array = ptrtoint ptr %"+Core.Array#33667" to i64, !dbg !516 %146 = inttoptr i64 %Array to ptr, !dbg !516 %current_task161 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !516 %147 = addrspacecast ptr %146 to ptr addrspace(10), !dbg !516 %"new::Array" = call noalias nonnull align 8 dereferenceable(24) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task161, i64 24, ptr addrspace(10) %147) #33, !dbg !516 %148 = addrspacecast ptr addrspace(10) %"new::Array" to ptr addrspace(11), !dbg !516 %149 = getelementptr inbounds i8, ptr addrspace(11) %148, i32 8, !dbg !516 store ptr addrspace(10) null, ptr addrspace(11) %149, align 8, !dbg !516, !tbaa !518, !alias.scope !433, !noalias !434 %150 = addrspacecast ptr addrspace(10) %"new::Array" to ptr addrspace(11), !dbg !516 store { ptr, ptr addrspace(10) } %memory_ref158, ptr addrspace(11) %150, align 8, !dbg !516, !tbaa !430, !alias.scope !433, !noalias !434 %151 = addrspacecast ptr addrspace(10) %"new::Array" to ptr addrspace(11), !dbg !516 %"new::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %151, i32 16, !dbg !516 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %"new::Array.size_ptr", ptr align 8 %.F.size160, i64 8, i1 false), !dbg !516, !tbaa !122, !alias.scope !519, !noalias !293 br label %L199, !dbg !516 L199: ; preds = %L195 br label %L200, !dbg !516 L200: ; preds = %L199 br label %L202, !dbg !516 L201: ; preds = %L164 br label %L202, !dbg !463 L202: ; preds = %L201, %L200 %value_phi162 = phi ptr addrspace(10) [ %"new::Array", %L200 ], [ %.F, %L201 ] br label %L204, !dbg !463 L204: ; preds = %L202, %L139 %value_phi55 = phi ptr addrspace(10) [ %.F, %L139 ], [ %value_phi162, %L202 ] %152 = addrspacecast ptr addrspace(10) %value_phi55 to ptr addrspace(11), !dbg !520 %value_phi55.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %152, i32 16, !dbg !520 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %value_phi55.size, ptr addrspace(11) align 8 %value_phi55.size_ptr, i64 8, i1 false), !dbg !520, !tbaa !122, !alias.scope !292, !noalias !293 %value_phi55.size.unbox = load i64, ptr %value_phi55.size, align 8, !dbg !526, !tbaa !258, !alias.scope !260, !noalias !261 %153 = icmp eq i64 %value_phi55.size.unbox, 1, !dbg !526 %154 = xor i1 %153, true, !dbg !532 %155 = getelementptr inbounds i8, ptr %"new::Tuple56", i32 0, !dbg !528 %156 = zext i1 %154 to i8, !dbg !528 store i8 %156, ptr %155, align 1, !dbg !528, !tbaa !258, !alias.scope !260, !noalias !261 %157 = getelementptr inbounds i8, ptr %"new::Extruded", i32 8, !dbg !533 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %157, ptr align 1 %"new::Tuple56", i64 1, i1 false), !dbg !533, !tbaa !258, !alias.scope !260, !noalias !261 %158 = getelementptr inbounds i8, ptr %"new::Extruded", i32 16, !dbg !533 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %158, ptr align 8 @_j_const_4, i64 8, i1 false), !dbg !533, !tbaa !122, !alias.scope !381, !noalias !382 br label %L213, !dbg !533 L213: ; preds = %L204 %159 = getelementptr inbounds i8, ptr %"new::Tuple57", i32 0, !dbg !467 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %159, ptr align 8 %"new::Extruded", i64 24, i1 false), !dbg !467, !tbaa !258, !alias.scope !260, !noalias !261 br label %L215, !dbg !467 L215: ; preds = %L213 %160 = getelementptr inbounds i8, ptr %"new::Broadcasted", i32 0, !dbg !535 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %160, ptr align 8 %"new::Tuple57", i64 24, i1 false), !dbg !535, !tbaa !258, !alias.scope !260, !noalias !261 %161 = getelementptr inbounds i8, ptr %"new::Broadcasted", i32 24, !dbg !535 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %161, ptr align 8 %"new::Tuple", i64 8, i1 false), !dbg !535, !tbaa !258, !alias.scope !260, !noalias !261 br label %L217, !dbg !535 L217: ; preds = %L215 %.F_H.size.unbox58 = load i64, ptr %.F_H.size, align 8, !dbg !537, !tbaa !258, !alias.scope !260, !noalias !261 %162 = icmp slt i64 0, %.F_H.size.unbox58, !dbg !537 %163 = xor i1 %162, true, !dbg !538 br i1 %163, label %L282, label %L219, !dbg !538 L219: ; preds = %L217 br label %L220, !dbg !538 L220: ; preds = %load116, %L219 %value_phi59 = phi i64 [ 0, %L219 ], [ %283, %load116 ] %.F_H.size.unbox60 = load i64, ptr %.F_H.size, align 8, !dbg !546, !tbaa !258, !alias.scope !260, !noalias !261 %164 = icmp slt i64 %value_phi59, %.F_H.size.unbox60, !dbg !546 %165 = xor i1 %164, true, !dbg !547 br i1 %165, label %L282, label %L223, !dbg !547 L223: ; preds = %L220 %166 = add i64 %value_phi59, 1, !dbg !548 br i1 false, label %L233, label %L226, !dbg !552 L226: ; preds = %L223 %167 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !552 store i64 %166, ptr %167, align 8, !dbg !552, !tbaa !258, !alias.scope !260, !noalias !261 %168 = sub i64 %166, 1, !dbg !556 %bitcast62 = load i64, ptr %.F_H.size, align 8, !dbg !560, !tbaa !258, !alias.scope !260, !noalias !261 %169 = icmp ult i64 %168, %bitcast62, !dbg !562 %170 = xor i1 %169, true, !dbg !559 br i1 %170, label %L265, label %L232, !dbg !559 L232: ; preds = %L226 br label %L233, !dbg !559 L233: ; preds = %L232, %L223 br i1 false, label %L241, label %L235, !dbg !563 L235: ; preds = %L233 %171 = sub i64 %166, 1, !dbg !569 %bitcast63 = load i64, ptr %.F_H.size, align 8, !dbg !573, !tbaa !258, !alias.scope !260, !noalias !261 %172 = icmp ult i64 %171, %bitcast63, !dbg !575 %173 = xor i1 %172, true, !dbg !571 br i1 %173, label %L267, label %L240, !dbg !571 L240: ; preds = %L235 br label %L241, !dbg !571 L241: ; preds = %L240, %L233 %ifelse_cond = xor i1 %154, true, !dbg !576 %174 = select i1 %ifelse_cond, i64 1, i64 %166, !dbg !576 br i1 false, label %L252, label %L244, !dbg !585 L244: ; preds = %L241 %175 = sub i64 %174, 1, !dbg !587 %176 = addrspacecast ptr addrspace(10) %value_phi55 to ptr addrspace(11), !dbg !590 %value_phi55.size_ptr64 = getelementptr inbounds i8, ptr addrspace(11) %176, i32 16, !dbg !590 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %value_phi55.size65, ptr addrspace(11) align 8 %value_phi55.size_ptr64, i64 8, i1 false), !dbg !590, !tbaa !122, !alias.scope !292, !noalias !293 %bitcast66 = load i64, ptr %value_phi55.size65, align 8, !dbg !587, !tbaa !258, !alias.scope !260, !noalias !261 %177 = icmp ult i64 %175, %bitcast66, !dbg !587 %178 = xor i1 %177, true, !dbg !589 br i1 %178, label %L270, label %L251, !dbg !589 L251: ; preds = %L244 br label %L252, !dbg !589 L252: ; preds = %L251, %L241 %179 = addrspacecast ptr addrspace(10) %value_phi55 to ptr addrspace(11), !dbg !592 %180 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %179, i32 0, i32 0, !dbg !592 %memoryref_data67 = load ptr, ptr addrspace(11) %180, align 8, !dbg !592, !tbaa !430, !alias.scope !433, !noalias !434 %181 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %179, i32 0, i32 1, !dbg !592 %memoryref_mem85 = load ptr addrspace(10), ptr addrspace(11) %181, align 8, !dbg !592, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %182 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data67, 0, !dbg !592 %value_phi55.ref = insertvalue { ptr, ptr addrspace(10) } %182, ptr addrspace(10) %memoryref_mem85, 1, !dbg !592 %memoryref_offset = sub i64 %174, 1, !dbg !592 %183 = addrspacecast ptr addrspace(10) %memoryref_mem85 to ptr addrspace(11), !dbg !592 %184 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %183, i32 0, i32 0, !dbg !592 %memory_len69 = load i64, ptr addrspace(11) %184, align 8, !dbg !592, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %185 = add nuw i64 %memory_len69, %memory_len69, !dbg !592 %186 = add i64 %memoryref_offset, %memory_len69, !dbg !592 %memoryref_ovflw70 = icmp uge i64 %186, %185, !dbg !592 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !592 %memoryref_data_byteoffset71 = getelementptr i8, ptr %memoryref_data67, i64 %memoryref_byteoffset, !dbg !592 %187 = addrspacecast ptr addrspace(10) %memoryref_mem85 to ptr addrspace(11), !dbg !592 %188 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %187, i32 0, i32 0, !dbg !592 %memory_len72 = load i64, ptr addrspace(11) %188, align 8, !dbg !592, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %189 = addrspacecast ptr addrspace(10) %memoryref_mem85 to ptr addrspace(11), !dbg !592 %memory_data_ptr73 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %189, i32 0, i32 1, !dbg !592 %memory_data74 = load ptr, ptr addrspace(11) %memory_data_ptr73, align 8, !dbg !592, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %190 = ptrtoint ptr %memory_data74 to i64, !dbg !592 %191 = ptrtoint ptr %memoryref_data_byteoffset71 to i64, !dbg !592 %192 = sub i64 %191, %190, !dbg !592 %memoryref_bytelen75 = mul nuw nsw i64 %memory_len72, 8, !dbg !592 %memoryref_isinbounds76 = icmp ult i64 %192, %memoryref_bytelen75, !dbg !592 %193 = xor i1 %memoryref_ovflw70, true, !dbg !592 %"memoryref_isinbounds¬ovflw77" = and i1 %193, %memoryref_isinbounds76, !dbg !592 br i1 %"memoryref_isinbounds¬ovflw77", label %idxend83, label %oob78, !dbg !592 L257: ; preds = %load %194 = sub i64 %166, 1, !dbg !593 %195 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !598 %.F_H.size_ptr89 = getelementptr inbounds i8, ptr addrspace(11) %195, i32 16, !dbg !598 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F_H.size90, ptr addrspace(11) align 8 %.F_H.size_ptr89, i64 8, i1 false), !dbg !598, !tbaa !122, !alias.scope !292, !noalias !293 %bitcast91 = load i64, ptr %.F_H.size90, align 8, !dbg !593, !tbaa !258, !alias.scope !260, !noalias !261 %196 = icmp ult i64 %194, %bitcast91, !dbg !593 %197 = xor i1 %196, true, !dbg !594 br i1 %197, label %L273, label %L264, !dbg !594 L264: ; preds = %L257 br label %L276, !dbg !594 L265: ; preds = %L226 %198 = addrspacecast ptr %"new::OneTo" to ptr addrspace(11), !dbg !559 %199 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !559 call void @julia_throw_boundserror_33723(ptr addrspace(11) nocapture readonly %198, ptr addrspace(11) nocapture readonly %199) #34, !dbg !559 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !559 unreachable, !dbg !559 L267: ; preds = %L235 %200 = getelementptr inbounds i8, ptr %"new::Tuple124", i32 0, !dbg !571 store i64 %166, ptr %200, align 8, !dbg !571, !tbaa !258, !alias.scope !260, !noalias !261 %201 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !571 store ptr addrspace(10) %value_phi55, ptr %201, align 8, !dbg !571 %202 = addrspacecast ptr %"new::Broadcasted" to ptr addrspace(11), !dbg !571 %203 = addrspacecast ptr %"new::Tuple124" to ptr addrspace(11), !dbg !571 call void @julia_throw_boundserror_33720(ptr addrspace(11) nocapture readonly %202, ptr nocapture readonly %0, ptr addrspace(11) nocapture readonly %203) #34, !dbg !571 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !571 unreachable, !dbg !571 L270: ; preds = %L244 %204 = getelementptr inbounds i8, ptr %"new::Tuple121", i32 0, !dbg !589 store i64 %174, ptr %204, align 8, !dbg !589, !tbaa !258, !alias.scope !260, !noalias !261 %205 = addrspacecast ptr %"new::Tuple121" to ptr addrspace(11), !dbg !589 call void @julia_throw_boundserror_33645(ptr addrspace(10) %value_phi55, ptr addrspace(11) nocapture readonly %205) #34, !dbg !589 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !589 unreachable, !dbg !589 L273: ; preds = %L257 %206 = getelementptr inbounds i8, ptr %"new::Tuple118", i32 0, !dbg !594 store i64 %166, ptr %206, align 8, !dbg !594, !tbaa !258, !alias.scope !260, !noalias !261 %207 = addrspacecast ptr %"new::Tuple118" to ptr addrspace(11), !dbg !594 call void @julia_throw_boundserror_33645(ptr addrspace(10) %.F_H, ptr addrspace(11) nocapture readonly %207) #34, !dbg !594 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !594 unreachable, !dbg !594 L276: ; preds = %L264, %load %208 = addrspacecast ptr addrspace(10) %.F_H to ptr addrspace(11), !dbg !600 %209 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %208, i32 0, i32 0, !dbg !600 %memoryref_data93 = load ptr, ptr addrspace(11) %209, align 8, !dbg !600, !tbaa !430, !alias.scope !433, !noalias !434 %210 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %208, i32 0, i32 1, !dbg !600 %memoryref_mem113 = load ptr addrspace(10), ptr addrspace(11) %210, align 8, !dbg !600, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %211 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data93, 0, !dbg !600 %.F_H.ref92 = insertvalue { ptr, ptr addrspace(10) } %211, ptr addrspace(10) %memoryref_mem113, 1, !dbg !600 %memoryref_offset95 = sub i64 %166, 1, !dbg !601 %212 = addrspacecast ptr addrspace(10) %memoryref_mem113 to ptr addrspace(11), !dbg !601 %213 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %212, i32 0, i32 0, !dbg !601 %memory_len96 = load i64, ptr addrspace(11) %213, align 8, !dbg !601, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %214 = add nuw i64 %memory_len96, %memory_len96, !dbg !601 %215 = add i64 %memoryref_offset95, %memory_len96, !dbg !601 %memoryref_ovflw97 = icmp uge i64 %215, %214, !dbg !601 %memoryref_byteoffset98 = mul i64 %memoryref_offset95, 8, !dbg !601 %memoryref_data_byteoffset99 = getelementptr i8, ptr %memoryref_data93, i64 %memoryref_byteoffset98, !dbg !601 %216 = addrspacecast ptr addrspace(10) %memoryref_mem113 to ptr addrspace(11), !dbg !601 %217 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %216, i32 0, i32 0, !dbg !601 %memory_len100 = load i64, ptr addrspace(11) %217, align 8, !dbg !601, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %218 = addrspacecast ptr addrspace(10) %memoryref_mem113 to ptr addrspace(11), !dbg !601 %memory_data_ptr101 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %218, i32 0, i32 1, !dbg !601 %memory_data102 = load ptr, ptr addrspace(11) %memory_data_ptr101, align 8, !dbg !601, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %219 = ptrtoint ptr %memory_data102 to i64, !dbg !601 %220 = ptrtoint ptr %memoryref_data_byteoffset99 to i64, !dbg !601 %221 = sub i64 %220, %219, !dbg !601 %memoryref_bytelen103 = mul nuw nsw i64 %memory_len100, 8, !dbg !601 %memoryref_isinbounds104 = icmp ult i64 %221, %memoryref_bytelen103, !dbg !601 %222 = xor i1 %memoryref_ovflw97, true, !dbg !601 %"memoryref_isinbounds¬ovflw105" = and i1 %222, %memoryref_isinbounds104, !dbg !601 br i1 %"memoryref_isinbounds¬ovflw105", label %idxend111, label %oob106, !dbg !601 L282: ; preds = %L220, %L217 br label %L283, !dbg !541 L283: ; preds = %L282 br label %L286, !dbg !602 L284: ; preds = %L38 %223 = addrspacecast ptr %"new::Tuple4" to ptr addrspace(11), !dbg !333 %224 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !333 call void @julia_throwdm_33715(ptr addrspace(11) nocapture readonly %223, ptr addrspace(11) nocapture readonly %224) #34, !dbg !333 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3_1), !dbg !333 unreachable, !dbg !333 L286: ; preds = %L283, %L136 br label %L287, !dbg !462 L287: ; preds = %L286 br label %L288, !dbg !288 L288: ; preds = %L287 br label %L289, !dbg !291 L289: ; preds = %L288 call void @julia_advance_33672(ptr addrspace(10) %3), !dbg !603 %225 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !604 %.t_ptr = getelementptr inbounds i8, ptr addrspace(11) %225, i32 16, !dbg !604 %.t = load double, ptr addrspace(11) %.t_ptr, align 8, !dbg !604, !tbaa !275, !alias.scope !279, !noalias !280 %226 = getelementptr inbounds i8, ptr addrspace(11) %"#self#::#muoptcontrol##1#muoptcontrol##2", i32 8, !dbg !605 %.unbox = load double, ptr addrspace(11) %226, align 8, !dbg !606, !tbaa !107, !alias.scope !110, !noalias !113 %227 = fadd double %.t, %.unbox, !dbg !606 %228 = addrspacecast ptr addrspace(10) %3 to ptr addrspace(11), !dbg !608 %.t_ptr13 = getelementptr inbounds i8, ptr addrspace(11) %228, i32 16, !dbg !608 store double %227, ptr addrspace(11) %.t_ptr13, align 8, !dbg !608, !tbaa !275, !alias.scope !279, !noalias !280 ret double %227, !dbg !608 oob: ; preds = %L107 %"+Core.GenericMemoryRef#33643" = load ptr, ptr @_Core_GenericMemoryRef_33643, align 8, !dbg !435, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#33643" to i64, !dbg !435 %229 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !435 %current_task29 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !435 %230 = addrspacecast ptr %229 to ptr addrspace(10), !dbg !435 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task29, i64 16, ptr addrspace(10) %230) #33, !dbg !435 %231 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !435 store { ptr, ptr addrspace(10) } %.F_H.ref, ptr addrspace(11) %231, align 8, !dbg !435, !tbaa !315, !alias.scope !279, !noalias !280 %232 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !435 call void @ijl_bounds_error_int(ptr addrspace(12) %232, i64 1), !dbg !435 unreachable, !dbg !435 idxend: ; preds = %L107 %233 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !435 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %233, ptr addrspace(10) %memoryref_mem, 1, !dbg !435 %234 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !429 %235 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %234, i32 0, i32 0, !dbg !429 %memoryref_data30 = load ptr, ptr addrspace(11) %235, align 8, !dbg !429, !tbaa !430, !alias.scope !433, !noalias !434 %236 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %234, i32 0, i32 1, !dbg !429 %memoryref_mem31 = load ptr addrspace(10), ptr addrspace(11) %236, align 8, !dbg !429, !tbaa !430, !alias.scope !433, !noalias !434, !dereferenceable_or_null !121, !align !119 %237 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data30, 0, !dbg !429 %.F.ref = insertvalue { ptr, ptr addrspace(10) } %237, ptr addrspace(10) %memoryref_mem31, 1, !dbg !429 %238 = addrspacecast ptr addrspace(10) %memoryref_mem31 to ptr addrspace(11), !dbg !435 %239 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %238, i32 0, i32 0, !dbg !435 %memory_len32 = load i64, ptr addrspace(11) %239, align 8, !dbg !435, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %240 = add nuw i64 %memory_len32, %memory_len32, !dbg !435 %241 = add i64 0, %memory_len32, !dbg !435 %memoryref_ovflw33 = icmp uge i64 %241, %240, !dbg !435 %memoryref_data_byteoffset34 = getelementptr i8, ptr %memoryref_data30, i64 0, !dbg !435 %242 = addrspacecast ptr addrspace(10) %memoryref_mem31 to ptr addrspace(11), !dbg !435 %243 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %242, i32 0, i32 0, !dbg !435 %memory_len35 = load i64, ptr addrspace(11) %243, align 8, !dbg !435, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %244 = addrspacecast ptr addrspace(10) %memoryref_mem31 to ptr addrspace(11), !dbg !435 %memory_data_ptr36 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %244, i32 0, i32 1, !dbg !435 %memory_data37 = load ptr, ptr addrspace(11) %memory_data_ptr36, align 8, !dbg !435, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %245 = ptrtoint ptr %memory_data37 to i64, !dbg !435 %246 = ptrtoint ptr %memoryref_data_byteoffset34 to i64, !dbg !435 %247 = sub i64 %246, %245, !dbg !435 %memoryref_bytelen38 = mul nuw nsw i64 %memory_len35, 8, !dbg !435 %memoryref_isinbounds39 = icmp ult i64 %247, %memoryref_bytelen38, !dbg !435 %248 = xor i1 %memoryref_ovflw33, true, !dbg !435 %"memoryref_isinbounds¬ovflw40" = and i1 %248, %memoryref_isinbounds39, !dbg !435 br i1 %"memoryref_isinbounds¬ovflw40", label %idxend46, label %oob41, !dbg !435 oob41: ; preds = %idxend %"+Core.GenericMemoryRef#3364342" = load ptr, ptr @_Core_GenericMemoryRef_33643, align 8, !dbg !435, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %GenericMemoryRef43 = ptrtoint ptr %"+Core.GenericMemoryRef#3364342" to i64, !dbg !435 %249 = inttoptr i64 %GenericMemoryRef43 to ptr, !dbg !435 %current_task44 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !435 %250 = addrspacecast ptr %249 to ptr addrspace(10), !dbg !435 %"box::GenericMemoryRef45" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task44, i64 16, ptr addrspace(10) %250) #33, !dbg !435 %251 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef45" to ptr addrspace(11), !dbg !435 store { ptr, ptr addrspace(10) } %.F.ref, ptr addrspace(11) %251, align 8, !dbg !435, !tbaa !315, !alias.scope !279, !noalias !280 %252 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef45" to ptr addrspace(12), !dbg !435 call void @ijl_bounds_error_int(ptr addrspace(12) %252, i64 1), !dbg !435 unreachable, !dbg !435 idxend46: ; preds = %idxend %253 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset34, 0, !dbg !435 %memory_ref47 = insertvalue { ptr, ptr addrspace(10) } %253, ptr addrspace(10) %memoryref_mem31, 1, !dbg !435 %254 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem), !dbg !610 %255 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem31), !dbg !611 %memory_ref.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref, 0, !dbg !612 %memory_ref47.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref47, 0, !dbg !612 %.F.size12.unbox48 = load i64, ptr %.F.size12, align 8, !dbg !618, !tbaa !258, !alias.scope !260, !noalias !261 %256 = mul i64 %.F.size12.unbox48, 8, !dbg !618 %257 = lshr i64 %256, 63, !dbg !620 %258 = select i1 false, i64 0, i64 %257, !dbg !620 %259 = trunc i64 %258 to i8, !dbg !620 %260 = icmp eq i8 %259, 1, !dbg !620 %261 = xor i1 %260, true, !dbg !443 br i1 %261, label %L126, label %L122, !dbg !443 after_error: ; No predecessors! call void @llvm.trap(), !dbg !443 unreachable, !dbg !443 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !443 unreachable, !dbg !443 after_error49: ; No predecessors! call void @llvm.trap(), !dbg !413 unreachable, !dbg !413 after_noret50: ; No predecessors! call void @llvm.trap(), !dbg !413 unreachable, !dbg !413 after_error51: ; No predecessors! call void @llvm.trap(), !dbg !379 unreachable, !dbg !379 after_noret52: ; No predecessors! call void @llvm.trap(), !dbg !379 unreachable, !dbg !379 after_error53: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 after_noret54: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 oob78: ; preds = %L252 %"+Core.GenericMemoryRef#3364379" = load ptr, ptr @_Core_GenericMemoryRef_33643, align 8, !dbg !592, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %GenericMemoryRef80 = ptrtoint ptr %"+Core.GenericMemoryRef#3364379" to i64, !dbg !592 %262 = inttoptr i64 %GenericMemoryRef80 to ptr, !dbg !592 %current_task81 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !592 %263 = addrspacecast ptr %262 to ptr addrspace(10), !dbg !592 %"box::GenericMemoryRef82" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task81, i64 16, ptr addrspace(10) %263) #33, !dbg !592 %264 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef82" to ptr addrspace(11), !dbg !592 store { ptr, ptr addrspace(10) } %value_phi55.ref, ptr addrspace(11) %264, align 8, !dbg !592, !tbaa !315, !alias.scope !279, !noalias !280 %265 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef82" to ptr addrspace(12), !dbg !592 call void @ijl_bounds_error_int(ptr addrspace(12) %265, i64 %174), !dbg !592 unreachable, !dbg !592 idxend83: ; preds = %L252 %266 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset71, 0, !dbg !592 %memory_ref84 = insertvalue { ptr, ptr addrspace(10) } %266, ptr addrspace(10) %memoryref_mem85, 1, !dbg !592 %267 = addrspacecast ptr addrspace(10) %memoryref_mem85 to ptr addrspace(11), !dbg !592 %268 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %267, i32 0, i32 0, !dbg !592 %memory_len86 = load i64, ptr addrspace(11) %268, align 8, !dbg !592, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %269 = icmp eq i64 %memory_len86, 0, !dbg !592 br i1 %269, label %oob87, label %load, !dbg !592 oob87: ; preds = %idxend83 %270 = addrspacecast ptr addrspace(10) %memoryref_mem85 to ptr addrspace(12), !dbg !592 call void @ijl_bounds_error_int(ptr addrspace(12) %270, i64 1), !dbg !592 unreachable, !dbg !592 load: ; preds = %idxend83 %271 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem85, ptr %memoryref_data67), !dbg !592 %memoryref_data88 = getelementptr inbounds i8, ptr addrspace(13) %271, i64 %memoryref_byteoffset, !dbg !592 %272 = load double, ptr addrspace(13) %memoryref_data88, align 8, !dbg !592, !tbaa !622, !alias.scope !279, !noalias !280 br i1 false, label %L276, label %L257, !dbg !594 oob106: ; preds = %L276 %"+Core.GenericMemoryRef#33643107" = load ptr, ptr @_Core_GenericMemoryRef_33643, align 8, !dbg !601, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %GenericMemoryRef108 = ptrtoint ptr %"+Core.GenericMemoryRef#33643107" to i64, !dbg !601 %273 = inttoptr i64 %GenericMemoryRef108 to ptr, !dbg !601 %current_task109 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !601 %274 = addrspacecast ptr %273 to ptr addrspace(10), !dbg !601 %"box::GenericMemoryRef110" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task109, i64 16, ptr addrspace(10) %274) #33, !dbg !601 %275 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef110" to ptr addrspace(11), !dbg !601 store { ptr, ptr addrspace(10) } %.F_H.ref92, ptr addrspace(11) %275, align 8, !dbg !601, !tbaa !315, !alias.scope !279, !noalias !280 %276 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef110" to ptr addrspace(12), !dbg !601 call void @ijl_bounds_error_int(ptr addrspace(12) %276, i64 %166), !dbg !601 unreachable, !dbg !601 idxend111: ; preds = %L276 %277 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset99, 0, !dbg !601 %memory_ref112 = insertvalue { ptr, ptr addrspace(10) } %277, ptr addrspace(10) %memoryref_mem113, 1, !dbg !601 %278 = addrspacecast ptr addrspace(10) %memoryref_mem113 to ptr addrspace(11), !dbg !601 %279 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %278, i32 0, i32 0, !dbg !601 %memory_len114 = load i64, ptr addrspace(11) %279, align 8, !dbg !601, !tbaa !438, !range !440, !alias.scope !433, !noalias !434 %280 = icmp eq i64 %memory_len114, 0, !dbg !601 br i1 %280, label %oob115, label %load116, !dbg !601 oob115: ; preds = %idxend111 %281 = addrspacecast ptr addrspace(10) %memoryref_mem113 to ptr addrspace(12), !dbg !601 call void @ijl_bounds_error_int(ptr addrspace(12) %281, i64 1), !dbg !601 unreachable, !dbg !601 load116: ; preds = %idxend111 %282 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem113, ptr %memoryref_data93), !dbg !601 %memoryref_data117 = getelementptr inbounds i8, ptr addrspace(13) %282, i64 %memoryref_byteoffset98, !dbg !601 store double %272, ptr addrspace(13) %memoryref_data117, align 8, !dbg !601, !tbaa !622, !alias.scope !279, !noalias !280 %283 = add i64 %value_phi59, 1, !dbg !624 br label %L220, !dbg !626, !llvm.loop !627 after_error119: ; No predecessors! call void @llvm.trap(), !dbg !594 unreachable, !dbg !594 after_noret120: ; No predecessors! call void @llvm.trap(), !dbg !594 unreachable, !dbg !594 after_error122: ; No predecessors! call void @llvm.trap(), !dbg !589 unreachable, !dbg !589 after_noret123: ; No predecessors! call void @llvm.trap(), !dbg !589 unreachable, !dbg !589 after_error125: ; No predecessors! call void @llvm.trap(), !dbg !571 unreachable, !dbg !571 after_noret126: ; No predecessors! call void @llvm.trap(), !dbg !571 unreachable, !dbg !571 after_error127: ; No predecessors! call void @llvm.trap(), !dbg !559 unreachable, !dbg !559 after_noret128: ; No predecessors! call void @llvm.trap(), !dbg !559 unreachable, !dbg !559 emptymem: ; preds = %L166 %"jl_global#33665" = load ptr, ptr @jl_global_33665, align 8, !dbg !502, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !121, !align !119 %284 = addrspacecast ptr %"jl_global#33665" to ptr addrspace(10), !dbg !502 br label %retval, !dbg !502 nonemptymem: ; preds = %L166 %"+Core.GenericMemory#33666" = load ptr, ptr @_Core_GenericMemory_33666, align 8, !dbg !502, !tbaa !107, !alias.scope !110, !noalias !113, !nonnull !0, !dereferenceable !120, !align !121 %285 = call { i64, i1 } @llvm.smul.with.overflow.i64(i64 %.F.size141.unbox, i64 8), !dbg !502 %286 = extractvalue { i64, i1 } %285, 0, !dbg !502 %287 = extractvalue { i64, i1 } %285, 1, !dbg !502 %288 = icmp slt i64 %.F.size141.unbox, 0, !dbg !502 %289 = or i1 %287, %288, !dbg !502 %290 = icmp slt i64 9223372036854775806, %286, !dbg !502 %291 = or i1 %289, %290, !dbg !502 %292 = xor i1 %291, true, !dbg !502 br i1 %292, label %pass, label %fail, !dbg !502 fail: ; preds = %nonemptymem call void @jl_argument_error(ptr @_j_str_invalid_GenericMemory_siz____5), !dbg !502 unreachable, !dbg !502 pass: ; preds = %nonemptymem %current_task142 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !502 %ptls_field143 = getelementptr inbounds i8, ptr %current_task142, i32 168, !dbg !502 %ptls_load144 = load ptr, ptr %ptls_field143, align 8, !dbg !502, !tbaa !103 %"Memory{Float64}[]" = call noalias nonnull align 16 ptr addrspace(10) @jl_alloc_genericmemory_unchecked(ptr %ptls_load144, i64 %286, ptr %"+Core.GenericMemory#33666") #36, !dbg !502 %293 = addrspacecast ptr addrspace(10) %"Memory{Float64}[]" to ptr addrspace(11), !dbg !502 %294 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %293, i32 0, i32 0, !dbg !502 store i64 %.F.size141.unbox, ptr addrspace(11) %294, align 8, !dbg !502, !tbaa !438, !alias.scope !433, !noalias !434 br label %retval, !dbg !502 retval: ; preds = %pass, %emptymem %295 = phi ptr addrspace(10) [ %284, %emptymem ], [ %"Memory{Float64}[]", %pass ], !dbg !502 %296 = addrspacecast ptr addrspace(10) %295 to ptr addrspace(11), !dbg !628 %memory_data_ptr145 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %296, i32 0, i32 1, !dbg !628 %memory_data146 = load ptr, ptr addrspace(11) %memory_data_ptr145, align 8, !dbg !628, !tbaa !441, !alias.scope !433, !noalias !434, !nonnull !0 %297 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memory_data146, 0, !dbg !628 %memory_ref147 = insertvalue { ptr, ptr addrspace(10) } %297, ptr addrspace(10) %295, 1, !dbg !628 %298 = addrspacecast ptr addrspace(10) %.F to ptr addrspace(11), !dbg !629 %.F.size_ptr148 = getelementptr inbounds i8, ptr addrspace(11) %298, i32 16, !dbg !629 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.F.size149, ptr addrspace(11) align 8 %.F.size_ptr148, i64 8, i1 false), !dbg !629, !tbaa !122, !alias.scope !292, !noalias !293 %299 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %295), !dbg !631 %300 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %134), !dbg !632 %memory_ref147.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref147, 0, !dbg !633 %.F.ref139.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %.F.ref139, 0, !dbg !633 %.F.size149.unbox = load i64, ptr %.F.size149, align 8, !dbg !635, !tbaa !258, !alias.scope !260, !noalias !261 %301 = mul i64 %.F.size149.unbox, 8, !dbg !635 %302 = lshr i64 %301, 63, !dbg !636 %303 = select i1 false, i64 0, i64 %302, !dbg !636 %304 = trunc i64 %303 to i8, !dbg !636 %305 = icmp eq i8 %304, 1, !dbg !636 %306 = xor i1 %305, true, !dbg !504 br i1 %306, label %L184, label %L182, !dbg !504 after_error154: ; No predecessors! call void @llvm.trap(), !dbg !504 unreachable, !dbg !504 after_noret155: ; No predecessors! call void @llvm.trap(), !dbg !504 unreachable, !dbg !504 after_error163: ; No predecessors! call void @llvm.trap(), !dbg !333 unreachable, !dbg !333 after_noret164: ; No predecessors! call void @llvm.trap(), !dbg !333 unreachable, !dbg !333 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !312 unreachable, !dbg !312 after_noret166: ; No predecessors! call void @llvm.trap(), !dbg !312 unreachable, !dbg !312 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(Main.var"#muoptcontrol##1#muoptcontrol##2"{Main.Model, Float64}, Int64) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:74 [15] muoptcontrol(scheme::Revolve{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:44 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:37 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:31 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 scheme = Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define double @julia_foo_34045(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(24) %"#self#::#foo#muoptcontrol##0", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %".roots.#self#", ptr addrspace(10) noundef nonnull align 8 dereferenceable(32) %"model::Model") #3 !dbg !102 { top: %"new::#muoptcontrol##1#muoptcontrol##2" = alloca [2 x i64], align 8 %"new::UnitRange" = alloca [2 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %"model::Model.F.size" = alloca i64, align 8 %"new::Tuple" = alloca [1 x i64], 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 !104, !alias.scope !108, !noalias !111 %1 = getelementptr inbounds i8, ptr %".roots.#self#", i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !116, !alias.scope !118, !noalias !119 %3 = getelementptr inbounds i8, ptr addrspace(11) %"#self#::#foo#muoptcontrol##0", i32 16, !dbg !120 %4 = getelementptr inbounds i8, ptr %"new::#muoptcontrol##1#muoptcontrol##2", i32 8, !dbg !120 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %4, ptr addrspace(11) align 8 %3, i64 8, i1 false), !dbg !120, !tbaa !124, !alias.scope !125, !noalias !126 %5 = getelementptr inbounds i8, ptr addrspace(11) %"#self#::#foo#muoptcontrol##0", i32 8, !dbg !127 %.unbox = load i64, ptr addrspace(11) %5, align 8, !dbg !128, !tbaa !116, !alias.scope !118, !noalias !119 %6 = icmp sle i64 1, %.unbox, !dbg !128 %7 = xor i1 %6, true, !dbg !132 br i1 %7, label %L9, label %L8, !dbg !132 L8: ; preds = %top %8 = icmp ne ptr addrspace(11) %5, null br i1 %8, label %guard_pass, label %guard_exit L9: ; preds = %top br label %L10, !dbg !139 L10: ; preds = %L9, %guard_exit6 %value_phi = phi i64 [ %guard_res8, %guard_exit6 ], [ 0, %L9 ] %9 = getelementptr inbounds i8, ptr %"new::UnitRange", i32 0, !dbg !135 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 @_j_const_1, i64 8, i1 false), !dbg !135, !tbaa !124, !alias.scope !144, !noalias !145 %10 = getelementptr inbounds i8, ptr %"new::UnitRange", i32 8, !dbg !135 store i64 %value_phi, ptr %10, align 8, !dbg !135, !tbaa !146, !alias.scope !148, !noalias !149 br label %L13, !dbg !135 L13: ; preds = %L10 br label %L14, !dbg !135 L14: ; preds = %L13 %11 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !127 store ptr addrspace(10) %"model::Model", ptr %11, align 8, !dbg !127 %12 = addrspacecast ptr %"new::#muoptcontrol##1#muoptcontrol##2" to ptr addrspace(11), !dbg !127 %13 = addrspacecast ptr %"new::UnitRange" to ptr addrspace(11), !dbg !127 call void @julia_checkpoint_for_34056(ptr addrspace(11) nocapture readonly %12, ptr nocapture readonly %0, ptr addrspace(10) %2, ptr addrspace(11) nocapture readonly %13), !dbg !127 %14 = addrspacecast ptr addrspace(10) %"model::Model" to ptr addrspace(11), !dbg !150 %"model::Model.F" = load atomic ptr addrspace(10), ptr addrspace(11) %14 unordered, align 8, !dbg !150, !tbaa !153, !alias.scope !157, !noalias !158, !nonnull !0, !dereferenceable !159, !align !160 br i1 false, label %L30, label %L18, !dbg !141 L18: ; preds = %L14 %15 = addrspacecast ptr addrspace(10) %"model::Model.F" to ptr addrspace(11), !dbg !161 %"model::Model.F.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %15, i32 16, !dbg !161 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"model::Model.F.size", ptr addrspace(11) align 8 %"model::Model.F.size_ptr", i64 8, i1 false), !dbg !161, !tbaa !124, !alias.scope !166, !noalias !167 %bitcast = load i64, ptr %"model::Model.F.size", align 8, !dbg !165, !tbaa !146, !alias.scope !148, !noalias !149 %16 = icmp ult i64 1, %bitcast, !dbg !165 %17 = xor i1 %16, true, !dbg !139 br i1 %17, label %L26, label %L25, !dbg !139 L25: ; preds = %L18 br label %L29, !dbg !139 L26: ; preds = %L18 %18 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !139 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %18, ptr align 8 @_j_const_2, i64 8, i1 false), !dbg !139, !tbaa !124, !alias.scope !144, !noalias !145 %19 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !139 call void @julia_throw_boundserror_34051(ptr addrspace(10) %"model::Model.F", ptr addrspace(11) nocapture readonly %19) #33, !dbg !139 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____3), !dbg !139 unreachable, !dbg !139 L29: ; preds = %L25 br label %L30, !dbg !139 L30: ; preds = %L29, %L14 %20 = addrspacecast ptr addrspace(10) %"model::Model.F" to ptr addrspace(11), !dbg !168 %21 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 0, !dbg !168 %memoryref_data = load ptr, ptr addrspace(11) %21, align 8, !dbg !168, !tbaa !169, !alias.scope !172, !noalias !173 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %20, i32 0, i32 1, !dbg !168 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %22, align 8, !dbg !168, !tbaa !169, !alias.scope !172, !noalias !173, !dereferenceable_or_null !174, !align !160 %23 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !168 %"model::Model.F.ref" = insertvalue { ptr, ptr addrspace(10) } %23, ptr addrspace(10) %memoryref_mem, 1, !dbg !168 %24 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !168 %25 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %24, i32 0, i32 0, !dbg !168 %memory_len = load i64, ptr addrspace(11) %25, align 8, !dbg !168, !tbaa !175, !range !177, !alias.scope !172, !noalias !173 %26 = add nuw i64 %memory_len, %memory_len, !dbg !168 %27 = add i64 1, %memory_len, !dbg !168 %memoryref_ovflw = icmp uge i64 %27, %26, !dbg !168 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 8, !dbg !168 %28 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !168 %29 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %28, i32 0, i32 0, !dbg !168 %memory_len1 = load i64, ptr addrspace(11) %29, align 8, !dbg !168, !tbaa !175, !range !177, !alias.scope !172, !noalias !173 %30 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !168 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !168 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !168, !tbaa !178, !alias.scope !172, !noalias !173, !nonnull !0 %31 = ptrtoint ptr %memory_data to i64, !dbg !168 %32 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !168 %33 = sub i64 %32, %31, !dbg !168 %memoryref_bytelen = mul nuw nsw i64 %memory_len1, 8, !dbg !168 %memoryref_isinbounds = icmp ult i64 %33, %memoryref_bytelen, !dbg !168 %34 = xor i1 %memoryref_ovflw, true, !dbg !168 %"memoryref_isinbounds¬ovflw" = and i1 %34, %memoryref_isinbounds, !dbg !168 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !168 L34: ; preds = %load ret double %45, !dbg !143 oob: ; preds = %L30 %"+Core.GenericMemoryRef#34049" = load ptr, ptr @_Core_GenericMemoryRef_34049, align 8, !dbg !168, !tbaa !116, !alias.scope !118, !noalias !119, !nonnull !0, !dereferenceable !180, !align !174 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#34049" to i64, !dbg !168 %35 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !168 %current_task = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !168 %36 = addrspacecast ptr %35 to ptr addrspace(10), !dbg !168 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task, i64 16, ptr addrspace(10) %36) #34, !dbg !168 %37 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !168 store { ptr, ptr addrspace(10) } %"model::Model.F.ref", ptr addrspace(11) %37, align 8, !dbg !168, !tbaa !181, !alias.scope !157, !noalias !158 %38 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !168 call void @ijl_bounds_error_int(ptr addrspace(12) %38, i64 2), !dbg !168 unreachable, !dbg !168 idxend: ; preds = %L30 %39 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !168 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %39, ptr addrspace(10) %memoryref_mem, 1, !dbg !168 %40 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !168 %41 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %40, i32 0, i32 0, !dbg !168 %memory_len2 = load i64, ptr addrspace(11) %41, align 8, !dbg !168, !tbaa !175, !range !177, !alias.scope !172, !noalias !173 %42 = icmp eq i64 %memory_len2, 0, !dbg !168 br i1 %42, label %oob3, label %load, !dbg !168 oob3: ; preds = %idxend %43 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !168 call void @ijl_bounds_error_int(ptr addrspace(12) %43, i64 1), !dbg !168 unreachable, !dbg !168 load: ; preds = %idxend %44 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !168 %memoryref_data4 = getelementptr inbounds i8, ptr addrspace(13) %44, i64 8, !dbg !168 %45 = load double, ptr addrspace(13) %memoryref_data4, align 8, !dbg !168, !tbaa !183, !alias.scope !157, !noalias !158 br label %L34, !dbg !168 after_error: ; No predecessors! call void @llvm.trap(), !dbg !139 unreachable, !dbg !139 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !139 unreachable, !dbg !139 guard_pass: ; preds = %L8 br label %guard_exit guard_exit: ; preds = %guard_pass, %L8 %guard_res = phi i1 [ false, %L8 ], [ true, %guard_pass ] br i1 %guard_res, label %guard_pass5, label %guard_exit6 guard_pass5: ; preds = %guard_exit %.unbox7 = load i64, ptr addrspace(11) %5, align 8, !tbaa !116, !alias.scope !118, !noalias !119 br label %guard_exit6 guard_exit6: ; preds = %guard_pass5, %guard_exit %guard_res8 = phi i64 [ undef, %guard_exit ], [ %.unbox7, %guard_pass5 ] br label %L10, !dbg !132 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(Main.var"#foo#muoptcontrol##0"{Checkpointing.Periodic{Nothing}, Int64, Float64}, Main.Model) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64, verbose::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:74 [15] muoptcontrol(scheme::Periodic{Nothing}, steps::Int64, snaps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/optcontrol.jl:44 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:37 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:32 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:31 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 Revolve with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34485(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34451" = load ptr, ptr @_Core_BoundsError_34451, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34451" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#34452" = load ptr, ptr @_Core_BoundsError_34452, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34452" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#34487" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34487, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34487" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !93, !alias.scope !91, !noalias !92 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34453" = load ptr, ptr @_Core_Tuple_34453, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34453" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Number of checkpoints: 100 Revolve with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34694(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34660" = load ptr, ptr @_Core_BoundsError_34660, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34660" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#34661" = load ptr, ptr @_Core_BoundsError_34661, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34661" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#34696" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34696, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34696" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !93, !alias.scope !91, !noalias !92 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34662" = load ptr, ptr @_Core_Tuple_34662, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34662" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Periodic with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34910(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34876" = load ptr, ptr @_Core_BoundsError_34876, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34876" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#34877" = load ptr, ptr @_Core_BoundsError_34877, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34877" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#34912" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34912, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34912" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !62, !alias.scope !60, !noalias !61 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34878" = load ptr, ptr @_Core_Tuple_34878, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34878" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Periodic checkpointing with 100 checkpoints and period 0 Periodic with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_34972(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#34938" = load ptr, ptr @_Core_BoundsError_34938, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#34938" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#34939" = load ptr, ptr @_Core_BoundsError_34939, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#34939" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#34974" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_34974, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#34974" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !62, !alias.scope !60, !noalias !61 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#34940" = load ptr, ptr @_Core_Tuple_34940, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#34940" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Online_r2 with verbose=0: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_35200(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #9 !dbg !48 { 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 !19, !alias.scope !50, !noalias !51 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !52 %4 = xor i1 %3, true, !dbg !52 br i1 %4, label %L6, label %L4, !dbg !52 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !53 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !53 %6 = call i8 @julia__sumheat__2_35203(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !53 br label %L2, !dbg !54 L6: ; preds = %L2 ret void, !dbg !55 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 [ Info: [Checkpointing] Number of checkpoints: 100 Online_r2 with verbose=1: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_35262(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #9 !dbg !48 { 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 !19, !alias.scope !50, !noalias !51 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !52 %4 = xor i1 %3, true, !dbg !52 br i1 %4, label %L6, label %L4, !dbg !52 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !53 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !53 %6 = call i8 @julia__sumheat__2_35265(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !53 br label %L2, !dbg !54 L6: ; preds = %L2 ret void, !dbg !55 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:50 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:46 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:45 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_35985(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#35951" = load ptr, ptr @_Core_BoundsError_35951, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#35951" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#35952" = load ptr, ptr @_Core_BoundsError_35952, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#35952" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#35987" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_35987, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#35987" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !93, !alias.scope !91, !noalias !92 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#35953" = load ptr, ptr @_Core_Tuple_35953, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#35953" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_36075(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(32) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #19 !dbg !330 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#36041" = load ptr, ptr @_Core_BoundsError_36041, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %3 = addrspacecast ptr %"-Core.BoundsError#36041" to ptr addrspace(10), !dbg !331 %"+Core.BoundsError#36042" = load ptr, ptr @_Core_BoundsError_36042, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %4 = addrspacecast ptr %"+Core.BoundsError#36042" to ptr addrspace(10), !dbg !331 %"+Main.Base.Broadcast.Broadcasted#36077" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_36077, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#36077" to i64, !dbg !331 %5 = inttoptr i64 %Broadcasted to ptr, !dbg !331 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %6 = addrspacecast ptr %5 to ptr addrspace(10), !dbg !331 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(32) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 32, ptr addrspace(10) %6) #25, !dbg !331 %7 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !331 %8 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 0, !dbg !331 store atomic ptr addrspace(10) %2, ptr addrspace(11) %8 unordered, align 8, !dbg !331, !tbaa !62, !alias.scope !60, !noalias !61 %9 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !331 %10 = getelementptr inbounds i8, ptr addrspace(11) %7, i32 8, !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %10, ptr addrspace(11) align 8 %9, i64 24, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#36043" = load ptr, ptr @_Core_Tuple_36043, align 8, !dbg !331, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#36043" to i64, !dbg !331 %11 = inttoptr i64 %Tuple to ptr, !dbg !331 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !331 %12 = addrspacecast ptr %11 to ptr addrspace(10), !dbg !331 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %12) #25, !dbg !331 %13 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !331 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %13, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !331, !tbaa !38, !alias.scope !39, !noalias !40 %14 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %3, ptr addrspace(10) %4, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !331 %15 = addrspacecast ptr addrspace(10) %14 to ptr addrspace(12), !dbg !331 call void @ijl_throw(ptr addrspace(12) %15), !dbg !331 unreachable, !dbg !331 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !331 unreachable, !dbg !331 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(identity), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Online_r2: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_36136(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#sumheat##2#sumheat##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #9 !dbg !48 { 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 !19, !alias.scope !50, !noalias !51 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 br label %L2 L2: ; preds = %L4, %top %value_phi = phi i8 [ 1, %top ], [ %6, %L4 ] %3 = trunc i8 %value_phi to i1, !dbg !52 %4 = xor i1 %3, true, !dbg !52 br i1 %4, label %L6, label %L4, !dbg !52 L4: ; preds = %L2 %5 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !53 store ptr addrspace(10) %2, ptr %5, align 8, !dbg !53 %6 = call i8 @julia__sumheat__2_36139(ptr addrspace(11) nocapture readonly %"body::#sumheat##2#sumheat##3", ptr nocapture readonly %0), !dbg !53 br label %L2, !dbg !54 L6: ; preds = %L2 ret void, !dbg !55 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#sumheat##2#sumheat##3"{Main.Heat, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [inlined] [15] heat(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/heat.jl:63 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:62 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:57 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:44 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [25] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [26] top-level scope @ none:6 [27] eval(m::Module, e::Any) @ Core ./boot.jl:489 [28] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [29] _start() @ Base ./client.jl:577 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test UndefVarError: `scoped_no_alias_aa!` not defined in `Enzyme.Compiler` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] (::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine})(pm::LLVM.ModulePassManager) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:356 [2] LLVM.ModulePassManager(::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine}; kwargs::@Kwargs{}) @ LLVM ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:33 [3] ModulePassManager @ ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:30 [inlined] [4] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:351 [5] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:4774 [6] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [7] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [8] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5960 [9] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [10] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:6015 [inlined] [11] 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/lBjPq/src/compiler.jl:6131 [12] 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/lBjPq/src/compiler.jl:6275 [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [15] box(scheme::Revolve{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test UndefVarError: `scoped_no_alias_aa!` not defined in `Enzyme.Compiler` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] (::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine})(pm::LLVM.ModulePassManager) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:356 [2] LLVM.ModulePassManager(::Enzyme.Compiler.var"#optimize!##0#optimize!##1"{LLVM.Module, LLVM.TargetMachine}; kwargs::@Kwargs{}) @ LLVM ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:33 [3] ModulePassManager @ ~/.julia/packages/LLVM/iza6e/src/passmanager.jl:30 [inlined] [4] optimize!(mod::LLVM.Module, tm::LLVM.TargetMachine) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler/optimize.jl:351 [5] compile_unhooked(output::Symbol, job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:4774 [6] compile(target::Symbol, job::GPUCompiler.CompilerJob; kwargs::@Kwargs{}) @ GPUCompiler ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:67 [7] compile @ ~/.julia/packages/GPUCompiler/Gp8bZ/src/driver.jl:55 [inlined] [8] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget{GPUCompiler.NativeCompilerTarget}, Enzyme.Compiler.EnzymeCompilerParams{Enzyme.Compiler.PrimalCompilerParams}}, postopt::Bool) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5960 [9] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [10] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:6015 [inlined] [11] 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/lBjPq/src/compiler.jl:6131 [12] 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/lBjPq/src/compiler.jl:6275 [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [14] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [15] box(scheme::Periodic{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [22] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [23] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [24] top-level scope @ none:6 [25] eval(m::Module, e::Any) @ Core ./boot.jl:489 [26] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [27] _start() @ Base ./client.jl:577 Online_r2: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_while_36704(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#timestepper##2#timestepper##3", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(152) %"scheme::Online_r2") #13 !dbg !337 { top: %.in_now3.size = alloca i64, align 8 %.out_old2.size = alloca i64, align 8 %.in_old9.size = alloca i64, align 8 %.out_now7.size = alloca i64, align 8 %"new::Tuple" = alloca [1 x i64], align 8 %"new::Tuple81" = alloca [1 x i64], align 8 %pgcstack = call ptr @julia.get_pgcstack() %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 !14 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !18 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !18, !alias.scope !32, !noalias !35 br label %L2 L2: ; preds = %L112, %top %value_phi = phi i8 [ 1, %top ], [ %81, %L112 ] %3 = trunc i8 %value_phi to i1, !dbg !339 %4 = xor i1 %3, true, !dbg !339 br i1 %4, label %L113, label %L4, !dbg !339 L4: ; preds = %L2 %5 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.in_now = load atomic ptr addrspace(10), ptr addrspace(11) %5 unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %6 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.in_old_ptr = getelementptr inbounds i8, ptr addrspace(11) %6, i32 8, !dbg !340 %.in_old = load atomic ptr addrspace(10), ptr addrspace(11) %.in_old_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %7 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.out_now_ptr = getelementptr inbounds i8, ptr addrspace(11) %7, i32 16, !dbg !340 %.out_now = load atomic ptr addrspace(10), ptr addrspace(11) %.out_now_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %8 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !340 %.out_old_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 24, !dbg !340 %.out_old = load atomic ptr addrspace(10), ptr addrspace(11) %.out_old_ptr unordered, align 8, !dbg !340, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 call void @julia_forward_func_4_AD_36719(ptr addrspace(10) %.in_now, ptr addrspace(10) %.in_old, ptr addrspace(10) %.out_now, ptr addrspace(10) %.out_old), !dbg !342 %9 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !352 %.out_old_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !352 %.out_old2 = load atomic ptr addrspace(10), ptr addrspace(11) %.out_old_ptr1 unordered, align 8, !dbg !352, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %10 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !352 %.in_now3 = load atomic ptr addrspace(10), ptr addrspace(11) %10 unordered, align 8, !dbg !352, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %11 = addrspacecast ptr addrspace(10) %.in_now3 to ptr addrspace(11), !dbg !354 %.in_now3.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %11, i32 16, !dbg !354 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.in_now3.size, ptr addrspace(11) align 8 %.in_now3.size_ptr, i64 8, i1 false), !dbg !354, !tbaa !55, !alias.scope !73, !noalias !74 br i1 false, label %L27, label %L18, !dbg !360 L18: ; preds = %L4 %12 = addrspacecast ptr addrspace(10) %.out_old2 to ptr addrspace(11), !dbg !361 %.out_old2.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %12, i32 16, !dbg !361 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.out_old2.size, ptr addrspace(11) align 8 %.out_old2.size_ptr, i64 8, i1 false), !dbg !361, !tbaa !55, !alias.scope !73, !noalias !74 %.out_old2.size.unbox = load i64, ptr %.out_old2.size, align 8, !dbg !365, !tbaa !86, !alias.scope !88, !noalias !89 %.in_now3.size.unbox = load i64, ptr %.in_now3.size, align 8, !dbg !365, !tbaa !86, !alias.scope !88, !noalias !89 %13 = icmp eq i64 %.out_old2.size.unbox, %.in_now3.size.unbox, !dbg !365 %14 = xor i1 %13, true, !dbg !363 br i1 %14, label %L23, label %L22, !dbg !363 L22: ; preds = %L18 br label %L26, !dbg !363 L23: ; preds = %L18 %15 = getelementptr inbounds i8, ptr %"new::Tuple81", i32 0, !dbg !363 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %.in_now3.size, i64 8, i1 false), !dbg !363, !tbaa !86, !alias.scope !88, !noalias !89 %16 = addrspacecast ptr %"new::Tuple81" to ptr addrspace(11), !dbg !363 call void @julia_throw_setindex_mismatch_36711(ptr addrspace(10) %.out_old2, ptr addrspace(11) nocapture readonly %16) #17, !dbg !363 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_7), !dbg !363 unreachable, !dbg !363 L26: ; preds = %L22 br label %L27, !dbg !363 L27: ; preds = %L26, %L4 %.in_now3.size.unbox4 = load i64, ptr %.in_now3.size, align 8, !dbg !367, !tbaa !86, !alias.scope !88, !noalias !89 %17 = icmp slt i64 0, %.in_now3.size.unbox4, !dbg !367 %18 = xor i1 %17, true, !dbg !371 br i1 %18, label %L55, label %L29, !dbg !371 L29: ; preds = %L27 %.in_now3.size.unbox5 = load i64, ptr %.in_now3.size, align 8, !dbg !372, !tbaa !86, !alias.scope !88, !noalias !89 %19 = icmp eq i64 %.in_now3.size.unbox5, 0, !dbg !372 %20 = xor i1 %19, true, !dbg !373 br i1 %20, label %L32, label %L31, !dbg !373 L31: ; preds = %L29 br label %L54, !dbg !373 L32: ; preds = %L29 %21 = addrspacecast ptr addrspace(10) %.in_now3 to ptr addrspace(11), !dbg !376 %22 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %21, i32 0, i32 0, !dbg !376 %memoryref_data38 = load ptr, ptr addrspace(11) %22, align 8, !dbg !376, !tbaa !53, !alias.scope !45, !noalias !46 %23 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %21, i32 0, i32 1, !dbg !376 %memoryref_mem39 = load ptr addrspace(10), ptr addrspace(11) %23, align 8, !dbg !376, !tbaa !53, !alias.scope !45, !noalias !46, !dereferenceable_or_null !41, !align !104 %24 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data38, 0, !dbg !376 %.in_now3.ref = insertvalue { ptr, ptr addrspace(10) } %24, ptr addrspace(10) %memoryref_mem39, 1, !dbg !376 %25 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %26 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %25, i32 0, i32 0, !dbg !378 %memory_len40 = load i64, ptr addrspace(11) %26, align 8, !dbg !378, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %27 = add nuw i64 %memory_len40, %memory_len40, !dbg !378 %28 = add i64 0, %memory_len40, !dbg !378 %memoryref_ovflw41 = icmp uge i64 %28, %27, !dbg !378 %memoryref_data_byteoffset42 = getelementptr i8, ptr %memoryref_data38, i64 0, !dbg !378 %29 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %30 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %29, i32 0, i32 0, !dbg !378 %memory_len43 = load i64, ptr addrspace(11) %30, align 8, !dbg !378, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %31 = addrspacecast ptr addrspace(10) %memoryref_mem39 to ptr addrspace(11), !dbg !378 %memory_data_ptr44 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %31, i32 0, i32 1, !dbg !378 %memory_data45 = load ptr, ptr addrspace(11) %memory_data_ptr44, align 8, !dbg !378, !tbaa !42, !alias.scope !45, !noalias !46, !nonnull !0 %32 = ptrtoint ptr %memory_data45 to i64, !dbg !378 %33 = ptrtoint ptr %memoryref_data_byteoffset42 to i64, !dbg !378 %34 = sub i64 %33, %32, !dbg !378 %memoryref_bytelen46 = mul nuw nsw i64 %memory_len43, 8, !dbg !378 %memoryref_isinbounds47 = icmp ult i64 %34, %memoryref_bytelen46, !dbg !378 %35 = xor i1 %memoryref_ovflw41, true, !dbg !378 %"memoryref_isinbounds¬ovflw48" = and i1 %35, %memoryref_isinbounds47, !dbg !378 br i1 %"memoryref_isinbounds¬ovflw48", label %idxend54, label %oob49, !dbg !378 L47: ; preds = %idxend72 %"-Core.throw_inexacterror#3670775" = load ptr, ptr @_Core_throw_inexacterror_36707, align 8, !dbg !380, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !188, !align !104 %36 = addrspacecast ptr %"-Core.throw_inexacterror#3670775" to ptr addrspace(10), !dbg !380 %"jl_global#3670876" = load ptr, ptr @jl_global_36708, align 8, !dbg !380, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0 %37 = addrspacecast ptr %"jl_global#3670876" to ptr addrspace(10), !dbg !380 %"jl_sym#convert#3670977" = load ptr, ptr @jl_sym_convert_36709, align 8, !dbg !380, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0 %38 = addrspacecast ptr %"jl_sym#convert#3670977" to ptr addrspace(10), !dbg !380 %39 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !380, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %40 = addrspacecast ptr %39 to ptr addrspace(10), !dbg !380 %box_Int6478 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %142) #18, !dbg !380 %41 = 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) %38, ptr addrspace(10) %40, ptr addrspace(10) %box_Int6478), !dbg !380 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_7), !dbg !380 unreachable, !dbg !380 L49: ; preds = %idxend72 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref55.ptr_or_offset, ptr %memory_ref73.ptr_or_offset, i64 %142, i1 false), !dbg !390 call void @llvm.julia.gc_preserve_end(token %141), !dbg !394 call void @llvm.julia.gc_preserve_end(token %140), !dbg !395 br label %L54, !dbg !396 L54: ; preds = %L49, %L31 br label %L55, !dbg !373 L55: ; preds = %L54, %L27 br label %L56, !dbg !397 L56: ; preds = %L55 %42 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !398 %.out_now_ptr6 = getelementptr inbounds i8, ptr addrspace(11) %42, i32 16, !dbg !398 %.out_now7 = load atomic ptr addrspace(10), ptr addrspace(11) %.out_now_ptr6 unordered, align 8, !dbg !398, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %43 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !398 %.in_old_ptr8 = getelementptr inbounds i8, ptr addrspace(11) %43, i32 8, !dbg !398 %.in_old9 = load atomic ptr addrspace(10), ptr addrspace(11) %.in_old_ptr8 unordered, align 8, !dbg !398, !tbaa !349, !alias.scope !170, !noalias !171, !nonnull !0, !dereferenceable !351, !align !104 %44 = addrspacecast ptr addrspace(10) %.in_old9 to ptr addrspace(11), !dbg !400 %.in_old9.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %44, i32 16, !dbg !400 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.in_old9.size, ptr addrspace(11) align 8 %.in_old9.size_ptr, i64 8, i1 false), !dbg !400, !tbaa !55, !alias.scope !73, !noalias !74 br i1 false, label %L73, label %L64, !dbg !403 L64: ; preds = %L56 %45 = addrspacecast ptr addrspace(10) %.out_now7 to ptr addrspace(11), !dbg !404 %.out_now7.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %45, i32 16, !dbg !404 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %.out_now7.size, ptr addrspace(11) align 8 %.out_now7.size_ptr, i64 8, i1 false), !dbg !404, !tbaa !55, !alias.scope !73, !noalias !74 %.out_now7.size.unbox = load i64, ptr %.out_now7.size, align 8, !dbg !407, !tbaa !86, !alias.scope !88, !noalias !89 %.in_old9.size.unbox = load i64, ptr %.in_old9.size, align 8, !dbg !407, !tbaa !86, !alias.scope !88, !noalias !89 %46 = icmp eq i64 %.out_now7.size.unbox, %.in_old9.size.unbox, !dbg !407 %47 = xor i1 %46, true, !dbg !406 br i1 %47, label %L69, label %L68, !dbg !406 L68: ; preds = %L64 br label %L72, !dbg !406 L69: ; preds = %L64 %48 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !406 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %.in_old9.size, i64 8, i1 false), !dbg !406, !tbaa !86, !alias.scope !88, !noalias !89 %49 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !406 call void @julia_throw_setindex_mismatch_36711(ptr addrspace(10) %.out_now7, ptr addrspace(11) nocapture readonly %49) #17, !dbg !406 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_7), !dbg !406 unreachable, !dbg !406 L72: ; preds = %L68 br label %L73, !dbg !406 L73: ; preds = %L72, %L56 %.in_old9.size.unbox10 = load i64, ptr %.in_old9.size, align 8, !dbg !408, !tbaa !86, !alias.scope !88, !noalias !89 %50 = icmp slt i64 0, %.in_old9.size.unbox10, !dbg !408 %51 = xor i1 %50, true, !dbg !410 br i1 %51, label %L101, label %L75, !dbg !410 L75: ; preds = %L73 %.in_old9.size.unbox11 = load i64, ptr %.in_old9.size, align 8, !dbg !411, !tbaa !86, !alias.scope !88, !noalias !89 %52 = icmp eq i64 %.in_old9.size.unbox11, 0, !dbg !411 %53 = xor i1 %52, true, !dbg !412 br i1 %53, label %L78, label %L77, !dbg !412 L77: ; preds = %L75 br label %L100, !dbg !412 L78: ; preds = %L75 %54 = addrspacecast ptr addrspace(10) %.in_old9 to ptr addrspace(11), !dbg !414 %55 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %54, i32 0, i32 0, !dbg !414 %memoryref_data = load ptr, ptr addrspace(11) %55, align 8, !dbg !414, !tbaa !53, !alias.scope !45, !noalias !46 %56 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %54, i32 0, i32 1, !dbg !414 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %56, align 8, !dbg !414, !tbaa !53, !alias.scope !45, !noalias !46, !dereferenceable_or_null !41, !align !104 %57 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !414 %.in_old9.ref = insertvalue { ptr, ptr addrspace(10) } %57, ptr addrspace(10) %memoryref_mem, 1, !dbg !414 %58 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %59 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %58, i32 0, i32 0, !dbg !416 %memory_len = load i64, ptr addrspace(11) %59, align 8, !dbg !416, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %60 = add nuw i64 %memory_len, %memory_len, !dbg !416 %61 = add i64 0, %memory_len, !dbg !416 %memoryref_ovflw = icmp uge i64 %61, %60, !dbg !416 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 0, !dbg !416 %62 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %63 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %62, i32 0, i32 0, !dbg !416 %memory_len15 = load i64, ptr addrspace(11) %63, align 8, !dbg !416, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %64 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !416 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %64, i32 0, i32 1, !dbg !416 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !416, !tbaa !42, !alias.scope !45, !noalias !46, !nonnull !0 %65 = ptrtoint ptr %memory_data to i64, !dbg !416 %66 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !416 %67 = sub i64 %66, %65, !dbg !416 %memoryref_bytelen = mul nuw nsw i64 %memory_len15, 8, !dbg !416 %memoryref_isinbounds = icmp ult i64 %67, %memoryref_bytelen, !dbg !416 %68 = xor i1 %memoryref_ovflw, true, !dbg !416 %"memoryref_isinbounds¬ovflw" = and i1 %68, %memoryref_isinbounds, !dbg !416 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !416 L93: ; preds = %idxend33 %"-Core.throw_inexacterror#36707" = load ptr, ptr @_Core_throw_inexacterror_36707, align 8, !dbg !417, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !188, !align !104 %69 = addrspacecast ptr %"-Core.throw_inexacterror#36707" to ptr addrspace(10), !dbg !417 %"jl_global#36708" = load ptr, ptr @jl_global_36708, align 8, !dbg !417, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0 %70 = addrspacecast ptr %"jl_global#36708" to ptr addrspace(10), !dbg !417 %"jl_sym#convert#36709" = load ptr, ptr @jl_sym_convert_36709, align 8, !dbg !417, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0 %71 = addrspacecast ptr %"jl_sym#convert#36709" to ptr addrspace(10), !dbg !417 %72 = load ptr, ptr getelementptr inbounds (i8, ptr @jl_small_typeof, i32 336), align 8, !dbg !417, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %73 = addrspacecast ptr %72 to ptr addrspace(10), !dbg !417 %box_Int64 = call nonnull align 8 dereferenceable(8) ptr addrspace(10) @ijl_box_int64(i64 signext %109) #18, !dbg !417 %74 = 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) %71, ptr addrspace(10) %73, ptr addrspace(10) %box_Int64), !dbg !417 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____2_7), !dbg !417 unreachable, !dbg !417 L95: ; preds = %idxend33 call void @llvm.memmove.p0.p0.i64(ptr %memory_ref.ptr_or_offset, ptr %memory_ref34.ptr_or_offset, i64 %109, i1 false), !dbg !422 call void @llvm.julia.gc_preserve_end(token %108), !dbg !424 call void @llvm.julia.gc_preserve_end(token %107), !dbg !425 br label %L100, !dbg !426 L100: ; preds = %L95, %L77 br label %L101, !dbg !412 L101: ; preds = %L100, %L73 br label %L102, !dbg !427 L102: ; preds = %L101 %75 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !428 %.i_ptr = getelementptr inbounds i8, ptr addrspace(11) %75, i32 32, !dbg !428 %.i = load i64, ptr addrspace(11) %.i_ptr, align 8, !dbg !428, !tbaa !349, !alias.scope !170, !noalias !171 %76 = add i64 %.i, 1, !dbg !430 %77 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !432 %.i_ptr12 = getelementptr inbounds i8, ptr addrspace(11) %77, i32 32, !dbg !432 store i64 %76, ptr addrspace(11) %.i_ptr12, align 8, !dbg !432, !tbaa !349, !alias.scope !170, !noalias !171 %78 = addrspacecast ptr addrspace(10) %2 to ptr addrspace(11), !dbg !434 %.i_ptr13 = getelementptr inbounds i8, ptr addrspace(11) %78, i32 32, !dbg !434 %.i14 = load i64, ptr addrspace(11) %.i_ptr13, align 8, !dbg !434, !tbaa !349, !alias.scope !170, !noalias !171 %79 = getelementptr inbounds i8, ptr addrspace(11) %"body::#timestepper##2#timestepper##3", i32 8, !dbg !435 %.unbox = load i64, ptr addrspace(11) %79, align 8, !dbg !436, !tbaa !18, !alias.scope !32, !noalias !35 %80 = icmp sle i64 %.i14, %.unbox, !dbg !436 br label %L112, !dbg !435 L112: ; preds = %L102 %81 = zext i1 %80 to i8 br label %L2, !dbg !438 L113: ; preds = %L2 ret void, !dbg !439 oob: ; preds = %L78 %"+Core.GenericMemoryRef#36697" = load ptr, ptr @_Core_GenericMemoryRef_36697, align 8, !dbg !416, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#36697" to i64, !dbg !416 %82 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !416 %current_task16 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !416 %83 = addrspacecast ptr %82 to ptr addrspace(10), !dbg !416 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task16, i64 16, ptr addrspace(10) %83) #19, !dbg !416 %84 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !416 store { ptr, ptr addrspace(10) } %.in_old9.ref, ptr addrspace(11) %84, align 8, !dbg !416, !tbaa !166, !alias.scope !170, !noalias !171 %85 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !416 call void @ijl_bounds_error_int(ptr addrspace(12) %85, i64 1), !dbg !416 unreachable, !dbg !416 idxend: ; preds = %L78 %86 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !416 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %86, ptr addrspace(10) %memoryref_mem, 1, !dbg !416 %87 = addrspacecast ptr addrspace(10) %.out_now7 to ptr addrspace(11), !dbg !414 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !414 %memoryref_data17 = load ptr, ptr addrspace(11) %88, align 8, !dbg !414, !tbaa !53, !alias.scope !45, !noalias !46 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !414 %memoryref_mem18 = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !414, !tbaa !53, !alias.scope !45, !noalias !46, !dereferenceable_or_null !41, !align !104 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data17, 0, !dbg !414 %.out_now7.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem18, 1, !dbg !414 %91 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !416 %memory_len19 = load i64, ptr addrspace(11) %92, align 8, !dbg !416, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %93 = add nuw i64 %memory_len19, %memory_len19, !dbg !416 %94 = add i64 0, %memory_len19, !dbg !416 %memoryref_ovflw20 = icmp uge i64 %94, %93, !dbg !416 %memoryref_data_byteoffset21 = getelementptr i8, ptr %memoryref_data17, i64 0, !dbg !416 %95 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !416 %memory_len22 = load i64, ptr addrspace(11) %96, align 8, !dbg !416, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %97 = addrspacecast ptr addrspace(10) %memoryref_mem18 to ptr addrspace(11), !dbg !416 %memory_data_ptr23 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !416 %memory_data24 = load ptr, ptr addrspace(11) %memory_data_ptr23, align 8, !dbg !416, !tbaa !42, !alias.scope !45, !noalias !46, !nonnull !0 %98 = ptrtoint ptr %memory_data24 to i64, !dbg !416 %99 = ptrtoint ptr %memoryref_data_byteoffset21 to i64, !dbg !416 %100 = sub i64 %99, %98, !dbg !416 %memoryref_bytelen25 = mul nuw nsw i64 %memory_len22, 8, !dbg !416 %memoryref_isinbounds26 = icmp ult i64 %100, %memoryref_bytelen25, !dbg !416 %101 = xor i1 %memoryref_ovflw20, true, !dbg !416 %"memoryref_isinbounds¬ovflw27" = and i1 %101, %memoryref_isinbounds26, !dbg !416 br i1 %"memoryref_isinbounds¬ovflw27", label %idxend33, label %oob28, !dbg !416 oob28: ; preds = %idxend %"+Core.GenericMemoryRef#3669729" = load ptr, ptr @_Core_GenericMemoryRef_36697, align 8, !dbg !416, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %GenericMemoryRef30 = ptrtoint ptr %"+Core.GenericMemoryRef#3669729" to i64, !dbg !416 %102 = inttoptr i64 %GenericMemoryRef30 to ptr, !dbg !416 %current_task31 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !416 %103 = addrspacecast ptr %102 to ptr addrspace(10), !dbg !416 %"box::GenericMemoryRef32" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task31, i64 16, ptr addrspace(10) %103) #19, !dbg !416 %104 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef32" to ptr addrspace(11), !dbg !416 store { ptr, ptr addrspace(10) } %.out_now7.ref, ptr addrspace(11) %104, align 8, !dbg !416, !tbaa !166, !alias.scope !170, !noalias !171 %105 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef32" to ptr addrspace(12), !dbg !416 call void @ijl_bounds_error_int(ptr addrspace(12) %105, i64 1), !dbg !416 unreachable, !dbg !416 idxend33: ; preds = %idxend %106 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset21, 0, !dbg !416 %memory_ref34 = insertvalue { ptr, ptr addrspace(10) } %106, ptr addrspace(10) %memoryref_mem18, 1, !dbg !416 %107 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem), !dbg !440 %108 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem18), !dbg !441 %memory_ref.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref, 0, !dbg !442 %memory_ref34.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref34, 0, !dbg !442 %.in_old9.size.unbox35 = load i64, ptr %.in_old9.size, align 8, !dbg !446, !tbaa !86, !alias.scope !88, !noalias !89 %109 = mul i64 %.in_old9.size.unbox35, 8, !dbg !446 %110 = lshr i64 %109, 63, !dbg !448 %111 = select i1 false, i64 0, i64 %110, !dbg !448 %112 = trunc i64 %111 to i8, !dbg !448 %113 = icmp eq i8 %112, 1, !dbg !448 %114 = xor i1 %113, true, !dbg !417 br i1 %114, label %L95, label %L93, !dbg !417 after_error: ; No predecessors! call void @llvm.trap(), !dbg !417 unreachable, !dbg !417 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !417 unreachable, !dbg !417 after_error36: ; No predecessors! call void @llvm.trap(), !dbg !406 unreachable, !dbg !406 after_noret37: ; No predecessors! call void @llvm.trap(), !dbg !406 unreachable, !dbg !406 oob49: ; preds = %L32 %"+Core.GenericMemoryRef#3669750" = load ptr, ptr @_Core_GenericMemoryRef_36697, align 8, !dbg !378, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %GenericMemoryRef51 = ptrtoint ptr %"+Core.GenericMemoryRef#3669750" to i64, !dbg !378 %115 = inttoptr i64 %GenericMemoryRef51 to ptr, !dbg !378 %current_task52 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !378 %116 = addrspacecast ptr %115 to ptr addrspace(10), !dbg !378 %"box::GenericMemoryRef53" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task52, i64 16, ptr addrspace(10) %116) #19, !dbg !378 %117 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef53" to ptr addrspace(11), !dbg !378 store { ptr, ptr addrspace(10) } %.in_now3.ref, ptr addrspace(11) %117, align 8, !dbg !378, !tbaa !166, !alias.scope !170, !noalias !171 %118 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef53" to ptr addrspace(12), !dbg !378 call void @ijl_bounds_error_int(ptr addrspace(12) %118, i64 1), !dbg !378 unreachable, !dbg !378 idxend54: ; preds = %L32 %119 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset42, 0, !dbg !378 %memory_ref55 = insertvalue { ptr, ptr addrspace(10) } %119, ptr addrspace(10) %memoryref_mem39, 1, !dbg !378 %120 = addrspacecast ptr addrspace(10) %.out_old2 to ptr addrspace(11), !dbg !376 %121 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %120, i32 0, i32 0, !dbg !376 %memoryref_data56 = load ptr, ptr addrspace(11) %121, align 8, !dbg !376, !tbaa !53, !alias.scope !45, !noalias !46 %122 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %120, i32 0, i32 1, !dbg !376 %memoryref_mem57 = load ptr addrspace(10), ptr addrspace(11) %122, align 8, !dbg !376, !tbaa !53, !alias.scope !45, !noalias !46, !dereferenceable_or_null !41, !align !104 %123 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data56, 0, !dbg !376 %.out_old2.ref = insertvalue { ptr, ptr addrspace(10) } %123, ptr addrspace(10) %memoryref_mem57, 1, !dbg !376 %124 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %125 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %124, i32 0, i32 0, !dbg !378 %memory_len58 = load i64, ptr addrspace(11) %125, align 8, !dbg !378, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %126 = add nuw i64 %memory_len58, %memory_len58, !dbg !378 %127 = add i64 0, %memory_len58, !dbg !378 %memoryref_ovflw59 = icmp uge i64 %127, %126, !dbg !378 %memoryref_data_byteoffset60 = getelementptr i8, ptr %memoryref_data56, i64 0, !dbg !378 %128 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %129 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %128, i32 0, i32 0, !dbg !378 %memory_len61 = load i64, ptr addrspace(11) %129, align 8, !dbg !378, !tbaa !47, !range !105, !alias.scope !45, !noalias !46 %130 = addrspacecast ptr addrspace(10) %memoryref_mem57 to ptr addrspace(11), !dbg !378 %memory_data_ptr62 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %130, i32 0, i32 1, !dbg !378 %memory_data63 = load ptr, ptr addrspace(11) %memory_data_ptr62, align 8, !dbg !378, !tbaa !42, !alias.scope !45, !noalias !46, !nonnull !0 %131 = ptrtoint ptr %memory_data63 to i64, !dbg !378 %132 = ptrtoint ptr %memoryref_data_byteoffset60 to i64, !dbg !378 %133 = sub i64 %132, %131, !dbg !378 %memoryref_bytelen64 = mul nuw nsw i64 %memory_len61, 8, !dbg !378 %memoryref_isinbounds65 = icmp ult i64 %133, %memoryref_bytelen64, !dbg !378 %134 = xor i1 %memoryref_ovflw59, true, !dbg !378 %"memoryref_isinbounds¬ovflw66" = and i1 %134, %memoryref_isinbounds65, !dbg !378 br i1 %"memoryref_isinbounds¬ovflw66", label %idxend72, label %oob67, !dbg !378 oob67: ; preds = %idxend54 %"+Core.GenericMemoryRef#3669768" = load ptr, ptr @_Core_GenericMemoryRef_36697, align 8, !dbg !378, !tbaa !18, !alias.scope !32, !noalias !35, !nonnull !0, !dereferenceable !40, !align !41 %GenericMemoryRef69 = ptrtoint ptr %"+Core.GenericMemoryRef#3669768" to i64, !dbg !378 %135 = inttoptr i64 %GenericMemoryRef69 to ptr, !dbg !378 %current_task70 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !378 %136 = addrspacecast ptr %135 to ptr addrspace(10), !dbg !378 %"box::GenericMemoryRef71" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task70, i64 16, ptr addrspace(10) %136) #19, !dbg !378 %137 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef71" to ptr addrspace(11), !dbg !378 store { ptr, ptr addrspace(10) } %.out_old2.ref, ptr addrspace(11) %137, align 8, !dbg !378, !tbaa !166, !alias.scope !170, !noalias !171 %138 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef71" to ptr addrspace(12), !dbg !378 call void @ijl_bounds_error_int(ptr addrspace(12) %138, i64 1), !dbg !378 unreachable, !dbg !378 idxend72: ; preds = %idxend54 %139 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset60, 0, !dbg !378 %memory_ref73 = insertvalue { ptr, ptr addrspace(10) } %139, ptr addrspace(10) %memoryref_mem57, 1, !dbg !378 %140 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem39), !dbg !450 %141 = call token (...) @llvm.julia.gc_preserve_begin(ptr addrspace(10) %memoryref_mem57), !dbg !451 %memory_ref55.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref55, 0, !dbg !452 %memory_ref73.ptr_or_offset = extractvalue { ptr, ptr addrspace(10) } %memory_ref73, 0, !dbg !452 %.in_now3.size.unbox74 = load i64, ptr %.in_now3.size, align 8, !dbg !454, !tbaa !86, !alias.scope !88, !noalias !89 %142 = mul i64 %.in_now3.size.unbox74, 8, !dbg !454 %143 = lshr i64 %142, 63, !dbg !455 %144 = select i1 false, i64 0, i64 %143, !dbg !455 %145 = trunc i64 %144 to i8, !dbg !455 %146 = icmp eq i8 %145, 1, !dbg !455 %147 = xor i1 %146, true, !dbg !380 br i1 %147, label %L49, label %L47, !dbg !380 after_error79: ; No predecessors! call void @llvm.trap(), !dbg !380 unreachable, !dbg !380 after_noret80: ; No predecessors! call void @llvm.trap(), !dbg !380 unreachable, !dbg !380 after_error82: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 after_noret83: ; No predecessors! call void @llvm.trap(), !dbg !363 unreachable, !dbg !363 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_while), Main.var"#timestepper##2#timestepper##3"{Main.Box, Int64}, Checkpointing.Online_r2{Nothing}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:562 [inlined] [14] box(scheme::Online_r2{Nothing}, tsteps::Int64) @ Main ~/.julia/packages/Checkpointing/ZAoTt/examples/box_model.jl:175 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:77 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:72 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:71 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Multilevel: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:83 Got exception outside of a @test LoadError: AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_checkpoint_for_37193(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"body::#loops##0#loops##1", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.body, ptr addrspace(10) noundef nonnull align 8 dereferenceable(56) %"scheme::Periodic", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"range::UnitRange") #11 !dbg !170 { 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 !14, !alias.scope !18, !noalias !21 %1 = getelementptr inbounds i8, ptr %.roots.body, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !156, !alias.scope !158, !noalias !159 %"range::UnitRange.stop_ptr" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !171 %"range::UnitRange.stop_ptr.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr", align 8, !dbg !180, !tbaa !156, !alias.scope !158, !noalias !159 %"range::UnitRange.unbox" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !180, !tbaa !156, !alias.scope !158, !noalias !159 %3 = icmp slt i64 %"range::UnitRange.stop_ptr.unbox", %"range::UnitRange.unbox", !dbg !180 %4 = xor i1 %3, true, !dbg !177 br i1 %4, label %L6, label %L5, !dbg !177 L5: ; preds = %top br label %L9, !dbg !177 L6: ; preds = %top %5 = icmp ne ptr addrspace(11) %"range::UnitRange", null br i1 %5, label %guard_pass, label %guard_exit L9: ; preds = %guard_exit17, %L5 %value_phi = phi i8 [ 1, %L5 ], [ 0, %guard_exit17 ] %value_phi1 = phi i64 [ %guard_res12, %guard_exit17 ], [ undef, %L5 ] %value_phi2 = phi i64 [ %guard_res19, %guard_exit17 ], [ undef, %L5 ] %6 = trunc i8 %value_phi to i1, !dbg !179 %7 = xor i1 %6, true, !dbg !179 %8 = xor i1 %7, true, !dbg !179 br i1 %8, label %L29, label %L9.L14_crit_edge, !dbg !179 L9.L14_crit_edge: ; preds = %L9 br label %L14, !dbg !177 L14: ; preds = %L9.L14_crit_edge, %L28 %value_phi3 = phi i64 [ %value_phi1, %L9.L14_crit_edge ], [ %value_phi6, %L28 ] %value_phi4 = phi i64 [ %value_phi2, %L9.L14_crit_edge ], [ %value_phi7, %L28 ] %9 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !184 store ptr addrspace(10) %2, ptr %9, align 8, !dbg !184 call void @julia__loops__0_37196(ptr addrspace(11) nocapture readonly %"body::#loops##0#loops##1", ptr nocapture readonly %0, i64 signext %value_phi3), !dbg !184 %"range::UnitRange.stop_ptr5" = getelementptr inbounds i8, ptr addrspace(11) %"range::UnitRange", i32 8, !dbg !185 %"range::UnitRange.stop_ptr5.unbox" = load i64, ptr addrspace(11) %"range::UnitRange.stop_ptr5", align 8, !dbg !189, !tbaa !156, !alias.scope !158, !noalias !159 %10 = icmp eq i64 %value_phi4, %"range::UnitRange.stop_ptr5.unbox", !dbg !189 %11 = xor i1 %10, true, !dbg !187 br i1 %11, label %L21, label %L20, !dbg !187 L20: ; preds = %L14 br label %L23, !dbg !187 L21: ; preds = %L14 %12 = add i64 %value_phi4, 1, !dbg !191 br label %L23, !dbg !187 L23: ; preds = %L21, %L20 %value_phi6 = phi i64 [ %12, %L21 ], [ undef, %L20 ] %value_phi7 = phi i64 [ %12, %L21 ], [ undef, %L20 ] %value_phi8 = phi i8 [ 1, %L20 ], [ 0, %L21 ] %13 = trunc i8 %value_phi8 to i1, !dbg !188 %14 = xor i1 %13, true, !dbg !188 %15 = xor i1 %14, true, !dbg !188 br i1 %15, label %L29, label %L28, !dbg !188 L28: ; preds = %L23 br label %L14, !dbg !177 L29: ; preds = %L23, %L9 ret void, !dbg !194 guard_pass: ; preds = %L6 br label %guard_exit guard_exit: ; preds = %guard_pass, %L6 %guard_res = phi i1 [ false, %L6 ], [ true, %guard_pass ] br i1 %guard_res, label %guard_pass9, label %guard_exit10 guard_pass9: ; preds = %guard_exit %"range::UnitRange.unbox11" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !tbaa !156, !alias.scope !158, !noalias !159 br label %guard_exit10 guard_exit10: ; preds = %guard_pass9, %guard_exit %guard_res12 = phi i64 [ undef, %guard_exit ], [ %"range::UnitRange.unbox11", %guard_pass9 ] %16 = icmp ne ptr addrspace(11) %"range::UnitRange", null, !dbg !177 br i1 %16, label %guard_pass13, label %guard_exit14, !dbg !177 guard_pass13: ; preds = %guard_exit10 br label %guard_exit14, !dbg !177 guard_exit14: ; preds = %guard_pass13, %guard_exit10 %guard_res15 = phi i1 [ false, %guard_exit10 ], [ true, %guard_pass13 ], !dbg !177 br i1 %guard_res15, label %guard_pass16, label %guard_exit17, !dbg !177 guard_pass16: ; preds = %guard_exit14 %"range::UnitRange.unbox18" = load i64, ptr addrspace(11) %"range::UnitRange", align 8, !dbg !177, !tbaa !156, !alias.scope !158, !noalias !159 br label %guard_exit17, !dbg !177 guard_exit17: ; preds = %guard_pass16, %guard_exit14 %guard_res19 = phi i64 [ undef, %guard_exit14 ], [ %"range::UnitRange.unbox18", %guard_pass16 ], !dbg !177 br label %L9, !dbg !177 } expectLen=3 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Checkpointing.checkpoint_for), Main.var"#loops##0#loops##1"{Main.Chkp, Int64}, Checkpointing.Periodic{Nothing}, UnitRange{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [inlined] [13] autodiff(::ReverseMode{true, false, false, FFIABI, false, false}, ::typeof(loops), ::Type{Active}, ::Duplicated{Chkp}, ::Const{Periodic{Nothing}}, ::Const{Int64}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:542 [14] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/multilevel.jl:35 [15] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [16] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:84 [inlined] [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:84 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [20] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [21] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [22] top-level scope @ none:6 [23] eval(m::Module, e::Any) @ Core ./boot.jl:489 [24] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [25] _start() @ Base ./client.jl:577 in expression starting at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/multilevel.jl:35 Revolve: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_37715(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #18 !dbg !223 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %3 = getelementptr inbounds i8, ptr %.roots.A, i32 8 %4 = load ptr addrspace(10), ptr %3, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#37682" = load ptr, ptr @_Core_BoundsError_37682, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %5 = addrspacecast ptr %"-Core.BoundsError#37682" to ptr addrspace(10), !dbg !224 %"+Core.BoundsError#37683" = load ptr, ptr @_Core_BoundsError_37683, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %6 = addrspacecast ptr %"+Core.BoundsError#37683" to ptr addrspace(10), !dbg !224 %"+Main.Base.Broadcast.Broadcasted#37717" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_37717, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#37717" to i64, !dbg !224 %7 = inttoptr i64 %Broadcasted to ptr, !dbg !224 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !224 %8 = addrspacecast ptr %7 to ptr addrspace(10), !dbg !224 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(56) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 56, ptr addrspace(10) %8) #25, !dbg !224 %9 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !224 %10 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 0, !dbg !224 store atomic ptr addrspace(10) %2, ptr addrspace(11) %10 unordered, align 8, !dbg !224, !tbaa !62, !alias.scope !60, !noalias !61 %11 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !224 %12 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 8, !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %12, ptr addrspace(11) align 8 %11, i64 16, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %13 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !224 store atomic ptr addrspace(10) %4, ptr addrspace(11) %13 unordered, align 8, !dbg !224, !tbaa !62, !alias.scope !60, !noalias !61 %14 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 32, !dbg !224 %15 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 32, !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %15, ptr addrspace(11) align 8 %14, i64 24, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#37684" = load ptr, ptr @_Core_Tuple_37684, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#37684" to i64, !dbg !224 %16 = inttoptr i64 %Tuple to ptr, !dbg !224 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !224 %17 = addrspacecast ptr %16 to ptr addrspace(10), !dbg !224 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %17) #25, !dbg !224 %18 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %18, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %19 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %5, ptr addrspace(10) %6, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !224 %20 = addrspacecast ptr addrspace(10) %19 to ptr addrspace(12), !dbg !224 call void @ijl_throw(ptr addrspace(12) %20), !dbg !224 unreachable, !dbg !224 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !224 unreachable, !dbg !224 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !224 unreachable, !dbg !224 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(*), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff(::ReverseMode{false, false, false, FFIABI, false, true}, ::Const{typeof(loops)}, ::Type{Active}, ::Duplicated{ChkpOut}, ::Const{Revolve{Nothing}}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:542 [inlined] [14] output_chkp(scheme::Symbol) @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/output_chkp.jl:32 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:89 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:87 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Periodic: Error During Test at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 Got exception outside of a @test AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) ; Function Attrs: noinline noreturn define internal void @julia_throw_boundserror_37945(ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(56) %"A::Broadcasted", ptr nocapture noundef nonnull readonly align 8 dereferenceable(16) %.roots.A, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(8) %"I::Tuple") #18 !dbg !223 { top: %pgcstack = call ptr @julia.get_pgcstack() %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 !19 %0 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %0 monotonic, align 8, !tbaa !23 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %1 = getelementptr inbounds i8, ptr %.roots.A, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %3 = getelementptr inbounds i8, ptr %.roots.A, i32 8 %4 = load ptr addrspace(10), ptr %3, align 8, !tbaa !23, !alias.scope !26, !noalias !29 %"-Core.BoundsError#37912" = load ptr, ptr @_Core_BoundsError_37912, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !34, !align !35 %5 = addrspacecast ptr %"-Core.BoundsError#37912" to ptr addrspace(10), !dbg !224 %"+Core.BoundsError#37913" = load ptr, ptr @_Core_BoundsError_37913, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %6 = addrspacecast ptr %"+Core.BoundsError#37913" to ptr addrspace(10), !dbg !224 %"+Main.Base.Broadcast.Broadcasted#37947" = load ptr, ptr @_Main_Base_Broadcast_Broadcasted_37947, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Broadcasted = ptrtoint ptr %"+Main.Base.Broadcast.Broadcasted#37947" to i64, !dbg !224 %7 = inttoptr i64 %Broadcasted to ptr, !dbg !224 %current_task1 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !224 %8 = addrspacecast ptr %7 to ptr addrspace(10), !dbg !224 %"box::Broadcasted" = call noalias nonnull align 8 dereferenceable(56) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task1, i64 56, ptr addrspace(10) %8) #25, !dbg !224 %9 = addrspacecast ptr addrspace(10) %"box::Broadcasted" to ptr addrspace(11), !dbg !224 %10 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 0, !dbg !224 store atomic ptr addrspace(10) %2, ptr addrspace(11) %10 unordered, align 8, !dbg !224, !tbaa !62, !alias.scope !60, !noalias !61 %11 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 8, !dbg !224 %12 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 8, !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %12, ptr addrspace(11) align 8 %11, i64 16, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %13 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 24, !dbg !224 store atomic ptr addrspace(10) %4, ptr addrspace(11) %13 unordered, align 8, !dbg !224, !tbaa !62, !alias.scope !60, !noalias !61 %14 = getelementptr inbounds i8, ptr addrspace(11) %"A::Broadcasted", i32 32, !dbg !224 %15 = getelementptr inbounds i8, ptr addrspace(11) %9, i32 32, !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %15, ptr addrspace(11) align 8 %14, i64 24, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %"+Core.Tuple#37914" = load ptr, ptr @_Core_Tuple_37914, align 8, !dbg !224, !tbaa !23, !alias.scope !26, !noalias !29, !nonnull !0, !dereferenceable !36, !align !37 %Tuple = ptrtoint ptr %"+Core.Tuple#37914" to i64, !dbg !224 %16 = inttoptr i64 %Tuple to ptr, !dbg !224 %current_task2 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !224 %17 = addrspacecast ptr %16 to ptr addrspace(10), !dbg !224 %"box::Tuple" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task2, i64 8, ptr addrspace(10) %17) #25, !dbg !224 %18 = addrspacecast ptr addrspace(10) %"box::Tuple" to ptr addrspace(11), !dbg !224 call void @llvm.memcpy.p11.p11.i64(ptr addrspace(11) align 8 %18, ptr addrspace(11) align 8 %"I::Tuple", i64 8, i1 false), !dbg !224, !tbaa !38, !alias.scope !39, !noalias !40 %19 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %5, ptr addrspace(10) %6, ptr addrspace(10) %"box::Broadcasted", ptr addrspace(10) %"box::Tuple"), !dbg !224 %20 = addrspacecast ptr addrspace(10) %19 to ptr addrspace(12), !dbg !224 call void @ijl_throw(ptr addrspace(12) %20), !dbg !224 unreachable, !dbg !224 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !224 unreachable, !dbg !224 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !224 unreachable, !dbg !224 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(Base.throw_boundserror), Base.Broadcast.Broadcasted{Nothing, Tuple{Base.OneTo{Int64}}, typeof(*), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}, Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, typeof(sqrt), Tuple{Base.Broadcast.Extruded{Vector{Float64}, Tuple{Bool}, Tuple{Int64}}}}}}, Tuple{Int64}) retRemoved=false parmsRemoved=UInt64[] Stacktrace: [1] julia_activity_rule(f::LLVM.Function) @ Enzyme.Compiler ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:5960 [8] _thunk @ ~/.julia/packages/Enzyme/lBjPq/src/compiler.jl:5958 [inlined] [9] cached_compilation @ ~/.julia/packages/Enzyme/lBjPq/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/lBjPq/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/lBjPq/src/compiler.jl:6275 [12] autodiff(::ReverseMode{false, false, false, FFIABI, false, true}, ::Const{typeof(loops)}, ::Type{Active}, ::Duplicated{ChkpOut}, ::Const{Periodic{Nothing}}, ::Const{Int64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:502 [13] autodiff @ ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:542 [inlined] [14] output_chkp(scheme::Symbol) @ Main ~/.julia/packages/Checkpointing/ZAoTt/test/output_chkp.jl:32 [15] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:89 [inlined] [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:2042 [inlined] [17] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:88 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [19] macro expansion @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:87 [inlined] [20] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [21] top-level scope @ ~/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:7 [22] include(mapexpr::Function, mod::Module, _path::String) @ Base ./Base.jl:310 [23] top-level scope @ none:6 [24] eval(m::Module, e::Any) @ Core ./boot.jl:489 [25] exec_options(opts::Base.JLOptions) @ Base ./client.jl:310 [26] _start() @ Base ./client.jl:577 Test Summary: | Pass Error Total Time Checkpointing.jl | 5 18 23 3m34.5s Enzyme... | 2 1 3 3m14.0s Revolve... | 3 3 0.9s Testing optcontrol... | 2 2 4.7s scheme = Revolve | 1 1 3.7s scheme = Periodic | 1 1 0.8s Testing heat example | 9 9 5.6s Revolve | 2 2 2.6s Revolve with verbose=0 | 1 1 0.8s Revolve with verbose=1 | 1 1 1.7s Periodic | 2 2 0.6s Periodic with verbose=0 | 1 1 0.5s Periodic with verbose=1 | 1 1 0.1s Online_r2 | 2 2 0.7s Online_r2 with verbose=0 | 1 1 0.6s Online_r2 with verbose=1 | 1 1 0.1s Testing HDF5 storage using heat example | 3 3 1.7s Revolve | 1 1 1.3s Periodic | 1 1 0.2s Online_r2 | 1 1 0.2s Test box model example | 3 3 4.3s Revolve | 1 1 2.3s Periodic | 1 1 0.9s Online_r2 | 1 1 0.9s Multilevel | 1 1 2.7s Test writing checkpoints out | 2 2 2.3s Revolve | 1 1 1.9s Periodic | 1 1 0.4s RNG of the outermost testset: Random.Xoshiro(0x5c2746982dad48c6, 0x35a29676b171acd7, 0xd860d0298f7ee298, 0x540425f3f044f618, 0x83102477a15f76eb) ERROR: LoadError: Some tests did not pass: 5 passed, 0 failed, 18 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/Checkpointing/ZAoTt/test/runtests.jl:6 Testing failed after 291.17s ERROR: LoadError: Package Checkpointing 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:2936 [3] test @ /opt/julia/share/julia/stdlib/v1.14/Pkg/src/Operations.jl:2785 [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 491.22s: package tests unexpectedly errored