File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ //@ compile-flags: -Zautodiff=Enable -Zautodiff=NoPostopt -C opt-level=3 -Clto=fat -g
2+ //@ no-prefer-dynamic
3+ //@ needs-enzyme
4+ #![ feature( autodiff) ]
5+
6+ use std:: autodiff:: autodiff_reverse;
7+
8+ #[ autodiff_reverse( d_square, Duplicated , Active ) ]
9+ #[ no_mangle]
10+ fn callee ( x : & f32 ) -> f32 {
11+ * x * * x
12+ }
13+
14+ fn main ( ) {
15+ let x: f32 = 7.0 ;
16+ let mut df_dx: f32 = 0.0 ;
17+ d_square ( & x, & mut df_dx, 1.0 ) ;
18+ }
19+
20+ // CHECK: define float @callee(ptr align 4 {{.*}}) {{.*}} !dbg {
21+ // CHECK-NEXT: start:
22+ // CHECK: #dbg_value
23+ // CHECK: load float
24+ // CHECK: fmul float
25+ // CHECK: ret float
26+
27+ // CHECK: define void @_ZN9f32_debug8d_square{{.*}}(ptr align 4 {{.*}}, ptr align 4 {{.*}}, float {{.*}}) {{.*}} {
28+ // CHECK: call {{.*}} @diffecallee
29+ // CHECK: ret void
30+
31+ // CHECK: define {{.*}} @diffecallee(ptr {{.*}} align 4 {{.*}}, ptr {{.*}} align 4 {{.*}}, float {{.*}}) {{.*}} {
32+ // CHECK: load float
33+ // CHECK: fmul float
34+ // CHECK: store float
35+ // CHECK: ret {{.*}}
You can’t perform that action at this time.
0 commit comments