@@ -30,14 +30,6 @@ pub enum DiffMode {
30
30
Forward ,
31
31
/// The target function, to be created using reverse mode AD.
32
32
Reverse ,
33
- /// The target function, to be created using forward mode AD.
34
- /// This target function will also be used as a source for higher order derivatives,
35
- /// so compute it before all Forward/Reverse targets and optimize it through llvm.
36
- ForwardFirst ,
37
- /// The target function, to be created using reverse mode AD.
38
- /// This target function will also be used as a source for higher order derivatives,
39
- /// so compute it before all Forward/Reverse targets and optimize it through llvm.
40
- ReverseFirst ,
41
33
}
42
34
43
35
/// Dual and Duplicated (and their Only variants) are getting lowered to the same Enzyme Activity.
@@ -92,10 +84,10 @@ pub struct AutoDiffAttrs {
92
84
93
85
impl DiffMode {
94
86
pub fn is_rev ( & self ) -> bool {
95
- matches ! ( self , DiffMode :: Reverse | DiffMode :: ReverseFirst )
87
+ matches ! ( self , DiffMode :: Reverse )
96
88
}
97
89
pub fn is_fwd ( & self ) -> bool {
98
- matches ! ( self , DiffMode :: Forward | DiffMode :: ForwardFirst )
90
+ matches ! ( self , DiffMode :: Forward )
99
91
}
100
92
}
101
93
@@ -106,8 +98,6 @@ impl Display for DiffMode {
106
98
DiffMode :: Source => write ! ( f, "Source" ) ,
107
99
DiffMode :: Forward => write ! ( f, "Forward" ) ,
108
100
DiffMode :: Reverse => write ! ( f, "Reverse" ) ,
109
- DiffMode :: ForwardFirst => write ! ( f, "ForwardFirst" ) ,
110
- DiffMode :: ReverseFirst => write ! ( f, "ReverseFirst" ) ,
111
101
}
112
102
}
113
103
}
@@ -125,12 +115,12 @@ pub fn valid_ret_activity(mode: DiffMode, activity: DiffActivity) -> bool {
125
115
match mode {
126
116
DiffMode :: Error => false ,
127
117
DiffMode :: Source => false ,
128
- DiffMode :: Forward | DiffMode :: ForwardFirst => {
118
+ DiffMode :: Forward => {
129
119
activity == DiffActivity :: Dual
130
120
|| activity == DiffActivity :: DualOnly
131
121
|| activity == DiffActivity :: Const
132
122
}
133
- DiffMode :: Reverse | DiffMode :: ReverseFirst => {
123
+ DiffMode :: Reverse => {
134
124
activity == DiffActivity :: Const
135
125
|| activity == DiffActivity :: Active
136
126
|| activity == DiffActivity :: ActiveOnly
@@ -166,10 +156,10 @@ pub fn valid_input_activity(mode: DiffMode, activity: DiffActivity) -> bool {
166
156
return match mode {
167
157
DiffMode :: Error => false ,
168
158
DiffMode :: Source => false ,
169
- DiffMode :: Forward | DiffMode :: ForwardFirst => {
159
+ DiffMode :: Forward => {
170
160
matches ! ( activity, Dual | DualOnly | Const )
171
161
}
172
- DiffMode :: Reverse | DiffMode :: ReverseFirst => {
162
+ DiffMode :: Reverse => {
173
163
matches ! ( activity, Active | ActiveOnly | Duplicated | DuplicatedOnly | Const )
174
164
}
175
165
} ;
@@ -200,8 +190,6 @@ impl FromStr for DiffMode {
200
190
"Source" => Ok ( DiffMode :: Source ) ,
201
191
"Forward" => Ok ( DiffMode :: Forward ) ,
202
192
"Reverse" => Ok ( DiffMode :: Reverse ) ,
203
- "ForwardFirst" => Ok ( DiffMode :: ForwardFirst ) ,
204
- "ReverseFirst" => Ok ( DiffMode :: ReverseFirst ) ,
205
193
_ => Err ( ( ) ) ,
206
194
}
207
195
}
0 commit comments