-
Notifications
You must be signed in to change notification settings - Fork 145
Open
Description
define ptr addrspace(10) @retv(double %arg, ptr addrspace(10) %arg1) {
bb:
ret ptr addrspace(10) %arg1
}
; Function Attrs: nofree norecurse nosync nounwind speculatable willreturn memory(argmem: read)
declare noundef nonnull ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) nocapture noundef nonnull readnone, ptr noundef nonnull readnone) local_unnamed_addr #1
define double @ifn(ptr addrspace(11) %arg, ptr addrspace(10) %arg1) {
bb:
%i7 = load ptr addrspace(10), ptr addrspace(11) %arg, align 8
%i8 = addrspacecast ptr addrspace(10) %i7 to ptr addrspace(11)
%i31 = load ptr, ptr addrspace(11) %i8, align 8, !enzyme_nocache !14
%i32 = getelementptr inbounds { ptr, ptr addrspace(10) }, ptr addrspace(11) %i8, i64 0, i32 1
%i33 = load ptr addrspace(10), ptr addrspace(11) %i32, align 8
%i50 = call ptr addrspace(13) @julia.gc_loaded(ptr addrspace(10) noundef %i33, ptr noundef %i31)
%i51 = load double, ptr addrspace(13) %i50, align 8
%i52 = call ptr addrspace(10) @retv(double %i51, ptr addrspace(10) %arg1)
ret double %i51
}
declare void @__enzyme_autodiff(...)
define void @dsquare(double %arg) {
bb:
tail call void (...) @__enzyme_autodiff(ptr @ifn, metadata !"enzyme_runtime_activity", metadata !"enzyme_dup", ptr addrspace(11) undef, ptr addrspace(11) undef, metadata !"enzyme_dup", ptr addrspace(10) undef, ptr addrspace(10) undef)
ret void
}
attributes #1 = { nofree norecurse nosync nounwind speculatable willreturn memory(argmem: read) "enzyme_nocache" "enzyme_shouldrecompute" "enzymejl_world"="26726" }
!14 = !{}
Metadata
Metadata
Assignees
Labels
No labels