diff options
| author | Jakub Beránek <berykubik@gmail.com> | 2023-02-04 00:03:12 +0100 |
|---|---|---|
| committer | Jakub Beránek <berykubik@gmail.com> | 2023-03-04 16:37:40 +0100 |
| commit | c5d65aa58043cc1eac76838319009fce9de1b019 (patch) | |
| tree | 0ce6d0c12717c64326ce83a13559bf6a587b9876 /src/bootstrap/native.rs | |
| parent | 276b75a843af8822ffe4e395266d9445679a57a4 (diff) | |
Apply BOLT optimizations without rebuilding LLVM
Diffstat (limited to 'src/bootstrap/native.rs')
| -rw-r--r-- | src/bootstrap/native.rs | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/src/bootstrap/native.rs b/src/bootstrap/native.rs index 5987b641b39..8c2bece1e62 100644 --- a/src/bootstrap/native.rs +++ b/src/bootstrap/native.rs @@ -16,7 +16,6 @@ use std::io; use std::path::{Path, PathBuf}; use std::process::Command; -use crate::bolt::{instrument_with_bolt_inplace, optimize_library_with_bolt_inplace}; use crate::builder::{Builder, RunConfig, ShouldRun, Step}; use crate::channel; use crate::config::{Config, TargetSelection}; @@ -523,34 +522,12 @@ impl Step for Llvm { } } - // After LLVM is built, we modify (instrument or optimize) the libLLVM.so library file - // in place. This is fine, because currently we do not support incrementally rebuilding - // LLVM after a configuration change, so to rebuild it the build files have to be removed, - // which will also remove these modified files. - if builder.config.llvm_bolt_profile_generate { - instrument_with_bolt_inplace(&get_built_llvm_lib_path(&res.llvm_config)); - } - if let Some(path) = &builder.config.llvm_bolt_profile_use { - optimize_library_with_bolt_inplace( - &get_built_llvm_lib_path(&res.llvm_config), - &Path::new(path), - ); - } - t!(stamp.write()); res } } -/// Returns path to a built LLVM library (libLLVM.so). -/// Assumes that we have built LLVM into a single library file. -fn get_built_llvm_lib_path(llvm_config_path: &Path) -> PathBuf { - let mut cmd = Command::new(llvm_config_path); - cmd.arg("--libfiles"); - PathBuf::from(output(&mut cmd).trim()) -} - fn check_llvm_version(builder: &Builder<'_>, llvm_config: &Path) { if !builder.config.llvm_version_check { return; |
