Skip to content

Commit

Permalink
Pass BOLT settings at the correct step
Browse files Browse the repository at this point in the history
  • Loading branch information
Kobzol committed Oct 11, 2023
1 parent 9a0e90f commit 482a820
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/bootstrap/compile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -907,7 +907,7 @@ impl Step for Rustc {
}

if builder.build.config.enable_bolt_settings && compiler.stage == 1 {
// Relocations are required for BOLT to work.k
// Relocations are required for BOLT to work.
cargo.env("RUSTC_BOLT_LINK_FLAGS", "1");
}

Expand Down
10 changes: 7 additions & 3 deletions src/tools/opt-dist/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,12 @@ fn execute_pipeline(
print_free_disk_space()?;

stage.section("Build PGO optimized rustc", |section| {
Bootstrap::build(env).rustc_pgo_optimize(&profile).run(section)
let mut cmd = Bootstrap::build(env).rustc_pgo_optimize(&profile);
if env.use_bolt() {
cmd = cmd.with_rustc_bolt_ldflags();
}

cmd.run(section)
})?;

Ok(profile)
Expand Down Expand Up @@ -259,7 +264,6 @@ fn execute_pipeline(
stage.section("Build PGO optimized LLVM", |stage| {
Bootstrap::build(env)
.with_llvm_bolt_ldflags()
.with_rustc_bolt_ldflags()
.llvm_pgo_optimize(&llvm_pgo_profile)
.avoid_rustc_rebuild()
.run(stage)
Expand All @@ -270,7 +274,7 @@ fn execute_pipeline(

log::info!("Optimizing {llvm_lib} with BOLT");

// FIXME(kobzol: try gather profiles together, at once for LLVM and rustc
// FIXME(kobzol): try gather profiles together, at once for LLVM and rustc
// Instrument the libraries and gather profiles
let llvm_profile = with_bolt_instrumented(&llvm_lib, |llvm_profile_dir| {
stage.section("Gather profiles", |_| {
Expand Down

0 comments on commit 482a820

Please sign in to comment.