Skip to content

Commit 1a7df03

Browse files
authored
Rollup merge of #150070 - Kobzol:enzyme-error, r=ZuseZ4
Partially revert #147888 and print warning if LLVM CMake dir is missing when building Enzyme Partially reverts #147888, Enzyme cannot be build with `download-ci-llvm = true`. r? ``@ZuseZ4``
2 parents 641100c + 7463b15 commit 1a7df03

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/bootstrap/src/core/build_steps/llvm.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -925,7 +925,7 @@ impl Step for Enzyme {
925925
}
926926
let target = self.target;
927927

928-
let LlvmResult { host_llvm_config, .. } = builder.ensure(Llvm { target: self.target });
928+
let LlvmResult { host_llvm_config, llvm_cmake_dir } = builder.ensure(Llvm { target });
929929

930930
static STAMP_HASH_MEMO: OnceLock<String> = OnceLock::new();
931931
let smart_stamp_hash = STAMP_HASH_MEMO.get_or_init(|| {
@@ -955,15 +955,20 @@ impl Step for Enzyme {
955955
return out_dir;
956956
}
957957

958+
if !builder.config.dry_run() && !llvm_cmake_dir.is_dir() {
959+
builder.info(&format!(
960+
"WARNING: {} does not exist, Enzyme build will likely fail",
961+
llvm_cmake_dir.display()
962+
));
963+
}
964+
958965
trace!(?target, "(re)building enzyme artifacts");
959966
builder.info(&format!("Building Enzyme for {target}"));
960967
t!(stamp.remove());
961968
let _time = helpers::timeit(builder);
962969
t!(fs::create_dir_all(&out_dir));
963970

964-
builder
965-
.config
966-
.update_submodule(Path::new("src").join("tools").join("enzyme").to_str().unwrap());
971+
builder.config.update_submodule("src/tools/enzyme");
967972
let mut cfg = cmake::Config::new(builder.src.join("src/tools/enzyme/enzyme/"));
968973
configure_cmake(builder, target, &mut cfg, true, LdFlags::default(), &[]);
969974

@@ -983,7 +988,7 @@ impl Step for Enzyme {
983988
.define("LLVM_ENABLE_ASSERTIONS", "ON")
984989
.define("ENZYME_EXTERNAL_SHARED_LIB", "ON")
985990
.define("ENZYME_BC_LOADER", "OFF")
986-
.define("LLVM_DIR", builder.llvm_out(target));
991+
.define("LLVM_DIR", llvm_cmake_dir);
987992

988993
cfg.build();
989994

src/bootstrap/src/core/config/toml/llvm.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ pub fn check_incompatible_options_for_ci_llvm(
117117
enable_warnings,
118118
download_ci_llvm: _,
119119
build_config,
120-
enzyme: _,
120+
enzyme,
121121
} = ci_llvm_config;
122122

123123
err!(current_llvm_config.optimize, optimize);
@@ -139,6 +139,7 @@ pub fn check_incompatible_options_for_ci_llvm(
139139
err!(current_llvm_config.clang, clang);
140140
err!(current_llvm_config.build_config, build_config);
141141
err!(current_llvm_config.plugins, plugins);
142+
err!(current_llvm_config.enzyme, enzyme);
142143

143144
warn!(current_llvm_config.enable_warnings, enable_warnings);
144145

0 commit comments

Comments
 (0)