@@ -30,14 +30,6 @@ pub enum DiffMode {
3030 Forward ,
3131 /// The target function, to be created using reverse mode AD.
3232 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 ,
4133}
4234
4335/// Dual and Duplicated (and their Only variants) are getting lowered to the same Enzyme Activity.
@@ -92,10 +84,10 @@ pub struct AutoDiffAttrs {
9284
9385impl DiffMode {
9486 pub fn is_rev ( & self ) -> bool {
95- matches ! ( self , DiffMode :: Reverse | DiffMode :: ReverseFirst )
87+ matches ! ( self , DiffMode :: Reverse )
9688 }
9789 pub fn is_fwd ( & self ) -> bool {
98- matches ! ( self , DiffMode :: Forward | DiffMode :: ForwardFirst )
90+ matches ! ( self , DiffMode :: Forward )
9991 }
10092}
10193
@@ -106,8 +98,6 @@ impl Display for DiffMode {
10698 DiffMode :: Source => write ! ( f, "Source" ) ,
10799 DiffMode :: Forward => write ! ( f, "Forward" ) ,
108100 DiffMode :: Reverse => write ! ( f, "Reverse" ) ,
109- DiffMode :: ForwardFirst => write ! ( f, "ForwardFirst" ) ,
110- DiffMode :: ReverseFirst => write ! ( f, "ReverseFirst" ) ,
111101 }
112102 }
113103}
@@ -125,12 +115,12 @@ pub fn valid_ret_activity(mode: DiffMode, activity: DiffActivity) -> bool {
125115 match mode {
126116 DiffMode :: Error => false ,
127117 DiffMode :: Source => false ,
128- DiffMode :: Forward | DiffMode :: ForwardFirst => {
118+ DiffMode :: Forward => {
129119 activity == DiffActivity :: Dual
130120 || activity == DiffActivity :: DualOnly
131121 || activity == DiffActivity :: Const
132122 }
133- DiffMode :: Reverse | DiffMode :: ReverseFirst => {
123+ DiffMode :: Reverse => {
134124 activity == DiffActivity :: Const
135125 || activity == DiffActivity :: Active
136126 || activity == DiffActivity :: ActiveOnly
@@ -166,10 +156,10 @@ pub fn valid_input_activity(mode: DiffMode, activity: DiffActivity) -> bool {
166156 return match mode {
167157 DiffMode :: Error => false ,
168158 DiffMode :: Source => false ,
169- DiffMode :: Forward | DiffMode :: ForwardFirst => {
159+ DiffMode :: Forward => {
170160 matches ! ( activity, Dual | DualOnly | Const )
171161 }
172- DiffMode :: Reverse | DiffMode :: ReverseFirst => {
162+ DiffMode :: Reverse => {
173163 matches ! ( activity, Active | ActiveOnly | Duplicated | DuplicatedOnly | Const )
174164 }
175165 } ;
@@ -200,8 +190,6 @@ impl FromStr for DiffMode {
200190 "Source" => Ok ( DiffMode :: Source ) ,
201191 "Forward" => Ok ( DiffMode :: Forward ) ,
202192 "Reverse" => Ok ( DiffMode :: Reverse ) ,
203- "ForwardFirst" => Ok ( DiffMode :: ForwardFirst ) ,
204- "ReverseFirst" => Ok ( DiffMode :: ReverseFirst ) ,
205193 _ => Err ( ( ) ) ,
206194 }
207195 }
0 commit comments