Skip to content

Instantly share code, notes, and snippets.

@ianfiske
Created January 26, 2022 12:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ianfiske/a016e51054c3e08558a7393ebe6d5f98 to your computer and use it in GitHub Desktop.
Save ianfiske/a016e51054c3e08558a7393ebe6d5f98 to your computer and use it in GitHub Desktop.
(base) ➜ ~ julia --project=/Users/ifiske/projects/irdot/IntegratedDipatchSimulation/examples /Users/ifiske/projects/irdot/IntegratedDipatchSimulation/examples/autodiff_mwe.jl
after simplification :
define nonnull {} addrspace(10)* @preprocess_julia_f_1787({} addrspace(10)* nonnull align 16 dereferenceable(40) %0) local_unnamed_addr #2 !dbg !14 {
entry:
%1 = call {}*** @julia.get_pgcstack()
%2 = load atomic {} addrspace(10)*, {} addrspace(10)** inttoptr (i64 4586392936 to {} addrspace(10)**) unordered, align 8, !dbg !15, !tbaa !9
%3 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* %2, {} addrspace(10)* nonnull %0), !dbg !15
%4 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3), !dbg !15
ret {} addrspace(10)* %4
}
analyzing function preprocess_julia_f_1787
+ knowndata: {} addrspace(10)* %0 : {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer} - {}
+ retdata: {[-1]:Pointer}
updating analysis of val: {} addrspace(10)* %0 current: {} new {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer} from {} addrspace(10)* %0 Changed=1 legal=1
updating analysis of val: {} addrspace(10)* %0 current: {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer} new {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer} from {} addrspace(10)* %0 Changed=0 legal=1
updating analysis of val: %4 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3), !dbg !7 current: {} new {[-1]:Pointer} from %4 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3), !dbg !7 Changed=1 legal=1
updating analysis of val: %4 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3), !dbg !7 current: {[-1]:Pointer} new {[-1]:Pointer} from %4 = call cc37 nonnull {} addrspace(10)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3), !dbg !7 Changed=0 legal=1
updating analysis of val: %2 = load atomic {} addrspace(10)*, {} addrspace(10)** inttoptr (i64 4586392936 to {} addrspace(10)**) unordered, align 8, !dbg !7, !tbaa !9 current: {} new {} from %2 = load atomic {} addrspace(10)*, {} addrspace(10)** inttoptr (i64 4586392936 to {} addrspace(10)**) unordered, align 8, !dbg !7, !tbaa !9 Changed=0 legal=1
updating analysis of val: {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*) current: {[-1]:Pointer} new {[-1]:Pointer} from {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)* bitcast ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @jl_apply_generic to {} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)*)*) Changed=0 legal=1
updating analysis of val: {} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*) current: {[-1]:Anything} new {[-1]:Anything} from {} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*) Changed=0 legal=1
define internal void @diffejulia_f_1787({} addrspace(10)* nonnull align 16 dereferenceable(40) %0, {} addrspace(10)* %"'") local_unnamed_addr #2 !dbg !17 {
entry:
%1 = alloca [3 x {} addrspace(10)*], align 8
%2 = alloca [1 x {} addrspace(10)*], align 8
%3 = alloca [1 x {} addrspace(10)*], align 8
%4 = alloca [1 x i8], align 1
%5 = alloca [1 x {} addrspace(10)*], align 8
%6 = alloca [1 x {} addrspace(10)*], align 8
%7 = alloca [1 x i8], align 1
%8 = alloca [3 x {} addrspace(10)*], align 8
%9 = alloca [1 x {} addrspace(10)*], align 8
%10 = alloca [1 x {} addrspace(10)*], align 8
%11 = alloca [1 x i8], align 1
%12 = alloca [1 x {} addrspace(10)*], align 8
%13 = alloca [1 x {} addrspace(10)*], align 8
%14 = alloca [1 x i8], align 1
%15 = load atomic {} addrspace(10)*, {} addrspace(10)** inttoptr (i64 4586392936 to {} addrspace(10)**) unordered, align 8, !dbg !18, !tbaa !9
%16 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 0, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %16, align 8, !dbg !18
%17 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 1, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %17, align 8, !dbg !18
%18 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 2, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %18, align 8, !dbg !18
%19 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %9, i64 0, i64 0, !dbg !18
store {} addrspace(10)* %0, {} addrspace(10)** %19, align 8, !dbg !18
%20 = getelementptr inbounds [1 x i8], [1 x i8]* %11, i64 0, i64 0, !dbg !18
store i8 1, i8* %20, align 1, !dbg !18
%21 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %10, i64 0, i64 0, !dbg !18
store {} addrspace(10)* %"'", {} addrspace(10)** %21, align 8, !dbg !18
%22 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* %0, {} addrspace(10)* %"'", [3 x {} addrspace(10)*]* %8), !dbg !18
call void inttoptr (i64 4543192768 to void ([3 x {} addrspace(10)*]*, {} addrspace(10)*, [1 x {} addrspace(10)*]*, [1 x {} addrspace(10)*]*, [1 x i8]*, i32)*)([3 x {} addrspace(10)*]* sret %8, {} addrspace(10)* %15, [1 x {} addrspace(10)*]* %9, [1 x {} addrspace(10)*]* %10, [1 x i8]* %11, i32 1), !dbg !18
%23 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 1, !dbg !18
%24 = load {} addrspace(10)*, {} addrspace(10)** %23, align 8, !dbg !18
%25 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 0, !dbg !18
%26 = load {} addrspace(10)*, {} addrspace(10)** %25, align 8, !dbg !18
%27 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %8, i64 0, i64 2, !dbg !18
%28 = load {} addrspace(10)*, {} addrspace(10)** %27, align 8, !dbg !18
call void @llvm.julia.gc_preserve_end(token %22), !dbg !18
%29 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %29, align 8, !dbg !18
%30 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 1, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %30, align 8, !dbg !18
%31 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 2, !dbg !18
store {} addrspace(10)* null, {} addrspace(10)** %31, align 8, !dbg !18
%32 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %2, i64 0, i64 0, !dbg !18
store {} addrspace(10)* %26, {} addrspace(10)** %32, align 8, !dbg !18
%33 = getelementptr inbounds [1 x i8], [1 x i8]* %4, i64 0, i64 0, !dbg !18
store i8 1, i8* %33, align 1, !dbg !18
%34 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %3, i64 0, i64 0, !dbg !18
store {} addrspace(10)* %24, {} addrspace(10)** %34, align 8, !dbg !18
%35 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* %26, {} addrspace(10)* %24, [3 x {} addrspace(10)*]* %1), !dbg !18
call void inttoptr (i64 4543192768 to void ([3 x {} addrspace(10)*]*, {} addrspace(10)*, [1 x {} addrspace(10)*]*, [1 x {} addrspace(10)*]*, [1 x i8]*, i32)*)([3 x {} addrspace(10)*]* sret %1, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), [1 x {} addrspace(10)*]* %2, [1 x {} addrspace(10)*]* %3, [1 x i8]* %4, i32 1), !dbg !18
%36 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 1, !dbg !18
%37 = load {} addrspace(10)*, {} addrspace(10)** %36, align 8, !dbg !18
%38 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !18
%39 = load {} addrspace(10)*, {} addrspace(10)** %38, align 8, !dbg !18
%40 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*]* %1, i64 0, i64 2, !dbg !18
%41 = load {} addrspace(10)*, {} addrspace(10)** %40, align 8, !dbg !18
call void @llvm.julia.gc_preserve_end(token %35), !dbg !18
br label %invertentry
invertentry: ; preds = %entry
%42 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %5, i64 0, i64 0
store {} addrspace(10)* %26, {} addrspace(10)** %42, align 8
%43 = getelementptr inbounds [1 x i8], [1 x i8]* %7, i64 0, i64 0
store i8 1, i8* %43, align 1
%44 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %6, i64 0, i64 0
store {} addrspace(10)* %24, {} addrspace(10)** %44, align 8
%45 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* %26, {} addrspace(10)* %24, {} addrspace(10)* %41)
call void inttoptr (i64 4543195984 to void ({} addrspace(10)*, [1 x {} addrspace(10)*]*, [1 x {} addrspace(10)*]*, [1 x i8]*, i32, {} addrspace(10)*)*)({} addrspace(10)* addrspacecast ({}* inttoptr (i64 5264544752 to {}*) to {} addrspace(10)*), [1 x {} addrspace(10)*]* %5, [1 x {} addrspace(10)*]* %6, [1 x i8]* %7, i32 1, {} addrspace(10)* %41)
call void @llvm.julia.gc_preserve_end(token %45)
%46 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %12, i64 0, i64 0
store {} addrspace(10)* %0, {} addrspace(10)** %46, align 8
%47 = getelementptr inbounds [1 x i8], [1 x i8]* %14, i64 0, i64 0
store i8 1, i8* %47, align 1
%48 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %13, i64 0, i64 0
store {} addrspace(10)* %"'", {} addrspace(10)** %48, align 8
%49 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* %0, {} addrspace(10)* %"'", {} addrspace(10)* %28)
call void inttoptr (i64 4543195984 to void ({} addrspace(10)*, [1 x {} addrspace(10)*]*, [1 x {} addrspace(10)*]*, [1 x i8]*, i32, {} addrspace(10)*)*)({} addrspace(10)* %15, [1 x {} addrspace(10)*]* %12, [1 x {} addrspace(10)*]* %13, [1 x i8]* %14, i32 1, {} addrspace(10)* %28)
call void @llvm.julia.gc_preserve_end(token %49)
ret void
}
after simplification :
define [2 x {} addrspace(10)*] @preprocess_julia_ComposedFunction_3347([2 x {} addrspace(10)*] %0, {} addrspace(10)* nonnull align 16 dereferenceable(40) %1) local_unnamed_addr #0 !dbg !133 {
entry:
%malloccall = tail call noalias i8* @malloc(i64 16), !enzyme_fromstack !4
%2 = bitcast i8* %malloccall to [2 x {} addrspace(10)*]*
%malloccall1 = tail call noalias i8* @malloc(i64 64), !enzyme_fromstack !4
%3 = bitcast i8* %malloccall1 to { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } }*
%4 = addrspacecast { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } }* %3 to { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } } addrspace(11)*
%.fca.0.extract = extractvalue [2 x {} addrspace(10)*] %0, 0
%.fca.0.gep = getelementptr inbounds [2 x {} addrspace(10)*], { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } }* %3, i64 0, i64 0
store {} addrspace(10)* %.fca.0.extract, {} addrspace(10)** %.fca.0.gep, align 8
%.fca.1.extract = extractvalue [2 x {} addrspace(10)*] %0, 1
%.fca.1.gep = getelementptr inbounds [2 x {} addrspace(10)*], { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } }* %3, i64 0, i64 1
store {} addrspace(10)* %.fca.1.extract, {} addrspace(10)** %.fca.1.gep, align 8
%5 = bitcast [2 x {} addrspace(10)*]* %2 to i8*
call void @llvm.lifetime.start.p0i8(i64 noundef 16, i8* noundef nonnull align 8 dereferenceable(16) %5) #9
%6 = call {}*** @julia.get_pgcstack(), !noalias !134
%7 = getelementptr inbounds { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } }, { { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } } addrspace(11)* %4, i64 0, i32 0, !dbg !137
call fastcc void @julia_unflatten_to_NamedTuple_3350([2 x {} addrspace(10)*]* noalias nocapture noundef nonnull writeonly sret([2 x {} addrspace(10)*]) align 8 dereferenceable(16) %2, { [2 x {} addrspace(10)*], { [2 x i64], [2 x i64], [2 x {} addrspace(10)*] } } addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %7, {} addrspace(10)* nonnull align 16 dereferenceable(40) %1) #0, !dbg !141, !noalias !134
%8 = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %2, i64 0, i64 0, !dbg !142
%9 = load atomic {} addrspace(10)*, {} addrspace(10)** %8 unordered, align 8, !dbg !142, !tbaa !130, !noalias !134, !nonnull !4, !dereferenceable !76, !align !49
%10 = getelementptr inbounds [2 x {} addrspace(10)*], [2 x {} addrspace(10)*]* %2, i64 0, i64 1, !dbg !142
%11 = load atomic {} addrspace(10)*, {} addrspace(10)** %10 unordered, align 8, !dbg !142, !tbaa !130, !noalias !134, !nonnull !4, !dereferenceable !76, !align !49
call void @llvm.lifetime.end.p0i8(i64 noundef 16, i8* noundef nonnull %5), !dbg !146
%.fca.0.insert = insertvalue [2 x {} addrspace(10)*] undef, {} addrspace(10)* %9, 0
%.fca.1.insert = insertvalue [2 x {} addrspace(10)*] %.fca.0.insert, {} addrspace(10)* %11, 1
ret [2 x {} addrspace(10)*] %.fca.1.insert
}
analyzing function preprocess_julia_ComposedFunction_3347
+ knowndata: [2 x {} addrspace(10)*] %0 : {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@double, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [0,40]:Integer, [8]:Pointer, [8,0]:Pointer, [8,0,-1]:Float@double, [8,8]:Integer, [8,9]:Integer, [8,10]:Integer, [8,11]:Integer, [8,12]:Integer, [8,13]:Integer, [8,14]:Integer, [8,15]:Integer, [8,16]:Integer, [8,17]:Integer, [8,18]:Integer, [8,19]:Integer, [8,20]:Integer, [8,21]:Integer, [8,22]:Integer, [8,23]:Integer, [8,24]:Integer, [8,25]:Integer, [8,26]:Integer, [8,27]:Integer, [8,28]:Integer, [8,29]:Integer, [8,30]:Integer, [8,31]:Integer, [8,32]:Integer, [8,33]:Integer, [8,34]:Integer, [8,35]:Integer, [8,36]:Integer, [8,37]:Integer, [8,38]:Integer, [8,39]:Integer, [8,40]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer, [48]:Pointer, [56]:Pointer} - {}
+ knowndata: {} addrspace(10)* %1 : {[-1]:Pointer, [-1,0]:Pointer, [-1,0,-1]:Float@double, [-1,8]:Integer, [-1,9]:Integer, [-1,10]:Integer, [-1,11]:Integer, [-1,12]:Integer, [-1,13]:Integer, [-1,14]:Integer, [-1,15]:Integer, [-1,16]:Integer, [-1,17]:Integer, [-1,18]:Integer, [-1,19]:Integer, [-1,20]:Integer, [-1,21]:Integer, [-1,22]:Integer, [-1,23]:Integer, [-1,24]:Integer, [-1,25]:Integer, [-1,26]:Integer, [-1,27]:Integer, [-1,28]:Integer, [-1,29]:Integer, [-1,30]:Integer, [-1,31]:Integer, [-1,32]:Integer, [-1,33]:Integer, [-1,34]:Integer, [-1,35]:Integer, [-1,36]:Integer, [-1,37]:Integer, [-1,38]:Integer, [-1,39]:Integer, [-1,40]:Integer} - {}
+ retdata: {[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@double, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [0,40]:Integer, [8]:Pointer, [8,0]:Pointer, [8,0,-1]:Float@double, [8,8]:Integer, [8,9]:Integer, [8,10]:Integer, [8,11]:Integer, [8,12]:Integer, [8,13]:Integer, [8,14]:Integer, [8,15]:Integer, [8,16]:Integer, [8,17]:Integer, [8,18]:Integer, [8,19]:Integer, [8,20]:Integer, [8,21]:Integer, [8,22]:Integer, [8,23]:Integer, [8,24]:Integer, [8,25]:Integer, [8,26]:Integer, [8,27]:Integer, [8,28]:Integer, [8,29]:Integer, [8,30]:Integer, [8,31]:Integer, [8,32]:Integer, [8,33]:Integer, [8,34]:Integer, [8,35]:Integer, [8,36]:Integer, [8,37]:Integer, [8,38]:Integer, [8,39]:Integer, [8,40]:Integer}
{[0]:Pointer, [0,0]:Pointer, [0,0,-1]:Float@double, [0,8]:Integer, [0,9]:Integer, [0,10]:Integer, [0,11]:Integer, [0,12]:Integer, [0,13]:Integer, [0,14]:Integer, [0,15]:Integer, [0,16]:Integer, [0,17]:Integer, [0,18]:Integer, [0,19]:Integer, [0,20]:Integer, [0,21]:Integer, [0,22]:Integer, [0,23]:Integer, [0,24]:Integer, [0,25]:Integer, [0,26]:Integer, [0,27]:Integer, [0,28]:Integer, [0,29]:Integer, [0,30]:Integer, [0,31]:Integer, [0,32]:Integer, [0,33]:Integer, [0,34]:Integer, [0,35]:Integer, [0,36]:Integer, [0,37]:Integer, [0,38]:Integer, [0,39]:Integer, [0,40]:Integer, [8]:Pointer, [8,0]:Pointer, [8,0,-1]:Float@double, [8,8]:Integer, [8,9]:Integer, [8,10]:Integer, [8,11]:Integer, [8,12]:Integer, [8,13]:Integer, [8,14]:Integer, [8,15]:Integer, [8,16]:Integer, [8,17]:Integer, [8,18]:Integer, [8,19]:Integer, [8,20]:Integer, [8,21]:Integer, [8,22]:Integer, [8,23]:Integer, [8,24]:Integer, [8,25]:Integer, [8,26]:Integer, [8,27]:Integer, [8,28]:Integer, [8,29]:Integer, [8,30]:Integer, [8,31]:Integer, [8,32]:Integer, [8,33]:Integer, [8,34]:Integer, [8,35]:Integer, [8,36]:Integer, [8,37]:Integer, [8,38]:Integer, [8,39]:Integer, [8,40]:Integer, [16]:Integer, [17]:Integer, [18]:Integer, [19]:Integer, [20]:Integer, [21]:Integer, [22]:Integer, [23]:Integer, [24]:Integer, [25]:Integer, [26]:Integer, [27]:Integer, [28]:Integer, [29]:Integer, [30]:Integer, [31]:Integer, [32]:Integer, [33]:Integer, [34]:Integer, [35]:Integer, [36]:Integer, [37]:Integer, [38]:Integer, [39]:Integer, [40]:Integer, [41]:Integer, [42]:Integer, [43]:Integer, [44]:Integer, [45]:Integer, [46]:Integer, [47]:Integer, [48]:Pointer, [56]:Pointer}
canonicalizing 16
Assertion failed: ((size_t)pair.first[0] < len), function CanonicalizeValue, file /workspace/srcdir/Enzyme/enzyme/Enzyme/TypeAnalysis/TypeTree.h, line 605.
signal (6): Abort trap: 6
in expression starting at /Users/ifiske/projects/irdot/IntegratedDipatchSimulation/examples/autodiff_mwe.jl:21
__pthread_kill at /usr/lib/system/libsystem_kernel.dylib (unknown line)
Allocations: 30622303 (Pool: 30608783; Big: 13520); GC: 37
[1] 625 abort /Applications/Julia-1.7.app/Contents/Resources/julia/bin/julia
(base) ➜ ~
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment