-
Notifications
You must be signed in to change notification settings - Fork 82
Closed
Description
This code works fine in 1.10 but not in 1.11
using OrdinaryDiffEq
using Enzyme
using SciMLSensitivity
function fun(du,u, p, t)
du .= -p[1] * t
nothing
end
function test_fun(p,prob)
prob = remake(prob, p=p)
sol = solve(prob,RK4(),save_everystep=false)
res = sol.u[2]
return res[1]
end
p = [1.0]
dp = [0.0]
u0 = [2.0]
prob = ODEProblem{true}(fun, u0, (1.0, 2.0), p)
dprob = Enzyme.make_zero(prob)
Enzyme.autodiff(Enzyme.Reverse, test_fun, Duplicated(p, dp),DuplicatedNoNeed(prob,dprob))using
[7da242da] Enzyme v0.13.30
[1dea7af3] OrdinaryDiffEq v6.91.0
[1ed8b502] SciMLSensitivity v7.74.0and
Julia Version 1.11.3error :
ERROR: LoadError: AssertionError: ; Function Attrs: alwaysinline mustprogress
define internal void @diffejulia_test_fun_22477({} addrspace(10)* noundef nonnull align 8 dereferenceable(24) "enzyme_type"="{[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Pointer, [-1,8,0]:Integer, [-1,8,1]:Integer, [-1,8,2]:Integer, [-1,8,3]:Integer, [-1,8,4]:Integer, [-1,8,5]:Integer, [-1,8,6]:Integer, [-1,8,7]:Integer, [-1,8,8]:Pointer, [-1,8,8,-1]:Float@double, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer}" "enzymejl_parmtype"="140728409013408" "enzymejl_parmtype_ref"="2" %0, {} addrspace(10)* align 8 "enzyme_type"="{[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Pointer, [-1,8,0]:Integer, [-1,8,1]:Integer, [-1,8,2]:Integer, [-1,8,3]:Integer, [-1,8,4]:Integer, [-1,8,5]:Integer, [-1,8,6]:Integer, [-1,8,7]:Integer, [-1,8,8]:Pointer, [-1,8,8,-1]:Float@double, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer}" "enzymejl_parmtype"="140728409013408" "enzymejl_parmtype_ref"="2" %"'", {} addrspace(10)* align 8 dereferenceable(40) "enzyme_type"="{[-1]:Pointer, [-1,0]:Integer, [-1,8]:Pointer, [-1,8,0]:Pointer, [-1,8,0,-1]:Float@double, [-1,8,8]:Pointer, [-1,8,8,0]:Integer, [-1,8,8,1]:Integer, [-1,8,8,2]:Integer, [-1,8,8,3]:Integer, [-1,8,8,4]:Integer, [-1,8,8,5]:Integer, [-1,8,8,6]:Integer, [-1,8,8,7]:Integer, [-1,8,8,8]:Pointer, [-1,8,8,8,-1]:Float@double, [-1,8,16]:Integer, [-1,8,17]:Integer, [-1,8,18]:Integer, [-1,8,19]:Integer, [-1,8,20]:Integer, [-1,8,21]:Integer, [-1,8,22]:Integer, [-1,8,23]:Integer, [-1,16]:Float@double, [-1,24]:Float@double, [-1,32]:Pointer, [-1,32,0]:Pointer, [-1,32,0,-1]:Float@double, [-1,32,8]:Pointer, [-1,32,8,0]:Integer, [-1,32,8,1]:Integer, [-1,32,8,2]:Integer, [-1,32,8,3]:Integer, [-1,32,8,4]:Integer, [-1,32,8,5]:Integer, [-1,32,8,6]:Integer, [-1,32,8,7]:Integer, [-1,32,8,8]:Pointer, [-1,32,8,8,-1]:Float@double, [-1,32,16]:Integer, [-1,32,17]:Integer, [-1,32,18]:Integer, [-1,32,19]:Integer, [-1,32,20]:Integer, [-1,32,21]:Integer, [-1,32,22]:Integer, [-1,32,23]:Integer}" "enzymejl_parmtype"="2263774472528" "enzymejl_parmtype_ref"="2" %1, {} addrspace(10)* align 8 "enzyme_type"="{[-1]:Pointer, [-1,0]:Integer, [-1,8]:Pointer, [-1,8,0]:Pointer, [-1,8,0,-1]:Float@double, [-1,8,8]:Pointer, [-1,8,8,0]:Integer, [-1,8,8,1]:Integer, [-1,8,8,2]:Integer, [-1,8,8,3]:Integer, [-1,8,8,4]:Integer, [-1,8,8,5]:Integer, [-1,8,8,6]:Integer, [-1,8,8,7]:Integer, [-1,8,8,8]:Pointer, [-1,8,8,8,-1]:Float@double, [-1,8,16]:Integer, [-1,8,17]:Integer, [-1,8,18]:Integer, [-1,8,19]:Integer, [-1,8,20]:Integer, [-1,8,21]:Integer, [-1,8,22]:Integer, [-1,8,23]:Integer, [-1,16]:Float@double, [-1,24]:Float@double, [-1,32]:Pointer, [-1,32,0]:Pointer, [-1,32,0,-1]:Float@double, [-1,32,8]:Pointer, [-1,32,8,0]:Integer, [-1,32,8,1]:Integer, [-1,32,8,2]:Integer, [-1,32,8,3]:Integer, [-1,32,8,4]:Integer, [-1,32,8,5]:Integer, [-1,32,8,6]:Integer, [-1,32,8,7]:Integer, [-1,32,8,8]:Pointer, [-1,32,8,8,-1]:Float@double, [-1,32,16]:Integer, [-1,32,17]:Integer, [-1,32,18]:Integer, [-1,32,19]:Integer, [-1,32,20]:Integer, [-1,32,21]:Integer, [-1,32,22]:Integer, [-1,32,23]:Integer}" "enzymejl_parmtype"="2263774472528" "enzymejl_parmtype_ref"="2" %"'1", {} addrspace(10)* %differeturn) local_unnamed_addr #23 !dbg !363 {
top:
%"'de" = alloca {} addrspace(10)*, align 8
%2 = getelementptr {} addrspace(10)*, {} addrspace(10)** %"'de", i64 0
store {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)** %2, align 8
%".sroa.3.0.copyload'de" = alloca double, align 8
%3 = getelementptr double, double* %".sroa.3.0.copyload'de", i64 0
store double 0.000000e+00, double* %3, align 8
%".sroa.011.0.copyload'de" = alloca double, align 8
%4 = getelementptr double, double* %".sroa.011.0.copyload'de", i64 0
store double 0.000000e+00, double* %4, align 8
%pgcstack = call {}*** @julia.get_pgcstack() #37
%ptls_field22 = getelementptr inbounds {}**, {}*** %pgcstack, i64 2
%5 = bitcast {}*** %ptls_field22 to i64***
%ptls_load2324 = load i64**, i64*** %5, align 8, !tbaa !26, !alias.scope !364, !noalias !367
%6 = getelementptr inbounds i64*, i64** %ptls_load2324, i64 2
%safepoint = load i64*, i64** %6, align 8, !tbaa !30, !alias.scope !369, !noalias !372
fence syncscope("singlethread") seq_cst
call void @julia.safepoint(i64* %safepoint) #37, !dbg !374
fence syncscope("singlethread") seq_cst
%"'ipc31" = bitcast {} addrspace(10)* %"'1" to i8 addrspace(10)*, !dbg !375
%7 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !375
%"'ipc32" = addrspacecast i8 addrspace(10)* %"'ipc31" to i8 addrspace(11)*, !dbg !375
%8 = addrspacecast i8 addrspace(10)* %7 to i8 addrspace(11)*, !dbg !375
%"'ipg40" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc32", i64 16, !dbg !375
%9 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 16, !dbg !375
%".sroa.011.0..sroa_idx'ipc" = bitcast i8 addrspace(11)* %"'ipg40" to double addrspace(11)*, !dbg !375
%.sroa.011.0..sroa_idx = bitcast i8 addrspace(11)* %9 to double addrspace(11)*, !dbg !375
%.sroa.011.0.copyload = load double, double addrspace(11)* %.sroa.011.0..sroa_idx, align 8, !dbg !375, !tbaa !42, !alias.scope !379, !noalias !382, !enzyme_type !53, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0
%".sroa.3.0..sroa_idx13'ipg" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc32", i64 24, !dbg !375
%.sroa.3.0..sroa_idx13 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 24, !dbg !375
%"'ipc39" = bitcast i8 addrspace(11)* %".sroa.3.0..sroa_idx13'ipg" to double addrspace(11)*, !dbg !375
%10 = bitcast i8 addrspace(11)* %.sroa.3.0..sroa_idx13 to double addrspace(11)*, !dbg !375
%.sroa.3.0.copyload = load double, double addrspace(11)* %10, align 8, !dbg !375, !tbaa !42, !alias.scope !379, !noalias !382, !enzyme_type !53, !enzymejl_source_type_Float64 !0, !enzymejl_byref_BITS_VALUE !0
%"'ipg36" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc32", i64 8, !dbg !384
%11 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 8, !dbg !384
%"'ipc37" = bitcast i8 addrspace(11)* %"'ipg36" to {} addrspace(10)* addrspace(11)*, !dbg !384
%12 = bitcast i8 addrspace(11)* %11 to {} addrspace(10)* addrspace(11)*, !dbg !384
%"'ipl38" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc37" unordered, align 8, !dbg !384, !tbaa !67, !alias.scope !391, !noalias !392, !nonnull !0, !dereferenceable !73
%13 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %12 unordered, align 8, !dbg !384, !tbaa !67, !alias.scope !393, !noalias !394, !nonnull !0, !dereferenceable !73, !align !74, !enzyme_type !75, !enzymejl_source_type_Vector\7BFloat64\7D !0, !enzymejl_byref_MUT_REF !0
%14 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !395
%15 = addrspacecast i8 addrspace(10)* %14 to i8 addrspace(11)*, !dbg !395
%16 = getelementptr inbounds i8, i8 addrspace(11)* %15, i64 16, !dbg !395
%17 = bitcast i8 addrspace(11)* %16 to i64 addrspace(11)*, !dbg !395
%18 = load i64, i64 addrspace(11)* %17, align 8, !dbg !395, !tbaa !87, !alias.scope !398, !noalias !401, !enzyme_type !92, !enzymejl_byref_BITS_VALUE !0, !enzymejl_source_type_Int64 !0, !enzyme_inactive !0
%.not = icmp eq i64 %18, 0, !dbg !403
%"'ipg33" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc32", i64 32, !dbg !397
%19 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 32, !dbg !397
%"'ipc34" = bitcast i8 addrspace(11)* %"'ipg33" to {} addrspace(10)* addrspace(11)*, !dbg !397
%20 = bitcast i8 addrspace(11)* %19 to {} addrspace(10)* addrspace(11)*, !dbg !397
%"'ipl35" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc34" unordered, align 8, !dbg !397, !alias.scope !404, !noalias !405
%21 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %20 unordered, align 8, !dbg !397, !alias.scope !405, !noalias !404, !enzyme_type !75, !enzymejl_source_type_Vector\7BFloat64\7D !0, !enzymejl_byref_MUT_REF !0
%"value_phi'ipse" = select i1 %.not, {} addrspace(10)* %"'ipl35", {} addrspace(10)* %"'", !dbg !397
%value_phi = select i1 %.not, {} addrspace(10)* %21, {} addrspace(10)* %0, !dbg !397
%current_task121 = getelementptr inbounds {}**, {}*** %pgcstack, i64 -14
%22 = bitcast {}*** %current_task121 to {}*
%.sroa.08.0.copyload = load i8, i8 addrspace(11)* %8, align 8, !dbg !406, !tbaa !42, !alias.scope !379, !noalias !382, !enzyme_type !92, !enzymejl_byref_BITS_VALUE !0, !enzyme_inactive !0, !enzymejl_source_type_Bool !0
%23 = call noalias nonnull align 1 dereferenceable(1) "enzyme_inactive" "enzyme_type"="{[-1]:Pointer, [-1,-1]:Integer}" {} addrspace(10)* @julia.gc_alloc_obj({}* nonnull %22, i64 noundef 1, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 2263774318352 to {}*) to {} addrspace(10)*)) #38, !dbg !411
%.sroa.08.0..sroa_cast = bitcast {} addrspace(10)* %23 to i8 addrspace(10)*, !dbg !411, !enzyme_inactive !0
store i8 %.sroa.08.0.copyload, i8 addrspace(10)* %.sroa.08.0..sroa_cast, align 8, !dbg !411, !tbaa !42, !alias.scope !104, !noalias !412
%"'mi" = call noalias nonnull align 8 dereferenceable(8) "enzyme_type"="{[-1]:Pointer, [-1,-1]:Float@double}" {} addrspace(10)* @julia.gc_alloc_obj({}* nonnull %22, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140728410007056 to {}*) to {} addrspace(10)*)) #38, !dbg !411
%24 = bitcast {} addrspace(10)* %"'mi" to i8 addrspace(10)*, !dbg !411
call void @llvm.memset.p10i8.i64(i8 addrspace(10)* nonnull dereferenceable(8) dereferenceable_or_null(8) %24, i8 0, i64 8, i1 false), !dbg !411
%25 = call noalias nonnull align 8 dereferenceable(8) "enzyme_type"="{[-1]:Pointer, [-1,-1]:Float@double}" {} addrspace(10)* @julia.gc_alloc_obj({}* nonnull %22, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 140728464191792 to {}*) to {} addrspace(10)*)) #38, !dbg !411
%"'ipc30" = bitcast {} addrspace(10)* %"'mi" to double addrspace(10)*, !dbg !411
%26 = bitcast {} addrspace(10)* %25 to double addrspace(10)*, !dbg !411
store double %.sroa.011.0.copyload, double addrspace(10)* %26, align 8, !dbg !411, !tbaa !105, !alias.scope !415, !noalias !418
%27 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_augfwd, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263776425040 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954235256 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164208 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728899777040 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %23, {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728428916896 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %0, {} addrspace(10)* %"'", {} addrspace(10)* %25, {} addrspace(10)* %"'mi", {} addrspace(10)* %13, {} addrspace(10)* %"'ipl38", {} addrspace(10)* %value_phi, {} addrspace(10)* %"value_phi'ipse"), !dbg !411
%28 = addrspacecast {} addrspace(10)* %27 to {} addrspace(11)*, !dbg !411
%29 = bitcast {} addrspace(11)* %28 to [3 x {} addrspace(10)*] addrspace(11)*, !dbg !411
%30 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %29, i64 0, i64 1, !dbg !411
%31 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %30, align 8, !dbg !411
%32 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %29, i64 0, i64 2, !dbg !411
%33 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %32, align 8, !dbg !411
%34 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %29, i64 0, i64 0, !dbg !411
%35 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %34, align 8, !dbg !411
%"'ipc24" = bitcast {} addrspace(10)* %31 to [2 x {} addrspace(10)*] addrspace(10)*, !dbg !420
%36 = bitcast {} addrspace(10)* %35 to [2 x {} addrspace(10)*] addrspace(10)*, !dbg !420
%"'ipc25" = addrspacecast [2 x {} addrspace(10)*] addrspace(10)* %"'ipc24" to [2 x {} addrspace(10)*] addrspace(11)*, !dbg !420
%37 = addrspacecast [2 x {} addrspace(10)*] addrspace(10)* %36 to [2 x {} addrspace(10)*] addrspace(11)*, !dbg !420
%"'ipc27" = bitcast {} addrspace(10)* %31 to {} addrspace(10)* addrspace(10)*, !dbg !420
%38 = bitcast {} addrspace(10)* %35 to {} addrspace(10)* addrspace(10)*, !dbg !420
%"'ipc28" = addrspacecast {} addrspace(10)* addrspace(10)* %"'ipc27" to {} addrspace(10)* addrspace(11)*, !dbg !420
%39 = addrspacecast {} addrspace(10)* addrspace(10)* %38 to {} addrspace(10)* addrspace(11)*, !dbg !420
%"'ipl29" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc28" unordered, align 8, !dbg !420, !tbaa !105, !alias.scope !422, !noalias !425, !nonnull !0, !dereferenceable !73
%40 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %39 unordered, align 8, !dbg !420, !tbaa !105, !alias.scope !427, !noalias !428, !nonnull !0, !dereferenceable !73, !align !74, !enzyme_type !112
%"'ipg26" = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*] addrspace(11)* %"'ipc25", i64 0, i64 1, !dbg !421
%41 = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*] addrspace(11)* %37, i64 0, i64 1, !dbg !421
%"'ipl" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipg26" unordered, align 8, !dbg !421, !tbaa !105, !alias.scope !422, !noalias !425, !nonnull !0, !dereferenceable !73
%42 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %41 unordered, align 8, !dbg !421, !tbaa !105, !alias.scope !427, !noalias !428, !nonnull !0, !dereferenceable !73, !align !74, !enzyme_type !112
%.sroa.07.0.copyload = load i8, i8 addrspace(11)* %8, align 8, !dbg !429, !tbaa !42, !alias.scope !379, !noalias !382, !enzyme_type !92, !enzymejl_byref_BITS_VALUE !0, !enzyme_inactive !0, !enzymejl_source_type_Bool !0
%"'mi23" = call noalias nonnull align 8 dereferenceable(40) "enzyme_type"="{[-1]:Pointer, [-1,0]:Integer, [-1,8]:Pointer, [-1,8,0]:Pointer, [-1,8,0,-1]:Float@double, [-1,8,8]:Pointer, [-1,8,8,0]:Integer, [-1,8,8,1]:Integer, [-1,8,8,2]:Integer, [-1,8,8,3]:Integer, [-1,8,8,4]:Integer, [-1,8,8,5]:Integer, [-1,8,8,6]:Integer, [-1,8,8,7]:Integer, [-1,8,8,8]:Pointer, [-1,8,8,8,-1]:Float@double, [-1,8,16]:Integer, [-1,8,17]:Integer, [-1,8,18]:Integer, [-1,8,19]:Integer, [-1,8,20]:Integer, [-1,8,21]:Integer, [-1,8,22]:Integer, [-1,8,23]:Integer, [-1,16]:Float@double, [-1,24]:Float@double, [-1,32]:Pointer, [-1,32,0]:Pointer, [-1,32,0,-1]:Float@double, [-1,32,8]:Pointer, [-1,32,8,0]:Integer, [-1,32,8,1]:Integer, [-1,32,8,2]:Integer, [-1,32,8,3]:Integer, [-1,32,8,4]:Integer, [-1,32,8,5]:Integer, [-1,32,8,6]:Integer, [-1,32,8,7]:Integer, [-1,32,8,8]:Pointer, [-1,32,8,8,-1]:Float@double, [-1,32,16]:Integer, [-1,32,17]:Integer, [-1,32,18]:Integer, [-1,32,19]:Integer, [-1,32,20]:Integer, [-1,32,21]:Integer, [-1,32,22]:Integer, [-1,32,23]:Integer}" {} addrspace(10)* @julia.gc_alloc_obj({}* nonnull %22, i64 noundef 40, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 2263774472528 to {}*) to {} addrspace(10)*)) #38, !dbg !431
%43 = bitcast {} addrspace(10)* %"'mi23" to i8 addrspace(10)*, !dbg !431
call void @llvm.memset.p10i8.i64(i8 addrspace(10)* nonnull dereferenceable(40) dereferenceable_or_null(40) %43, i8 0, i64 40, i1 false), !dbg !431
%44 = call noalias nonnull align 8 dereferenceable(40) "enzyme_type"="{[-1]:Pointer, [-1,0]:Integer, [-1,8]:Pointer, [-1,8,0]:Pointer, [-1,8,0,-1]:Float@double, [-1,8,8]:Pointer, [-1,8,8,0]:Integer, [-1,8,8,1]:Integer, [-1,8,8,2]:Integer, [-1,8,8,3]:Integer, [-1,8,8,4]:Integer, [-1,8,8,5]:Integer, [-1,8,8,6]:Integer, [-1,8,8,7]:Integer, [-1,8,8,8]:Pointer, [-1,8,8,8,-1]:Float@double, [-1,8,16]:Integer, [-1,8,17]:Integer, [-1,8,18]:Integer, [-1,8,19]:Integer, [-1,8,20]:Integer, [-1,8,21]:Integer, [-1,8,22]:Integer, [-1,8,23]:Integer, [-1,16]:Float@double, [-1,24]:Float@double, [-1,32]:Pointer, [-1,32,0]:Pointer, [-1,32,0,-1]:Float@double, [-1,32,8]:Pointer, [-1,32,8,0]:Integer, [-1,32,8,1]:Integer, [-1,32,8,2]:Integer, [-1,32,8,3]:Integer, [-1,32,8,4]:Integer, [-1,32,8,5]:Integer, [-1,32,8,6]:Integer, [-1,32,8,7]:Integer, [-1,32,8,8]:Pointer, [-1,32,8,8,-1]:Float@double, [-1,32,16]:Integer, [-1,32,17]:Integer, [-1,32,18]:Integer, [-1,32,19]:Integer, [-1,32,20]:Integer, [-1,32,21]:Integer, [-1,32,22]:Integer, [-1,32,23]:Integer}" {} addrspace(10)* @julia.gc_alloc_obj({}* nonnull %22, i64 noundef 40, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 2263774472528 to {}*) to {} addrspace(10)*)) #38, !dbg !431
%"'ipc19" = bitcast {} addrspace(10)* %"'mi23" to {} addrspace(10)* addrspace(10)*, !dbg !431
%45 = bitcast {} addrspace(10)* %44 to {} addrspace(10)* addrspace(10)*, !dbg !431
%"'ipc20" = addrspacecast {} addrspace(10)* addrspace(10)* %"'ipc19" to {} addrspace(10)* addrspace(11)*, !dbg !431
%46 = addrspacecast {} addrspace(10)* addrspace(10)* %45 to {} addrspace(10)* addrspace(11)*, !dbg !431
%"'ipg22" = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc20", i64 1, !dbg !431
%47 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %46, i64 1, !dbg !431
store {} addrspace(10)* null, {} addrspace(10)* addrspace(11)* %"'ipg22", align 8, !dbg !431, !tbaa !67, !alias.scope !440, !noalias !443
store {} addrspace(10)* null, {} addrspace(10)* addrspace(11)* %47, align 8, !dbg !431, !tbaa !67, !alias.scope !445, !noalias !446
%"'ipg21" = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc20", i64 4, !dbg !431
%48 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %46, i64 4, !dbg !431
store {} addrspace(10)* null, {} addrspace(10)* addrspace(11)* %"'ipg21", align 8, !dbg !431, !tbaa !67, !alias.scope !440, !noalias !443
store {} addrspace(10)* null, {} addrspace(10)* addrspace(11)* %48, align 8, !dbg !431, !tbaa !67, !alias.scope !445, !noalias !446
%"'ipc17" = bitcast {} addrspace(10)* %"'mi23" to { [1 x i8] } addrspace(10)*, !dbg !431
%49 = bitcast {} addrspace(10)* %44 to { [1 x i8] } addrspace(10)*, !dbg !431
%"'ipc18" = addrspacecast { [1 x i8] } addrspace(10)* %"'ipc17" to { [1 x i8] } addrspace(11)*, !dbg !431
%50 = addrspacecast { [1 x i8] } addrspace(10)* %49 to { [1 x i8] } addrspace(11)*, !dbg !431
%".sroa.06.0..sroa_idx'ipg" = getelementptr inbounds { [1 x i8] }, { [1 x i8] } addrspace(11)* %"'ipc18", i64 0, i32 0, i64 0, !dbg !431
%.sroa.06.0..sroa_idx = getelementptr inbounds { [1 x i8] }, { [1 x i8] } addrspace(11)* %50, i64 0, i32 0, i64 0, !dbg !431
store i8 %.sroa.07.0.copyload, i8 addrspace(11)* %".sroa.06.0..sroa_idx'ipg", align 8, !dbg !431, !tbaa !42, !alias.scope !447, !noalias !448
store i8 %.sroa.07.0.copyload, i8 addrspace(11)* %.sroa.06.0..sroa_idx, align 8, !dbg !431, !tbaa !42, !alias.scope !449, !noalias !450
%"'ipc" = bitcast {} addrspace(10)* %"'mi23" to i8 addrspace(10)*, !dbg !431
%51 = bitcast {} addrspace(10)* %44 to i8 addrspace(10)*, !dbg !431
%"'ipc11" = addrspacecast i8 addrspace(10)* %"'ipc" to i8 addrspace(11)*, !dbg !431
%52 = addrspacecast i8 addrspace(10)* %51 to i8 addrspace(11)*, !dbg !431
%"'ipg15" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc11", i64 8, !dbg !431
%53 = getelementptr inbounds i8, i8 addrspace(11)* %52, i64 8, !dbg !431
%"'ipc16" = bitcast i8 addrspace(11)* %"'ipg15" to {} addrspace(10)* addrspace(11)*, !dbg !431
%54 = bitcast i8 addrspace(11)* %53 to {} addrspace(10)* addrspace(11)*, !dbg !431
store atomic {} addrspace(10)* %"'ipl29", {} addrspace(10)* addrspace(11)* %"'ipc16" release, align 8, !dbg !431, !tbaa !67, !alias.scope !440, !noalias !443
store atomic {} addrspace(10)* %40, {} addrspace(10)* addrspace(11)* %54 release, align 8, !dbg !431, !tbaa !67, !alias.scope !445, !noalias !446
%"'ipg14" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc11", i64 16, !dbg !431
%55 = getelementptr inbounds i8, i8 addrspace(11)* %52, i64 16, !dbg !431
%".sroa.0.0..sroa_idx'ipc" = bitcast i8 addrspace(11)* %"'ipg14" to double addrspace(11)*, !dbg !431
%.sroa.0.0..sroa_idx = bitcast i8 addrspace(11)* %55 to double addrspace(11)*, !dbg !431
store double %.sroa.011.0.copyload, double addrspace(11)* %.sroa.0.0..sroa_idx, align 8, !dbg !431, !tbaa !42, !alias.scope !449, !noalias !450
%".sroa.2.0..sroa_idx5'ipg" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc11", i64 24, !dbg !431
%.sroa.2.0..sroa_idx5 = getelementptr inbounds i8, i8 addrspace(11)* %52, i64 24, !dbg !431
%"'ipc13" = bitcast i8 addrspace(11)* %".sroa.2.0..sroa_idx5'ipg" to double addrspace(11)*, !dbg !431
%56 = bitcast i8 addrspace(11)* %.sroa.2.0..sroa_idx5 to double addrspace(11)*, !dbg !431
store double %.sroa.3.0.copyload, double addrspace(11)* %56, align 8, !dbg !431, !tbaa !42, !alias.scope !449, !noalias !450
%"'ipg" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc11", i64 32, !dbg !431
%57 = getelementptr inbounds i8, i8 addrspace(11)* %52, i64 32, !dbg !431
%"'ipc12" = bitcast i8 addrspace(11)* %"'ipg" to {} addrspace(10)* addrspace(11)*, !dbg !431
%58 = bitcast i8 addrspace(11)* %57 to {} addrspace(10)* addrspace(11)*, !dbg !431
store atomic {} addrspace(10)* %"'ipl", {} addrspace(10)* addrspace(11)* %"'ipc12" release, align 8, !dbg !431, !tbaa !67, !alias.scope !440, !noalias !443
store atomic {} addrspace(10)* %42, {} addrspace(10)* addrspace(11)* %58 release, align 8, !dbg !431, !tbaa !67, !alias.scope !445, !noalias !446
%_augmented = call fastcc { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)* } @augmented_julia__solve_42_22503({} addrspace(10)* align 8 %44, {} addrspace(10)* align 8 %"'mi23"), !dbg !451
%subcache = extractvalue { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)* } %_augmented, 0, !dbg !451
%59 = extractvalue { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)* } %_augmented, 1, !dbg !451
%"'ac" = extractvalue { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)* } %_augmented, 2, !dbg !451
%60 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_augfwd, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164208 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728413918352 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %59, {} addrspace(10)* %"'ac", {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264138062032 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !453
%61 = addrspacecast {} addrspace(10)* %60 to {} addrspace(11)*, !dbg !453
%62 = bitcast {} addrspace(11)* %61 to [3 x {} addrspace(10)*] addrspace(11)*, !dbg !453
%63 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %62, i64 0, i64 1, !dbg !453
%64 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %63, align 8, !dbg !453
%65 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %62, i64 0, i64 2, !dbg !453
%66 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %65, align 8, !dbg !453
%67 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %62, i64 0, i64 0, !dbg !453
%68 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %67, align 8, !dbg !453
%69 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_augfwd, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164208 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728443260464 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %68, {} addrspace(10)* %64, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264137372816 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !453
%70 = addrspacecast {} addrspace(10)* %69 to {} addrspace(11)*, !dbg !453
%71 = bitcast {} addrspace(11)* %70 to [3 x {} addrspace(10)*] addrspace(11)*, !dbg !453
%72 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %71, i64 0, i64 1, !dbg !453
%73 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %72, align 8, !dbg !453
%74 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %71, i64 0, i64 2, !dbg !453
%75 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %74, align 8, !dbg !453
%76 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %71, i64 0, i64 0, !dbg !453
%77 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %76, align 8, !dbg !453
%78 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_augfwd, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164208 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728443260464 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %77, {} addrspace(10)* %73, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264137372368 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !454
%79 = addrspacecast {} addrspace(10)* %78 to {} addrspace(11)*, !dbg !454
%80 = bitcast {} addrspace(11)* %79 to [3 x {} addrspace(10)*] addrspace(11)*, !dbg !454
%81 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %80, i64 0, i64 2, !dbg !454
%82 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %81, align 8, !dbg !454
%83 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(11)* %80, i64 0, i64 0, !dbg !454
%84 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %83, align 8, !dbg !454
br label %inverttop, !dbg !454
inverttop: ; preds = %top
store {} addrspace(10)* %differeturn, {} addrspace(10)** %"'de", align 8
%85 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_rev, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* %82, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728443260464 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %77, {} addrspace(10)* %73, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264137372368 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !454
%86 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_rev, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* %75, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728443260464 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %68, {} addrspace(10)* %64, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264137372816 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !453
%87 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_rev, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263774693776 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954164216 to {}*) to {} addrspace(10)*), {} addrspace(10)* %66, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728413918352 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %59, {} addrspace(10)* %"'ac", {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2264138062032 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing), !dbg !453
call fastcc void @diffejulia__solve_42_22503({} addrspace(10)* align 8 %44, {} addrspace(10)* align 8 %"'mi23", { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)* } %subcache), !dbg !451
%88 = load double, double addrspace(11)* %"'ipc13", align 8, !dbg !431, !tbaa !42, !alias.scope !447, !noalias !448
store double 0.000000e+00, double addrspace(11)* %"'ipc13", align 8, !dbg !431, !tbaa !42, !alias.scope !447, !noalias !448
%89 = load double, double* %".sroa.3.0.copyload'de", align 8, !dbg !431
%90 = fadd fast double %89, %88, !dbg !431
store double %90, double* %".sroa.3.0.copyload'de", align 8, !dbg !431
%91 = load double, double addrspace(11)* %".sroa.0.0..sroa_idx'ipc", align 8, !dbg !431, !tbaa !42, !alias.scope !447, !noalias !448
store double 0.000000e+00, double addrspace(11)* %".sroa.0.0..sroa_idx'ipc", align 8, !dbg !431, !tbaa !42, !alias.scope !447, !noalias !448
%92 = load double, double* %".sroa.011.0.copyload'de", align 8, !dbg !431
%93 = fadd fast double %92, %91, !dbg !431
store double %93, double* %".sroa.011.0.copyload'de", align 8, !dbg !431
%94 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* @ejl_enz_runtime_generic_rev, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263776425040 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_enz_val_false, {} addrspace(10)* @ejl_enz_val_1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 2263954235256 to {}*) to {} addrspace(10)*), {} addrspace(10)* %33, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728899777040 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %23, {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 140728428916896 to {}*) to {} addrspace(10)*), {} addrspace(10)* @ejl_jl_nothing, {} addrspace(10)* %0, {} addrspace(10)* %"'", {} addrspace(10)* %25, {} addrspace(10)* %"'mi", {} addrspace(10)* %13, {} addrspace(10)* %"'ipl38", {} addrspace(10)* %value_phi, {} addrspace(10)* %"value_phi'ipse"), !dbg !411
%95 = load double, double addrspace(10)* %"'ipc30", align 8, !dbg !411, !tbaa !105, !alias.scope !455, !noalias !456
store double 0.000000e+00, double addrspace(10)* %"'ipc30", align 8, !dbg !411, !tbaa !105, !alias.scope !455, !noalias !456
%96 = load double, double* %".sroa.011.0.copyload'de", align 8, !dbg !411
%97 = fadd fast double %96, %95, !dbg !411
store double %97, double* %".sroa.011.0.copyload'de", align 8, !dbg !411
%98 = load double, double* %".sroa.3.0.copyload'de", align 8, !dbg !375
store double 0.000000e+00, double* %".sroa.3.0.copyload'de", align 8, !dbg !375
%99 = load double, double addrspace(11)* %"'ipc39", align 8, !dbg !375, !tbaa !42, !alias.scope !457, !noalias !458
%100 = fadd fast double %99, %98, !dbg !375
store double %100, double addrspace(11)* %"'ipc39", align 8, !dbg !375, !tbaa !42, !alias.scope !457, !noalias !458
%101 = load double, double* %".sroa.011.0.copyload'de", align 8, !dbg !375
store double 0.000000e+00, double* %".sroa.011.0.copyload'de", align 8, !dbg !375
%102 = load double, double addrspace(11)* %".sroa.011.0..sroa_idx'ipc", align 8, !dbg !375, !tbaa !42, !alias.scope !457, !noalias !458
%103 = fadd fast double %102, %101, !dbg !375
store double %103, double addrspace(11)* %".sroa.011.0..sroa_idx'ipc", align 8, !dbg !375, !tbaa !42, !alias.scope !457, !noalias !458
fence syncscope("singlethread") seq_cst
fence syncscope("singlethread") seq_cst
ret void
}
Base.allocatedinline(actualRetType) != Base.allocatedinline(literal_rt): actualRetType = Any, literal_rt = Float64, rettype = Active{Float64}, sret_union=false, pactualRetType=Any
Stacktrace:
[1] create_abi_wrapper(enzymefn::LLVM.Function, TT::Type, rettype::Type, actualRetType::Type, Mode::Enzyme.API.CDerivativeMode, augmented::Nothing, width::Int64, returnPrimal::Bool, shadow_init::Bool, world::UInt64, interp::Enzyme.Compiler.Interpreter.EnzymeInterpreter{…})
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:1944
[2] enzyme!(job::GPUCompiler.CompilerJob{…}, mod::LLVM.Module, primalf::LLVM.Function, TT::Type, mode::Enzyme.API.CDerivativeMode, width::Int64, parallel::Bool, actualRetType::Type, wrap::Bool, modifiedBetween::NTuple{…} where N, returnPrimal::Bool, expectedTapeType::Type, loweredArgs::Set{…}, boxedArgs::Set{…})
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:1728
[3] codegen(output::Symbol, job::GPUCompiler.CompilerJob{…}; libraries::Bool, deferred_codegen::Bool, optimize::Bool, toplevel::Bool, strip::Bool, validate::Bool, only_entry::Bool, parent_job::Nothing)
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:4550
[4] codegen
@ C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:3353 [inlined]
[5] _thunk(job::GPUCompiler.CompilerJob{Enzyme.Compiler.EnzymeTarget, Enzyme.Compiler.EnzymeCompilerParams}, postopt::Bool)
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:5410
[6] _thunk
@ C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:5410 [inlined]
[7] cached_compilation
@ C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:5462 [inlined]
[8] thunkbase(mi::Core.MethodInstance, World::UInt64, FA::Type{…}, A::Type{…}, TT::Type, Mode::Enzyme.API.CDerivativeMode, width::Int64, ModifiedBetween::NTuple{…} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::Bool, edges::Vector{…})
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:5573
[9] thunk_generator(world::UInt64, source::LineNumberNode, FA::Type, A::Type, TT::Type, Mode::Enzyme.API.CDerivativeMode, Width::Int64, ModifiedBetween::NTuple{…} where N, ReturnPrimal::Bool, ShadowInit::Bool, ABI::Type, ErrIfFuncWritten::Bool, RuntimeActivity::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)
@ Enzyme.Compiler C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\compiler.jl:5758
[10] autodiff
@ C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\Enzyme.jl:485 [inlined]
[11] autodiff
@ C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\Enzyme.jl:544 [inlined]
[12] autodiff(::ReverseMode{false, false, FFIABI, false, false}, ::typeof(test_fun), ::Duplicated{Vector{Float64}}, ::DuplicatedNoNeed{ODEProblem{Vector{…}, Tuple{…}, true, Vector{…}, ODEFunction{…}, @Kwargs{}, SciMLBase.StandardODEProblem}})
@ Enzyme C:\Users\yolha\.julia\packages\Enzyme\QsaeA\src\Enzyme.jl:516
[13] top-level scope
@ C:\Users\yolha\Desktop\juju_tests\littlecod\main.jl:24
[14] include(fname::String)
@ Main .\sysimg.jl:38
[15] top-level scope
@ REPL[2]:1
in expression starting at C:\Users\yolha\Desktop\juju_tests\littlecod\main.jl:24Metadata
Metadata
Assignees
Labels
No labels