Package evaluation to test QuadGK on Julia 1.14.0-DEV.14 (ec5cf08762*) started at 2025-10-30T11:41:06.840 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 10.09s ################################################################################ # Installation # Installing QuadGK... Resolving package versions... Updating `~/.julia/environments/v1.14/Project.toml` [1fd47b50] + QuadGK v2.11.2 Updating `~/.julia/environments/v1.14/Manifest.toml` [864edb3b] + DataStructures v0.19.1 [bac558e1] + OrderedCollections v1.8.1 [1fd47b50] + QuadGK v2.11.2 [56f22d72] + Artifacts v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [4536629a] + OpenBLAS_jll v0.3.29+0 [8e850b90] + libblastrampoline_jll v5.15.0+0 Installation completed after 3.96s ################################################################################ # 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... Precompilation completed after 13.54s ################################################################################ # Testing # Testing QuadGK Status `/tmp/jl_gC6M9G/Project.toml` [7da242da] Enzyme v0.13.94 [1fd47b50] QuadGK v2.11.2 [37e2e46d] LinearAlgebra v1.13.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_gC6M9G/Manifest.toml` [fa961155] CEnum v0.5.0 [864edb3b] DataStructures v0.19.1 [7da242da] Enzyme v0.13.94 [f151be2c] EnzymeCore v0.8.15 [e2ba6199] ExprTools v0.1.10 [61eb1bfa] GPUCompiler v1.7.2 [692b3bcd] JLLWrappers v1.7.1 [929cbde3] LLVM v9.4.4 [d8793406] ObjectFile v0.5.0 [bac558e1] OrderedCollections v1.8.1 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [1fd47b50] QuadGK v2.11.2 [189a3867] Reexport v1.2.2 [6c6a2e73] Scratch v1.3.0 [53d494c1] StructIO v0.3.1 [e689c965] Tracy v0.1.6 ⌅ [7cc45869] Enzyme_jll v0.0.205+0 [dad2f222] LLVMExtra_jll v0.0.38+0 [ad6e5548] LibTracyClient_jll v0.9.1+6 [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 [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... Test Summary: | Pass Total Time quadgk | 14 14 25.0s Test Summary: | Pass Total Time inference | 6 6 5.7s Test Summary: | Pass Total Time gauss | 14 14 17.2s Test Summary: | Pass Total Time kronrod | 105 105 21.5s Test Summary: | Pass Total Time HollowSymTridiagonal | 20 20 4.2s Test Summary: | Pass Total Time inplace | 5 5 24.4s Test Summary: | Pass Total Time inplace Inf | 3 3 12.9s Test Summary: | Pass Total Time segbuf | 3 3 1.9s Test Summary: | Pass Total Time quadgk_count and quadgk_print | 4 4 1.4s Test Summary: | Pass Total Time batch | 44 44 2.1s Test Summary: | Pass Total Time batch Inf | 3 3 7.2s Test Summary: | Pass Total Time issue 89 | 1 1 0.6s Test Summary: | Pass Total Time issue 86 | 3 3 17.5s Test Summary: | Pass Total Time eval_segbuf | 62 62 42.1s Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 Test threw exception Expression: cos(0.3) ≈ ((Enzyme.autodiff(Reverse, f1, Active(0.3)))[1])[1] 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f1), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [16] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:470 Test threw exception Expression: -(cos(0.3)) ≈ ((Enzyme.autodiff(Reverse, f2, Active(0.3)))[1])[1] 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f2), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [16] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:470 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:471 Test threw exception Expression: (0.3 * cos(0.3) - sin(0.3)) / (0.3 * 0.3) ≈ ((Enzyme.autodiff(Reverse, f3, Active(0.3)))[1])[1] 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f3), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [16] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:471 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:473 Test threw exception Expression: cos(0.3) ≈ ((Enzyme.autodiff(Reverse, f1_count, Active(0.3)))[1])[1] AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal nonnull ptr addrspace(10) @julia_copyto__50624(ptr addrspace(10) noundef nonnull align 8 dereferenceable(24) %"dest::Array", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(40) %"src::SubArray", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.src) #32 !dbg !2194 { top: %"dest::Array.size" = alloca i64, align 8 %sret_box = alloca [5 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %1 = alloca ptr addrspace(10), align 8 %2 = alloca [5 x i64], align 8 %3 = alloca [5 x i64], align 8 %"dest::Array.size9" = alloca i64, align 8 %"new::LinearIndices" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %root_phi.size = alloca i64, align 8 %"dest::Array.size29" = alloca i64, align 8 %"new::Tuple60" = alloca [1 x i64], align 8 %"new::Tuple61" = alloca [1 x i64], align 8 %4 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %4, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 %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 !121 %5 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %5 monotonic, align 8, !tbaa !125 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %6 = getelementptr inbounds i8, ptr %.roots.src, i32 0 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !125, !alias.scope !200, !noalias !201 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !2195 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !2207 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !2218, !tbaa !125, !alias.scope !200, !noalias !201 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !2218, !tbaa !125, !alias.scope !200, !noalias !201 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !2218 %10 = add i64 1, %9, !dbg !2221 %11 = icmp eq i64 %10, 0, !dbg !2223 %12 = xor i1 %11, true, !dbg !2206 br i1 %12, label %L10, label %L9, !dbg !2206 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !2206 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2225 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !2225 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size", ptr addrspace(11) align 8 %"dest::Array.size_ptr", i64 8, i1 false), !dbg !2225, !tbaa !133, !alias.scope !134, !noalias !138 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !2234, !tbaa !149, !alias.scope !151, !noalias !152 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !2234 %15 = xor i1 %14, true, !dbg !2235 %16 = xor i1 %15, true, !dbg !2229 br i1 %16, label %L39, label %L16, !dbg !2229 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !2237 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !2240 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !2246, !tbaa !125, !alias.scope !200, !noalias !201 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !2246, !tbaa !125, !alias.scope !200, !noalias !201 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !2246 %19 = add i64 1, %18, !dbg !2248 %20 = icmp eq i64 %19, 0, !dbg !2234 %21 = xor i1 %20, true, !dbg !2235 %22 = xor i1 %21, true, !dbg !2229 br i1 %22, label %L38, label %L25, !dbg !2229 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2249 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !2249 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !2249, !tbaa !168, !alias.scope !171, !noalias !172 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !2249 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !2249, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !2249 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !2249 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !2249 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !2252 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !2252 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !2254, !tbaa !187, !alias.scope !171, !noalias !172 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !2254 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !2256 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !2256 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !2256, !tbaa !168, !alias.scope !171, !noalias !172 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !2256 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !2256, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !2256 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !2256 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !2256 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !2260 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !2260 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !2262, !tbaa !187, !alias.scope !171, !noalias !172 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !2262 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !2263 %38 = xor i1 %37, true, !dbg !2268 %39 = xor i1 %38, true, !dbg !2235 %40 = zext i1 %39 to i8 br label %L40, !dbg !2235 L38: ; preds = %L16 br label %L40, !dbg !2269 L39: ; preds = %L10 br label %L40, !dbg !2269 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !2231 %42 = xor i1 %41, true, !dbg !2231 br i1 %42, label %L44, label %L42, !dbg !2231 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !2231 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !2231 call void @julia_unaliascopy_50631(ptr noalias nocapture noundef sret({ ptr addrspace(10), [1 x [2 x i64]], i64, i64 }) %sret_box, ptr noalias nocapture noundef "enzymejl_returnRoots" %0, ptr addrspace(11) nocapture readonly %"src::SubArray", ptr nocapture readonly %1), !dbg !2231 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !2231 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !2231, !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !2272 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !2272, !tbaa !133, !alias.scope !643, !noalias !644 br label %L45, !dbg !2231 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !2272 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !2272, !tbaa !133, !alias.scope !2273, !noalias !2274 br label %L45, !dbg !2269 L45: ; preds = %L44, %L42 %root_phi = phi ptr addrspace(10) [ %45, %L42 ], [ %7, %L44 ] call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 40, i1 false), !dbg !2233 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !2233 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2275 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !2281 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !2287, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox6 = load i64, ptr %46, align 8, !dbg !2287, !tbaa !149, !alias.scope !151, !noalias !152 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !2287 %48 = add i64 1, %47, !dbg !2289 %49 = icmp eq i64 %48, 0, !dbg !2290 %50 = xor i1 %49, true, !dbg !2280 br i1 %50, label %L55, label %L54, !dbg !2280 L54: ; preds = %L45 br label %L163, !dbg !2280 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2291 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !2291 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size9", ptr addrspace(11) align 8 %"dest::Array.size_ptr8", i64 8, i1 false), !dbg !2291, !tbaa !133, !alias.scope !134, !noalias !138 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2297 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !2299 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !2305, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox11 = load i64, ptr %52, align 8, !dbg !2305, !tbaa !149, !alias.scope !151, !noalias !152 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !2305 %54 = add i64 1, %53, !dbg !2307 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !2308 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !2308 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !2308 store i64 %54, ptr %57, align 8, !dbg !2308, !tbaa !149, !alias.scope !151, !noalias !152 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !2312, !tbaa !149, !alias.scope !151, !noalias !152 %58 = icmp ult i64 0, %bitcast12, !dbg !2320 %59 = add i64 %54, 0, !dbg !2322 %60 = sub i64 %59, 1, !dbg !2323 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !2312, !tbaa !149, !alias.scope !151, !noalias !152 %61 = icmp ult i64 %60, %bitcast13, !dbg !2320 %62 = and i1 %58, %61, !dbg !2324 %63 = xor i1 %62, true, !dbg !2269 br i1 %63, label %L160, label %L76, !dbg !2269 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !2326 %65 = xor i1 %64, true, !dbg !2331 br i1 %65, label %L79, label %L78, !dbg !2331 L78: ; preds = %L76 br label %L80, !dbg !2331 L79: ; preds = %L76 br label %L80, !dbg !2331 L80: ; preds = %L79, %L78 %value_phi14 = phi i8 [ 1, %L78 ], [ 0, %L79 ] %value_phi15 = phi i64 [ 1, %L79 ], [ undef, %L78 ] %value_phi16 = phi i64 [ 1, %L79 ], [ undef, %L78 ] br label %L84, !dbg !2333 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !2335 %67 = xor i1 %66, true, !dbg !2335 %68 = xor i1 %67, true, !dbg !2335 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !2335 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !2331 L86: ; preds = %L84.L86_crit_edge, %L158 %value_phi17 = phi i64 [ %value_phi15, %L84.L86_crit_edge ], [ %value_phi57, %L158 ] %value_phi18 = phi i64 [ %value_phi16, %L84.L86_crit_edge ], [ %value_phi58, %L158 ] br i1 false, label %L106, label %L90, !dbg !2336 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !2336 store i64 %value_phi17, ptr %69, align 8, !dbg !2336, !tbaa !149, !alias.scope !151, !noalias !152 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2339 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !2346 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !2355, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox20 = load i64, ptr %70, align 8, !dbg !2355, !tbaa !149, !alias.scope !151, !noalias !152 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !2355 %72 = add i64 1, %71, !dbg !2357 %73 = sub i64 %value_phi17, 1, !dbg !2358 %74 = icmp ult i64 %73, %72, !dbg !2360 %75 = xor i1 %74, true, !dbg !2345 br i1 %75, label %L103, label %L102, !dbg !2345 L102: ; preds = %L90 br label %L105, !dbg !2345 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !2345 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !2345 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !2345 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !2345 call void @julia_throw_boundserror_50442(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #133, !dbg !2345 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2345 unreachable, !dbg !2345 L105: ; preds = %L102 br label %L106, !dbg !2345 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !2361 %.unbox21 = load i64, ptr %79, align 8, !dbg !2365, !tbaa !149, !alias.scope !151, !noalias !152 %80 = add i64 %.unbox21, %value_phi17, !dbg !2365 br i1 false, label %L123, label %L111, !dbg !2366 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !2368 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !2371 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !2371 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %root_phi.size, ptr addrspace(11) align 8 %root_phi.size_ptr, i64 8, i1 false), !dbg !2371, !tbaa !133, !alias.scope !134, !noalias !138 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !2368, !tbaa !149, !alias.scope !151, !noalias !152 %83 = icmp ult i64 %81, %bitcast22, !dbg !2368 %84 = xor i1 %83, true, !dbg !2370 br i1 %84, label %L119, label %L118, !dbg !2370 L118: ; preds = %L111 br label %L122, !dbg !2370 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !2370 store i64 %80, ptr %85, align 8, !dbg !2370, !tbaa !149, !alias.scope !151, !noalias !152 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !2370 call void @julia_throw_boundserror_50316(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #133, !dbg !2370 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2370 unreachable, !dbg !2370 L122: ; preds = %L118 br label %L123, !dbg !2370 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !2373 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !2373 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !2373, !tbaa !168, !alias.scope !171, !noalias !172 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !2373 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !2373, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !2373 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !2373 %memoryref_offset = sub i64 %80, 1, !dbg !2373 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !2373 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %93 = add nuw i64 %memory_len, %memory_len, !dbg !2373 %94 = add i64 %memoryref_offset, %memory_len, !dbg !2373 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !2373 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !2373 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !2373 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !2373 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !2373 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !2373, !tbaa !187, !alias.scope !171, !noalias !172, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !2373 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !2373 %100 = sub i64 %99, %98, !dbg !2373 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !2373 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !2373 %101 = xor i1 %memoryref_ovflw, true, !dbg !2373 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !2373 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !2373 L127: ; preds = %load br label %L128, !dbg !2373 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !2374 br i1 false, label %L142, label %L131, !dbg !2375 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !2379 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2380 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !2380 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size29", ptr addrspace(11) align 8 %"dest::Array.size_ptr28", i64 8, i1 false), !dbg !2380, !tbaa !133, !alias.scope !134, !noalias !138 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !2379, !tbaa !149, !alias.scope !151, !noalias !152 %105 = icmp ult i64 %103, %bitcast30, !dbg !2379 %106 = xor i1 %105, true, !dbg !2375 br i1 %106, label %L139, label %L138, !dbg !2375 L138: ; preds = %L131 br label %L142, !dbg !2375 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !2375 store i64 %102, ptr %107, align 8, !dbg !2375, !tbaa !149, !alias.scope !151, !noalias !152 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !2375 call void @julia_throw_boundserror_50316(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #133, !dbg !2375 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2375 unreachable, !dbg !2375 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2382 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !2382 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !2382, !tbaa !168, !alias.scope !171, !noalias !172 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !2382 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !2382, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !2382 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !2382 %memoryref_offset34 = sub i64 %102, 1, !dbg !2383 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !2383 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !2383 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !2383 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !2383 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !2383 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !2383 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !2383 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !2383 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !2383, !tbaa !187, !alias.scope !171, !noalias !172, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !2383 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !2383 %122 = sub i64 %121, %120, !dbg !2383 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !2383 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !2383 %123 = xor i1 %memoryref_ovflw36, true, !dbg !2383 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !2383 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !2383 L146: ; preds = %load55 br label %L147, !dbg !2377 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !2384 %125 = xor i1 %124, true, !dbg !2385 br i1 %125, label %L150, label %L149, !dbg !2385 L149: ; preds = %L147 br label %L152, !dbg !2385 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !2388 br label %L152, !dbg !2385 L152: ; preds = %L150, %L149 %value_phi57 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi58 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi59 = phi i8 [ 1, %L149 ], [ 0, %L150 ] br label %L156, !dbg !2386 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !2387 %128 = xor i1 %127, true, !dbg !2387 %129 = xor i1 %128, true, !dbg !2387 br i1 %129, label %L159, label %L158, !dbg !2387 L158: ; preds = %L156 br label %L86, !dbg !2331 L159: ; preds = %L156, %L84 br label %L163, !dbg !2390 L160: ; preds = %L55 %"-Core.BoundsError#50629" = load ptr, ptr @_Core_BoundsError_50629, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !285, !align !174 %130 = addrspacecast ptr %"-Core.BoundsError#50629" to ptr addrspace(10), !dbg !2269 %"+Core.BoundsError#50280" = load ptr, ptr @_Core_BoundsError_50280, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %131 = addrspacecast ptr %"+Core.BoundsError#50280" to ptr addrspace(10), !dbg !2269 %"+Main.Base.LinearIndices#50630" = load ptr, ptr @_Main_Base_LinearIndices_50630, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#50630" to i64, !dbg !2269 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !2269 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2269 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !2269 %"box::LinearIndices" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task66, i64 8, ptr addrspace(10) %133) #134, !dbg !2269 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !2269 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !2269, !tbaa !133, !alias.scope !648, !noalias !392 %135 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %130, ptr addrspace(10) %131, ptr addrspace(10) %"dest::Array", ptr addrspace(10) %"box::LinearIndices"), !dbg !2269 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !2269 call void @ijl_throw(ptr addrspace(12) %136), !dbg !2269 unreachable, !dbg !2269 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !2271 oob: ; preds = %L123 %"+Core.GenericMemoryRef#50286" = load ptr, ptr @_Core_GenericMemoryRef_50286, align 8, !dbg !2373, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#50286" to i64, !dbg !2373 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !2373 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2373 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !2373 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task24, i64 16, ptr addrspace(10) %138) #134, !dbg !2373 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !2373 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !2373, !tbaa !203, !alias.scope !207, !noalias !208 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !2373 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !2373 unreachable, !dbg !2373 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !2373 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !2373 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !2373 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %144 = icmp eq i64 %memory_len25, 0, !dbg !2373 br i1 %144, label %oob26, label %load, !dbg !2373 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !2373 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !2373 unreachable, !dbg !2373 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !2373 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !2373 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !2373, !tbaa !876, !alias.scope !207, !noalias !208 br label %L127, !dbg !2373 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#5028646" = load ptr, ptr @_Core_GenericMemoryRef_50286, align 8, !dbg !2383, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#5028646" to i64, !dbg !2383 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !2383 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2383 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !2383 %"box::GenericMemoryRef49" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task48, i64 16, ptr addrspace(10) %149) #134, !dbg !2383 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !2383 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !2383, !tbaa !203, !alias.scope !207, !noalias !208 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !2383 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !2383 unreachable, !dbg !2383 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !2383 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !2383 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !2383 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %155 = icmp eq i64 %memory_len53, 0, !dbg !2383 br i1 %155, label %oob54, label %load55, !dbg !2383 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !2383 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !2383 unreachable, !dbg !2383 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !2383 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !2383 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !2383, !tbaa !876, !alias.scope !207, !noalias !208 br label %L146, !dbg !2391 after_error: ; No predecessors! call void @llvm.trap(), !dbg !2375 unreachable, !dbg !2375 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !2375 unreachable, !dbg !2375 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !2370 unreachable, !dbg !2370 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !2370 unreachable, !dbg !2370 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !2345 unreachable, !dbg !2345 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !2345 unreachable, !dbg !2345 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !2269 unreachable, !dbg !2269 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !2269 unreachable, !dbg !2269 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(copyto!), Vector{Float64}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}) 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f1_count), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [15] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [17] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:473 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:474 Test threw exception Expression: -(cos(0.3)) ≈ ((Enzyme.autodiff(Reverse, f2_count, Active(0.3)))[1])[1] AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal nonnull ptr addrspace(10) @julia_copyto__52904(ptr addrspace(10) noundef nonnull align 8 dereferenceable(24) %"dest::Array", ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(40) %"src::SubArray", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.src) #32 !dbg !2194 { top: %"dest::Array.size" = alloca i64, align 8 %sret_box = alloca [5 x i64], align 8 %0 = alloca ptr addrspace(10), align 8 %1 = alloca ptr addrspace(10), align 8 %2 = alloca [5 x i64], align 8 %3 = alloca [5 x i64], align 8 %"dest::Array.size9" = alloca i64, align 8 %"new::LinearIndices" = alloca [1 x [1 x [1 x i64]]], align 8 %"new::Tuple" = alloca [1 x i64], align 8 %root_phi.size = alloca i64, align 8 %"dest::Array.size29" = alloca i64, align 8 %"new::Tuple60" = alloca [1 x i64], align 8 %"new::Tuple61" = alloca [1 x i64], align 8 %4 = alloca ptr addrspace(10), align 8 %pgcstack = call ptr @julia.get_pgcstack() call void @llvm.memset.p0.i64(ptr align 8 %4, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.memset.p0.i64(ptr align 8 %1, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.memset.p0.i64(ptr align 8 %0, i8 0, i64 8, i1 false), !tbaa !121, !alias.scope !295, !noalias !296 %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 !121 %5 = getelementptr inbounds i8, ptr %ptls_load, i32 16 %safepoint = load atomic ptr, ptr %5 monotonic, align 8, !tbaa !125 fence syncscope("singlethread") seq_cst call void @julia.safepoint(ptr %safepoint) fence syncscope("singlethread") seq_cst %6 = getelementptr inbounds i8, ptr %.roots.src, i32 0 %7 = load ptr addrspace(10), ptr %6, align 8, !tbaa !125, !alias.scope !200, !noalias !201 %8 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !2195 %.stop_ptr = getelementptr inbounds i8, ptr addrspace(11) %8, i32 8, !dbg !2207 %.stop_ptr.unbox = load i64, ptr addrspace(11) %.stop_ptr, align 8, !dbg !2218, !tbaa !125, !alias.scope !200, !noalias !201 %.unbox = load i64, ptr addrspace(11) %8, align 8, !dbg !2218, !tbaa !125, !alias.scope !200, !noalias !201 %9 = sub i64 %.stop_ptr.unbox, %.unbox, !dbg !2218 %10 = add i64 1, %9, !dbg !2221 %11 = icmp eq i64 %10, 0, !dbg !2223 %12 = xor i1 %11, true, !dbg !2206 br i1 %12, label %L10, label %L9, !dbg !2206 L9: ; preds = %top ret ptr addrspace(10) %"dest::Array", !dbg !2206 L10: ; preds = %top %13 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2225 %"dest::Array.size_ptr" = getelementptr inbounds i8, ptr addrspace(11) %13, i32 16, !dbg !2225 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size", ptr addrspace(11) align 8 %"dest::Array.size_ptr", i64 8, i1 false), !dbg !2225, !tbaa !133, !alias.scope !134, !noalias !138 %"dest::Array.size.unbox" = load i64, ptr %"dest::Array.size", align 8, !dbg !2234, !tbaa !149, !alias.scope !151, !noalias !152 %14 = icmp eq i64 %"dest::Array.size.unbox", 0, !dbg !2234 %15 = xor i1 %14, true, !dbg !2235 %16 = xor i1 %15, true, !dbg !2229 br i1 %16, label %L39, label %L16, !dbg !2229 L16: ; preds = %L10 %17 = getelementptr inbounds i8, ptr addrspace(11) %"src::SubArray", i32 8, !dbg !2237 %.stop_ptr1 = getelementptr inbounds i8, ptr addrspace(11) %17, i32 8, !dbg !2240 %.stop_ptr1.unbox = load i64, ptr addrspace(11) %.stop_ptr1, align 8, !dbg !2246, !tbaa !125, !alias.scope !200, !noalias !201 %.unbox2 = load i64, ptr addrspace(11) %17, align 8, !dbg !2246, !tbaa !125, !alias.scope !200, !noalias !201 %18 = sub i64 %.stop_ptr1.unbox, %.unbox2, !dbg !2246 %19 = add i64 1, %18, !dbg !2248 %20 = icmp eq i64 %19, 0, !dbg !2234 %21 = xor i1 %20, true, !dbg !2235 %22 = xor i1 %21, true, !dbg !2229 br i1 %22, label %L38, label %L25, !dbg !2229 L25: ; preds = %L16 %23 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2249 %24 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 0, !dbg !2249 %25 = load ptr, ptr addrspace(11) %24, align 8, !dbg !2249, !tbaa !168, !alias.scope !171, !noalias !172 %26 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %23, i32 0, i32 1, !dbg !2249 %27 = load ptr addrspace(10), ptr addrspace(11) %26, align 8, !dbg !2249, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %28 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %25, 0, !dbg !2249 %"dest::Array.ref" = insertvalue { ptr, ptr addrspace(10) } %28, ptr addrspace(10) %27, 1, !dbg !2249 %"dest::Array.ref.mem" = extractvalue { ptr, ptr addrspace(10) } %"dest::Array.ref", 1, !dbg !2249 %29 = addrspacecast ptr addrspace(10) %"dest::Array.ref.mem" to ptr addrspace(11), !dbg !2252 %"dest::Array.ref.mem.ptr_ptr" = getelementptr inbounds i8, ptr addrspace(11) %29, i32 8, !dbg !2252 %bitcast = load ptr, ptr addrspace(11) %"dest::Array.ref.mem.ptr_ptr", align 8, !dbg !2254, !tbaa !187, !alias.scope !171, !noalias !172 %bitcast_coercion = ptrtoint ptr %bitcast to i64, !dbg !2254 %30 = addrspacecast ptr addrspace(10) %7 to ptr addrspace(11), !dbg !2256 %31 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 0, !dbg !2256 %32 = load ptr, ptr addrspace(11) %31, align 8, !dbg !2256, !tbaa !168, !alias.scope !171, !noalias !172 %33 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %30, i32 0, i32 1, !dbg !2256 %34 = load ptr addrspace(10), ptr addrspace(11) %33, align 8, !dbg !2256, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %35 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %32, 0, !dbg !2256 %.ref = insertvalue { ptr, ptr addrspace(10) } %35, ptr addrspace(10) %34, 1, !dbg !2256 %.ref.mem = extractvalue { ptr, ptr addrspace(10) } %.ref, 1, !dbg !2256 %36 = addrspacecast ptr addrspace(10) %.ref.mem to ptr addrspace(11), !dbg !2260 %.ref.mem.ptr_ptr = getelementptr inbounds i8, ptr addrspace(11) %36, i32 8, !dbg !2260 %bitcast3 = load ptr, ptr addrspace(11) %.ref.mem.ptr_ptr, align 8, !dbg !2262, !tbaa !187, !alias.scope !171, !noalias !172 %bitcast_coercion4 = ptrtoint ptr %bitcast3 to i64, !dbg !2262 %37 = icmp eq i64 %bitcast_coercion, %bitcast_coercion4, !dbg !2263 %38 = xor i1 %37, true, !dbg !2268 %39 = xor i1 %38, true, !dbg !2235 %40 = zext i1 %39 to i8 br label %L40, !dbg !2235 L38: ; preds = %L16 br label %L40, !dbg !2269 L39: ; preds = %L10 br label %L40, !dbg !2269 L40: ; preds = %L39, %L38, %L25 %value_phi = phi i8 [ %40, %L25 ], [ 0, %L38 ], [ 0, %L39 ] %41 = trunc i8 %value_phi to i1, !dbg !2231 %42 = xor i1 %41, true, !dbg !2231 br i1 %42, label %L44, label %L42, !dbg !2231 L42: ; preds = %L40 %43 = getelementptr inbounds i8, ptr %1, i32 0, !dbg !2231 store ptr addrspace(10) %7, ptr %43, align 8, !dbg !2231 call void @julia_unaliascopy_52911(ptr noalias nocapture noundef sret({ ptr addrspace(10), [1 x [2 x i64]], i64, i64 }) %sret_box, ptr noalias nocapture noundef "enzymejl_returnRoots" %0, ptr addrspace(11) nocapture readonly %"src::SubArray", ptr nocapture readonly %1), !dbg !2231 %44 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !2231 %45 = load ptr addrspace(10), ptr %44, align 8, !dbg !2231, !tbaa !121, !alias.scope !295, !noalias !296 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !2272 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %sret_box, i64 40, i1 false), !dbg !2272, !tbaa !133, !alias.scope !643, !noalias !644 br label %L45, !dbg !2231 L44: ; preds = %L40 call void @llvm.lifetime.start.p0(i64 -1, ptr %3), !dbg !2272 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %3, ptr addrspace(11) align 8 %"src::SubArray", i64 40, i1 false), !dbg !2272, !tbaa !133, !alias.scope !2273, !noalias !2274 br label %L45, !dbg !2269 L45: ; preds = %L44, %L42 %root_phi = phi ptr addrspace(10) [ %45, %L42 ], [ %7, %L44 ] call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2, ptr align 8 %3, i64 40, i1 false), !dbg !2233 call void @llvm.lifetime.end.p0(i64 -1, ptr %3), !dbg !2233 %46 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2275 %.stop_ptr5 = getelementptr inbounds i8, ptr %46, i32 8, !dbg !2281 %.stop_ptr5.unbox = load i64, ptr %.stop_ptr5, align 8, !dbg !2287, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox6 = load i64, ptr %46, align 8, !dbg !2287, !tbaa !149, !alias.scope !151, !noalias !152 %47 = sub i64 %.stop_ptr5.unbox, %.unbox6, !dbg !2287 %48 = add i64 1, %47, !dbg !2289 %49 = icmp eq i64 %48, 0, !dbg !2290 %50 = xor i1 %49, true, !dbg !2280 br i1 %50, label %L55, label %L54, !dbg !2280 L54: ; preds = %L45 br label %L163, !dbg !2280 L55: ; preds = %L45 %51 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2291 %"dest::Array.size_ptr8" = getelementptr inbounds i8, ptr addrspace(11) %51, i32 16, !dbg !2291 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size9", ptr addrspace(11) align 8 %"dest::Array.size_ptr8", i64 8, i1 false), !dbg !2291, !tbaa !133, !alias.scope !134, !noalias !138 %52 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2297 %.stop_ptr10 = getelementptr inbounds i8, ptr %52, i32 8, !dbg !2299 %.stop_ptr10.unbox = load i64, ptr %.stop_ptr10, align 8, !dbg !2305, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox11 = load i64, ptr %52, align 8, !dbg !2305, !tbaa !149, !alias.scope !151, !noalias !152 %53 = sub i64 %.stop_ptr10.unbox, %.unbox11, !dbg !2305 %54 = add i64 1, %53, !dbg !2307 %55 = getelementptr inbounds i8, ptr %"new::LinearIndices", i32 0, !dbg !2308 %56 = getelementptr inbounds i8, ptr %55, i32 0, !dbg !2308 %57 = getelementptr inbounds i8, ptr %56, i32 0, !dbg !2308 store i64 %54, ptr %57, align 8, !dbg !2308, !tbaa !149, !alias.scope !151, !noalias !152 %bitcast12 = load i64, ptr %"dest::Array.size9", align 8, !dbg !2312, !tbaa !149, !alias.scope !151, !noalias !152 %58 = icmp ult i64 0, %bitcast12, !dbg !2320 %59 = add i64 %54, 0, !dbg !2322 %60 = sub i64 %59, 1, !dbg !2323 %bitcast13 = load i64, ptr %"dest::Array.size9", align 8, !dbg !2312, !tbaa !149, !alias.scope !151, !noalias !152 %61 = icmp ult i64 %60, %bitcast13, !dbg !2320 %62 = and i1 %58, %61, !dbg !2324 %63 = xor i1 %62, true, !dbg !2269 br i1 %63, label %L160, label %L76, !dbg !2269 L76: ; preds = %L55 %64 = icmp slt i64 %54, 1, !dbg !2326 %65 = xor i1 %64, true, !dbg !2331 br i1 %65, label %L79, label %L78, !dbg !2331 L78: ; preds = %L76 br label %L80, !dbg !2331 L79: ; preds = %L76 br label %L80, !dbg !2331 L80: ; preds = %L79, %L78 %value_phi14 = phi i8 [ 1, %L78 ], [ 0, %L79 ] %value_phi15 = phi i64 [ 1, %L79 ], [ undef, %L78 ] %value_phi16 = phi i64 [ 1, %L79 ], [ undef, %L78 ] br label %L84, !dbg !2333 L84: ; preds = %L80 %66 = trunc i8 %value_phi14 to i1, !dbg !2335 %67 = xor i1 %66, true, !dbg !2335 %68 = xor i1 %67, true, !dbg !2335 br i1 %68, label %L159, label %L84.L86_crit_edge, !dbg !2335 L84.L86_crit_edge: ; preds = %L84 br label %L86, !dbg !2331 L86: ; preds = %L84.L86_crit_edge, %L158 %value_phi17 = phi i64 [ %value_phi15, %L84.L86_crit_edge ], [ %value_phi57, %L158 ] %value_phi18 = phi i64 [ %value_phi16, %L84.L86_crit_edge ], [ %value_phi58, %L158 ] br i1 false, label %L106, label %L90, !dbg !2336 L90: ; preds = %L86 %69 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0, !dbg !2336 store i64 %value_phi17, ptr %69, align 8, !dbg !2336, !tbaa !149, !alias.scope !151, !noalias !152 %70 = getelementptr inbounds i8, ptr %2, i32 8, !dbg !2339 %.stop_ptr19 = getelementptr inbounds i8, ptr %70, i32 8, !dbg !2346 %.stop_ptr19.unbox = load i64, ptr %.stop_ptr19, align 8, !dbg !2355, !tbaa !149, !alias.scope !151, !noalias !152 %.unbox20 = load i64, ptr %70, align 8, !dbg !2355, !tbaa !149, !alias.scope !151, !noalias !152 %71 = sub i64 %.stop_ptr19.unbox, %.unbox20, !dbg !2355 %72 = add i64 1, %71, !dbg !2357 %73 = sub i64 %value_phi17, 1, !dbg !2358 %74 = icmp ult i64 %73, %72, !dbg !2360 %75 = xor i1 %74, true, !dbg !2345 br i1 %75, label %L103, label %L102, !dbg !2345 L102: ; preds = %L90 br label %L105, !dbg !2345 L103: ; preds = %L90 %76 = getelementptr inbounds i8, ptr %4, i32 0, !dbg !2345 store ptr addrspace(10) %root_phi, ptr %76, align 8, !dbg !2345 %77 = addrspacecast ptr %2 to ptr addrspace(11), !dbg !2345 %78 = addrspacecast ptr %"new::Tuple" to ptr addrspace(11), !dbg !2345 call void @julia_throw_boundserror_52722(ptr addrspace(11) nocapture readonly %77, ptr nocapture readonly %4, ptr addrspace(11) nocapture readonly %78) #133, !dbg !2345 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2345 unreachable, !dbg !2345 L105: ; preds = %L102 br label %L106, !dbg !2345 L106: ; preds = %L105, %L86 %79 = getelementptr inbounds i8, ptr %2, i32 24, !dbg !2361 %.unbox21 = load i64, ptr %79, align 8, !dbg !2365, !tbaa !149, !alias.scope !151, !noalias !152 %80 = add i64 %.unbox21, %value_phi17, !dbg !2365 br i1 false, label %L123, label %L111, !dbg !2366 L111: ; preds = %L106 %81 = sub i64 %80, 1, !dbg !2368 %82 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !2371 %root_phi.size_ptr = getelementptr inbounds i8, ptr addrspace(11) %82, i32 16, !dbg !2371 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %root_phi.size, ptr addrspace(11) align 8 %root_phi.size_ptr, i64 8, i1 false), !dbg !2371, !tbaa !133, !alias.scope !134, !noalias !138 %bitcast22 = load i64, ptr %root_phi.size, align 8, !dbg !2368, !tbaa !149, !alias.scope !151, !noalias !152 %83 = icmp ult i64 %81, %bitcast22, !dbg !2368 %84 = xor i1 %83, true, !dbg !2370 br i1 %84, label %L119, label %L118, !dbg !2370 L118: ; preds = %L111 br label %L122, !dbg !2370 L119: ; preds = %L111 %85 = getelementptr inbounds i8, ptr %"new::Tuple61", i32 0, !dbg !2370 store i64 %80, ptr %85, align 8, !dbg !2370, !tbaa !149, !alias.scope !151, !noalias !152 %86 = addrspacecast ptr %"new::Tuple61" to ptr addrspace(11), !dbg !2370 call void @julia_throw_boundserror_52596(ptr addrspace(10) %root_phi, ptr addrspace(11) nocapture readonly %86) #133, !dbg !2370 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2370 unreachable, !dbg !2370 L122: ; preds = %L118 br label %L123, !dbg !2370 L123: ; preds = %L122, %L106 %87 = addrspacecast ptr addrspace(10) %root_phi to ptr addrspace(11), !dbg !2373 %88 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 0, !dbg !2373 %memoryref_data = load ptr, ptr addrspace(11) %88, align 8, !dbg !2373, !tbaa !168, !alias.scope !171, !noalias !172 %89 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %87, i32 0, i32 1, !dbg !2373 %memoryref_mem = load ptr addrspace(10), ptr addrspace(11) %89, align 8, !dbg !2373, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %90 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data, 0, !dbg !2373 %root_phi.ref = insertvalue { ptr, ptr addrspace(10) } %90, ptr addrspace(10) %memoryref_mem, 1, !dbg !2373 %memoryref_offset = sub i64 %80, 1, !dbg !2373 %91 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %92 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %91, i32 0, i32 0, !dbg !2373 %memory_len = load i64, ptr addrspace(11) %92, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %93 = add nuw i64 %memory_len, %memory_len, !dbg !2373 %94 = add i64 %memoryref_offset, %memory_len, !dbg !2373 %memoryref_ovflw = icmp uge i64 %94, %93, !dbg !2373 %memoryref_byteoffset = mul i64 %memoryref_offset, 8, !dbg !2373 %memoryref_data_byteoffset = getelementptr i8, ptr %memoryref_data, i64 %memoryref_byteoffset, !dbg !2373 %95 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %96 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %95, i32 0, i32 0, !dbg !2373 %memory_len23 = load i64, ptr addrspace(11) %96, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %97 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %memory_data_ptr = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %97, i32 0, i32 1, !dbg !2373 %memory_data = load ptr, ptr addrspace(11) %memory_data_ptr, align 8, !dbg !2373, !tbaa !187, !alias.scope !171, !noalias !172, !nonnull !0 %98 = ptrtoint ptr %memory_data to i64, !dbg !2373 %99 = ptrtoint ptr %memoryref_data_byteoffset to i64, !dbg !2373 %100 = sub i64 %99, %98, !dbg !2373 %memoryref_bytelen = mul nuw nsw i64 %memory_len23, 8, !dbg !2373 %memoryref_isinbounds = icmp ult i64 %100, %memoryref_bytelen, !dbg !2373 %101 = xor i1 %memoryref_ovflw, true, !dbg !2373 %"memoryref_isinbounds¬ovflw" = and i1 %101, %memoryref_isinbounds, !dbg !2373 br i1 %"memoryref_isinbounds¬ovflw", label %idxend, label %oob, !dbg !2373 L127: ; preds = %load br label %L128, !dbg !2373 L128: ; preds = %L127 %102 = add i64 %value_phi17, 0, !dbg !2374 br i1 false, label %L142, label %L131, !dbg !2375 L131: ; preds = %L128 %103 = sub i64 %102, 1, !dbg !2379 %104 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2380 %"dest::Array.size_ptr28" = getelementptr inbounds i8, ptr addrspace(11) %104, i32 16, !dbg !2380 call void @llvm.memcpy.p0.p11.i64(ptr align 8 %"dest::Array.size29", ptr addrspace(11) align 8 %"dest::Array.size_ptr28", i64 8, i1 false), !dbg !2380, !tbaa !133, !alias.scope !134, !noalias !138 %bitcast30 = load i64, ptr %"dest::Array.size29", align 8, !dbg !2379, !tbaa !149, !alias.scope !151, !noalias !152 %105 = icmp ult i64 %103, %bitcast30, !dbg !2379 %106 = xor i1 %105, true, !dbg !2375 br i1 %106, label %L139, label %L138, !dbg !2375 L138: ; preds = %L131 br label %L142, !dbg !2375 L139: ; preds = %L131 %107 = getelementptr inbounds i8, ptr %"new::Tuple60", i32 0, !dbg !2375 store i64 %102, ptr %107, align 8, !dbg !2375, !tbaa !149, !alias.scope !151, !noalias !152 %108 = addrspacecast ptr %"new::Tuple60" to ptr addrspace(11), !dbg !2375 call void @julia_throw_boundserror_52596(ptr addrspace(10) %"dest::Array", ptr addrspace(11) nocapture readonly %108) #133, !dbg !2375 call void @ijl_error(ptr @_j_str__INTERNAL_ERROR___IR_Vali____4_25), !dbg !2375 unreachable, !dbg !2375 L142: ; preds = %L138, %L128 %109 = addrspacecast ptr addrspace(10) %"dest::Array" to ptr addrspace(11), !dbg !2382 %110 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 0, !dbg !2382 %memoryref_data32 = load ptr, ptr addrspace(11) %110, align 8, !dbg !2382, !tbaa !168, !alias.scope !171, !noalias !172 %111 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %109, i32 0, i32 1, !dbg !2382 %memoryref_mem52 = load ptr addrspace(10), ptr addrspace(11) %111, align 8, !dbg !2382, !tbaa !168, !alias.scope !171, !noalias !172, !dereferenceable_or_null !173, !align !174 %112 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data32, 0, !dbg !2382 %"dest::Array.ref31" = insertvalue { ptr, ptr addrspace(10) } %112, ptr addrspace(10) %memoryref_mem52, 1, !dbg !2382 %memoryref_offset34 = sub i64 %102, 1, !dbg !2383 %113 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %114 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %113, i32 0, i32 0, !dbg !2383 %memory_len35 = load i64, ptr addrspace(11) %114, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %115 = add nuw i64 %memory_len35, %memory_len35, !dbg !2383 %116 = add i64 %memoryref_offset34, %memory_len35, !dbg !2383 %memoryref_ovflw36 = icmp uge i64 %116, %115, !dbg !2383 %memoryref_byteoffset37 = mul i64 %memoryref_offset34, 8, !dbg !2383 %memoryref_data_byteoffset38 = getelementptr i8, ptr %memoryref_data32, i64 %memoryref_byteoffset37, !dbg !2383 %117 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %118 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %117, i32 0, i32 0, !dbg !2383 %memory_len39 = load i64, ptr addrspace(11) %118, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %119 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %memory_data_ptr40 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %119, i32 0, i32 1, !dbg !2383 %memory_data41 = load ptr, ptr addrspace(11) %memory_data_ptr40, align 8, !dbg !2383, !tbaa !187, !alias.scope !171, !noalias !172, !nonnull !0 %120 = ptrtoint ptr %memory_data41 to i64, !dbg !2383 %121 = ptrtoint ptr %memoryref_data_byteoffset38 to i64, !dbg !2383 %122 = sub i64 %121, %120, !dbg !2383 %memoryref_bytelen42 = mul nuw nsw i64 %memory_len39, 8, !dbg !2383 %memoryref_isinbounds43 = icmp ult i64 %122, %memoryref_bytelen42, !dbg !2383 %123 = xor i1 %memoryref_ovflw36, true, !dbg !2383 %"memoryref_isinbounds¬ovflw44" = and i1 %123, %memoryref_isinbounds43, !dbg !2383 br i1 %"memoryref_isinbounds¬ovflw44", label %idxend50, label %oob45, !dbg !2383 L146: ; preds = %load55 br label %L147, !dbg !2377 L147: ; preds = %L146 %124 = icmp eq i64 %value_phi18, %54, !dbg !2384 %125 = xor i1 %124, true, !dbg !2385 br i1 %125, label %L150, label %L149, !dbg !2385 L149: ; preds = %L147 br label %L152, !dbg !2385 L150: ; preds = %L147 %126 = add i64 %value_phi18, 1, !dbg !2388 br label %L152, !dbg !2385 L152: ; preds = %L150, %L149 %value_phi57 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi58 = phi i64 [ %126, %L150 ], [ undef, %L149 ] %value_phi59 = phi i8 [ 1, %L149 ], [ 0, %L150 ] br label %L156, !dbg !2386 L156: ; preds = %L152 %127 = trunc i8 %value_phi59 to i1, !dbg !2387 %128 = xor i1 %127, true, !dbg !2387 %129 = xor i1 %128, true, !dbg !2387 br i1 %129, label %L159, label %L158, !dbg !2387 L158: ; preds = %L156 br label %L86, !dbg !2331 L159: ; preds = %L156, %L84 br label %L163, !dbg !2390 L160: ; preds = %L55 %"-Core.BoundsError#52909" = load ptr, ptr @_Core_BoundsError_52909, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !285, !align !174 %130 = addrspacecast ptr %"-Core.BoundsError#52909" to ptr addrspace(10), !dbg !2269 %"+Core.BoundsError#52560" = load ptr, ptr @_Core_BoundsError_52560, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %131 = addrspacecast ptr %"+Core.BoundsError#52560" to ptr addrspace(10), !dbg !2269 %"+Main.Base.LinearIndices#52910" = load ptr, ptr @_Main_Base_LinearIndices_52910, align 8, !dbg !2269, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %LinearIndices = ptrtoint ptr %"+Main.Base.LinearIndices#52910" to i64, !dbg !2269 %132 = inttoptr i64 %LinearIndices to ptr, !dbg !2269 %current_task66 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2269 %133 = addrspacecast ptr %132 to ptr addrspace(10), !dbg !2269 %"box::LinearIndices" = call noalias nonnull align 8 dereferenceable(8) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task66, i64 8, ptr addrspace(10) %133) #134, !dbg !2269 %134 = addrspacecast ptr addrspace(10) %"box::LinearIndices" to ptr addrspace(11), !dbg !2269 call void @llvm.memcpy.p11.p0.i64(ptr addrspace(11) align 8 %134, ptr align 8 %"new::LinearIndices", i64 8, i1 false), !dbg !2269, !tbaa !133, !alias.scope !648, !noalias !392 %135 = call nonnull ptr addrspace(10) (ptr, ptr addrspace(10), ptr addrspace(10), ...) @julia.call2(ptr @ijl_invoke, ptr addrspace(10) %130, ptr addrspace(10) %131, ptr addrspace(10) %"dest::Array", ptr addrspace(10) %"box::LinearIndices"), !dbg !2269 %136 = addrspacecast ptr addrspace(10) %135 to ptr addrspace(12), !dbg !2269 call void @ijl_throw(ptr addrspace(12) %136), !dbg !2269 unreachable, !dbg !2269 L163: ; preds = %L159, %L54 %value_phi7 = phi ptr addrspace(10) [ %"dest::Array", %L54 ], [ %"dest::Array", %L159 ] ret ptr addrspace(10) %value_phi7, !dbg !2271 oob: ; preds = %L123 %"+Core.GenericMemoryRef#52566" = load ptr, ptr @_Core_GenericMemoryRef_52566, align 8, !dbg !2373, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %GenericMemoryRef = ptrtoint ptr %"+Core.GenericMemoryRef#52566" to i64, !dbg !2373 %137 = inttoptr i64 %GenericMemoryRef to ptr, !dbg !2373 %current_task24 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2373 %138 = addrspacecast ptr %137 to ptr addrspace(10), !dbg !2373 %"box::GenericMemoryRef" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task24, i64 16, ptr addrspace(10) %138) #134, !dbg !2373 %139 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(11), !dbg !2373 store { ptr, ptr addrspace(10) } %root_phi.ref, ptr addrspace(11) %139, align 8, !dbg !2373, !tbaa !203, !alias.scope !207, !noalias !208 %140 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef" to ptr addrspace(12), !dbg !2373 call void @ijl_bounds_error_int(ptr addrspace(12) %140, i64 %80), !dbg !2373 unreachable, !dbg !2373 idxend: ; preds = %L123 %141 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset, 0, !dbg !2373 %memory_ref = insertvalue { ptr, ptr addrspace(10) } %141, ptr addrspace(10) %memoryref_mem, 1, !dbg !2373 %142 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(11), !dbg !2373 %143 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %142, i32 0, i32 0, !dbg !2373 %memory_len25 = load i64, ptr addrspace(11) %143, align 8, !dbg !2373, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %144 = icmp eq i64 %memory_len25, 0, !dbg !2373 br i1 %144, label %oob26, label %load, !dbg !2373 oob26: ; preds = %idxend %145 = addrspacecast ptr addrspace(10) %memoryref_mem to ptr addrspace(12), !dbg !2373 call void @ijl_bounds_error_int(ptr addrspace(12) %145, i64 1), !dbg !2373 unreachable, !dbg !2373 load: ; preds = %idxend %146 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem, ptr %memoryref_data), !dbg !2373 %memoryref_data27 = getelementptr inbounds i8, ptr addrspace(13) %146, i64 %memoryref_byteoffset, !dbg !2373 %147 = load double, ptr addrspace(13) %memoryref_data27, align 8, !dbg !2373, !tbaa !876, !alias.scope !207, !noalias !208 br label %L127, !dbg !2373 oob45: ; preds = %L142 %"+Core.GenericMemoryRef#5256646" = load ptr, ptr @_Core_GenericMemoryRef_52566, align 8, !dbg !2383, !tbaa !125, !alias.scope !200, !noalias !201, !nonnull !0, !dereferenceable !202, !align !173 %GenericMemoryRef47 = ptrtoint ptr %"+Core.GenericMemoryRef#5256646" to i64, !dbg !2383 %148 = inttoptr i64 %GenericMemoryRef47 to ptr, !dbg !2383 %current_task48 = getelementptr inbounds i8, ptr %pgcstack, i32 -152, !dbg !2383 %149 = addrspacecast ptr %148 to ptr addrspace(10), !dbg !2383 %"box::GenericMemoryRef49" = call noalias nonnull align 8 dereferenceable(16) ptr addrspace(10) @julia.gc_alloc_obj(ptr %current_task48, i64 16, ptr addrspace(10) %149) #134, !dbg !2383 %150 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(11), !dbg !2383 store { ptr, ptr addrspace(10) } %"dest::Array.ref31", ptr addrspace(11) %150, align 8, !dbg !2383, !tbaa !203, !alias.scope !207, !noalias !208 %151 = addrspacecast ptr addrspace(10) %"box::GenericMemoryRef49" to ptr addrspace(12), !dbg !2383 call void @ijl_bounds_error_int(ptr addrspace(12) %151, i64 %102), !dbg !2383 unreachable, !dbg !2383 idxend50: ; preds = %L142 %152 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %memoryref_data_byteoffset38, 0, !dbg !2383 %memory_ref51 = insertvalue { ptr, ptr addrspace(10) } %152, ptr addrspace(10) %memoryref_mem52, 1, !dbg !2383 %153 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(11), !dbg !2383 %154 = getelementptr inbounds nuw { i64, ptr }, ptr addrspace(11) %153, i32 0, i32 0, !dbg !2383 %memory_len53 = load i64, ptr addrspace(11) %154, align 8, !dbg !2383, !tbaa !194, !range !268, !alias.scope !171, !noalias !172 %155 = icmp eq i64 %memory_len53, 0, !dbg !2383 br i1 %155, label %oob54, label %load55, !dbg !2383 oob54: ; preds = %idxend50 %156 = addrspacecast ptr addrspace(10) %memoryref_mem52 to ptr addrspace(12), !dbg !2383 call void @ijl_bounds_error_int(ptr addrspace(12) %156, i64 1), !dbg !2383 unreachable, !dbg !2383 load55: ; preds = %idxend50 %157 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) %memoryref_mem52, ptr %memoryref_data32), !dbg !2383 %memoryref_data56 = getelementptr inbounds i8, ptr addrspace(13) %157, i64 %memoryref_byteoffset37, !dbg !2383 store double %147, ptr addrspace(13) %memoryref_data56, align 8, !dbg !2383, !tbaa !876, !alias.scope !207, !noalias !208 br label %L146, !dbg !2391 after_error: ; No predecessors! call void @llvm.trap(), !dbg !2375 unreachable, !dbg !2375 after_noret: ; No predecessors! call void @llvm.trap(), !dbg !2375 unreachable, !dbg !2375 after_error62: ; No predecessors! call void @llvm.trap(), !dbg !2370 unreachable, !dbg !2370 after_noret63: ; No predecessors! call void @llvm.trap(), !dbg !2370 unreachable, !dbg !2370 after_error64: ; No predecessors! call void @llvm.trap(), !dbg !2345 unreachable, !dbg !2345 after_noret65: ; No predecessors! call void @llvm.trap(), !dbg !2345 unreachable, !dbg !2345 after_throw: ; No predecessors! call void @llvm.trap(), !dbg !2269 unreachable, !dbg !2269 after_noret67: ; No predecessors! call void @llvm.trap(), !dbg !2269 unreachable, !dbg !2269 } expectLen=2 swiftself=false sret=nothing returnRoots=nothing mi.specTypes.parameters=svec(typeof(copyto!), Vector{Float64}, SubArray{Float64, 1, Vector{Float64}, Tuple{UnitRange{Int64}}, true}) 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f2_count), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [15] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [17] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:474 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Error During Test at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:475 Test threw exception Expression: (0.3 * cos(0.3) - sin(0.3)) / (0.3 * 0.3) ≈ ((Enzyme.autodiff(Reverse, f3_count, Active(0.3)))[1])[1] AssertionError: Enzyme Internal Error (expectLen != length(parameters(f))) define internal void @julia_quadgk_54820(ptr noalias nocapture noundef nonnull sret([2 x double]) align 8 dereferenceable(16) %sret_return, ptr addrspace(11) nocapture noundef nonnull readonly align 8 dereferenceable(16) %"f::Counter", ptr nocapture noundef nonnull readonly align 8 dereferenceable(8) %.roots.f, double %"segs[1]::Float64", double %"segs[2]::Float64") #0 !dbg !118 { top: %segs = alloca [2 x i64], align 8 %"new::Tuple" = alloca [2 x double], align 8 %"new::Tuple1" = alloca [2 x double], align 8 %sret_box = alloca [2 x i64], align 8 %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 !121, !alias.scope !125, !noalias !128 %1 = getelementptr inbounds i8, ptr %.roots.f, i32 0 %2 = load ptr addrspace(10), ptr %1, align 8, !tbaa !133, !alias.scope !135, !noalias !136 %3 = getelementptr inbounds i8, ptr %"new::Tuple", i32 0 store double %"segs[1]::Float64", ptr %3, align 8, !tbaa !137, !alias.scope !139, !noalias !140 %4 = getelementptr inbounds i8, ptr %"new::Tuple", i32 8 store double %"segs[2]::Float64", ptr %4, align 8, !tbaa !137, !alias.scope !139, !noalias !140 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %segs, ptr align 8 %"new::Tuple", i64 16, i1 false), !tbaa !137, !alias.scope !139, !noalias !140 %"segs[2]_ptr" = getelementptr inbounds i8, ptr %segs, i32 8, !dbg !141 %5 = getelementptr inbounds i8, ptr %"new::Tuple1", i32 0, !dbg !141 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %segs, i64 8, i1 false), !dbg !141, !tbaa !137, !alias.scope !139, !noalias !140 %6 = getelementptr inbounds i8, ptr %"new::Tuple1", i32 8, !dbg !141 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %"segs[2]_ptr", i64 8, i1 false), !dbg !141, !tbaa !137, !alias.scope !139, !noalias !140 %7 = getelementptr inbounds i8, ptr %0, i32 0, !dbg !142 store ptr addrspace(10) %2, ptr %7, align 8, !dbg !142 %8 = addrspacecast ptr %"new::Tuple1" to ptr addrspace(11), !dbg !142 call void @julia_handle_infinities_54824(ptr noalias nocapture noundef sret([2 x double]) %sret_box, ptr addrspace(11) nocapture readonly addrspacecast (ptr @_j_const_2 to ptr addrspace(11)), ptr addrspace(11) nocapture readonly %"f::Counter", ptr nocapture readonly %0, ptr addrspace(11) nocapture readonly %8), !dbg !142 call void @llvm.memcpy.p0.p0.i64(ptr align 8 %sret_return, ptr align 8 %sret_box, i64 16, i1 false), !dbg !141 ret void, !dbg !141 } expectLen=4 swiftself=false sret=Ptr{Tuple{Float64, Float64}} returnRoots=nothing mi.specTypes.parameters=svec(typeof(quadgk), QuadGK.Counter{Main.var"#f3_count##0#f3_count##1"{Float64}}, Float64, Float64) 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f3_count), args::Active{Float64}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [15] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [16] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [17] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:475 [inlined] [18] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] Enzyme: Test Failed at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:481 Expression: autodiff(Reverse, f_vec, Duplicated(x, dx)) Expected: Enzyme.Compiler.EnzymeRuntimeException Thrown: UndefVarError 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(mode::ReverseMode{false, false, false, FFIABI, false, false}, f::typeof(f_vec), args::Duplicated{Vector{Float64}}) @ Enzyme ~/.julia/packages/Enzyme/lBjPq/src/Enzyme.jl:534 [16] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [17] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [18] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:481 [inlined] [19] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:865 [inlined] [20] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:481 [inlined] Stacktrace: [1] do_test_throws(result::Test.ExecutionResult, orig_expr::Any, extype::Any) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:910 [2] top-level scope @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:469 [3] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [4] macro expansion @ ~/.julia/packages/QuadGK/7rND3/test/runtests.jl:481 [inlined] Test Summary: | Fail Error Total Time Enzyme | 1 6 7 5m47.6s RNG of the outermost testset: Random.Xoshiro(0x91ea25569f54fb60, 0x3e268ec7e88e3340, 0xa87a07634874ba14, 0xabbae7a121a3f04c, 0x48dc4c06aec2c998) ERROR: LoadError: Some tests did not pass: 0 passed, 1 failed, 6 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/QuadGK/7rND3/test/runtests.jl:456 Testing failed after 659.37s ERROR: LoadError: Package QuadGK 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 706.56s: package tests unexpectedly errored