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