about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorManuel Drehwald <git@manuel.drehwald.info>2025-03-17 19:13:09 -0400
committerManuel Drehwald <git@manuel.drehwald.info>2025-03-17 19:13:09 -0400
commit47c07ed9637bb59bb37d7b541ff3ed11d158a9ee (patch)
treeec3226a529d1172989905f8e139fa2c1730e611c /compiler/rustc_codegen_llvm/src
parentf4c297802ff34cd6a36d077c1271041fc0501cb7 (diff)
downloadrust-47c07ed9637bb59bb37d7b541ff3ed11d158a9ee.tar.gz
rust-47c07ed9637bb59bb37d7b541ff3ed11d158a9ee.zip
[NFC] simplify matching
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
-rw-r--r--compiler/rustc_codegen_llvm/src/builder/autodiff.rs15
1 files changed, 3 insertions, 12 deletions
diff --git a/compiler/rustc_codegen_llvm/src/builder/autodiff.rs b/compiler/rustc_codegen_llvm/src/builder/autodiff.rs
index 482af98aa1a..7cd4ee539d8 100644
--- a/compiler/rustc_codegen_llvm/src/builder/autodiff.rs
+++ b/compiler/rustc_codegen_llvm/src/builder/autodiff.rs
@@ -150,9 +150,6 @@ fn generate_enzyme_call<'ll>(
     outer_fn: &'ll Value,
     attrs: AutoDiffAttrs,
 ) {
-    let inputs = attrs.input_activity;
-    let output = attrs.ret_activity;
-
     // We have to pick the name depending on whether we want forward or reverse mode autodiff.
     let mut ad_name: String = match attrs.mode {
         DiffMode::Forward => "__enzyme_fwddiff",
@@ -240,18 +237,12 @@ fn generate_enzyme_call<'ll>(
         args.push(fn_to_diff);
 
         let enzyme_primal_ret = cx.create_metadata("enzyme_primal_return".to_string()).unwrap();
-        match output {
-            DiffActivity::Dual => {
-                args.push(cx.get_metadata_value(enzyme_primal_ret));
-            }
-            DiffActivity::Active => {
-                args.push(cx.get_metadata_value(enzyme_primal_ret));
-            }
-            _ => {}
+        if matches!(attrs.ret_activity, DiffActivity::Dual | DiffActivity::Active) {
+            args.push(cx.get_metadata_value(enzyme_primal_ret));
         }
 
         let outer_args: Vec<&llvm::Value> = get_params(outer_fn);
-        match_args_from_caller_to_enzyme(&cx, &mut args, &inputs, &outer_args);
+        match_args_from_caller_to_enzyme(&cx, &mut args, &attrs.input_activity, &outer_args);
 
         let call = builder.call(enzyme_ty, ad_fn, &args, None);