about summary refs log tree commit diff
path: root/src/bootstrap
diff options
context:
space:
mode:
authorManuel Drehwald <git@manuel.drehwald.info>2025-02-10 01:35:22 -0500
committerManuel Drehwald <git@manuel.drehwald.info>2025-02-10 01:35:22 -0500
commit1221cff55149d2dbbf8761345799ef06f8099b97 (patch)
treeb21703aa4527bad47c9cff195845ef7d0b04d3a4 /src/bootstrap
parent21d096184e3c7e05646ee756a2ff6a99e90aff77 (diff)
downloadrust-1221cff55149d2dbbf8761345799ef06f8099b97.tar.gz
rust-1221cff55149d2dbbf8761345799ef06f8099b97.zip
move second opt run to lto phase and cleanup code
Diffstat (limited to 'src/bootstrap')
-rw-r--r--src/bootstrap/src/core/build_steps/compile.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs
index 4e360e94fd6..308d4723d98 100644
--- a/src/bootstrap/src/core/build_steps/compile.rs
+++ b/src/bootstrap/src/core/build_steps/compile.rs
@@ -1049,9 +1049,9 @@ pub fn rustc_cargo(
     // <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Internal.20lint.20for.20raw.20.60print!.60.20and.20.60println!.60.3F>.
     cargo.rustflag("-Zon-broken-pipe=kill");
 
-    // We temporarily disable linking here as part of some refactoring.
-    // This way, people can manually use -Z llvm-plugins and -C passes=enzyme for now.
-    // In a follow-up PR, we will re-enable linking here and load the pass for them.
+    // We want to link against registerEnzyme and in the future we want to use additional
+    // functionality from Enzyme core. For that we need to link against Enzyme.
+    // FIXME(ZuseZ4): Get the LLVM version number automatically instead of hardcoding it.
     if builder.config.llvm_enzyme {
         cargo.rustflag("-l").rustflag("Enzyme-19");
     }
@@ -1234,6 +1234,9 @@ fn rustc_llvm_env(builder: &Builder<'_>, cargo: &mut Cargo, target: TargetSelect
     if builder.is_rust_llvm(target) {
         cargo.env("LLVM_RUSTLLVM", "1");
     }
+    if builder.config.llvm_enzyme {
+        cargo.env("LLVM_ENZYME", "1");
+    }
     let llvm::LlvmResult { llvm_config, .. } = builder.ensure(llvm::Llvm { target });
     cargo.env("LLVM_CONFIG", &llvm_config);