From 64ee32e53a7f6d416b60c259e84623014b96c33b Mon Sep 17 00:00:00 2001 From: Michael Woerister Date: Tue, 28 May 2019 16:13:59 +0200 Subject: [PATCH] Rename PgoGenerate to something more general. --- src/librustc/session/config.rs | 32 +++++++++++++------------ src/librustc/session/mod.rs | 4 ++-- src/librustc_codegen_llvm/back/write.rs | 6 ++--- src/librustc_codegen_ssa/back/write.rs | 6 ++--- 4 files changed, 25 insertions(+), 23 deletions(-) diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index 6dae25dcd5dda..f4ee39d69883c 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -117,16 +117,16 @@ impl LinkerPluginLto { } #[derive(Clone, PartialEq, Hash)] -pub enum PgoGenerate { +pub enum SwitchWithOptPath { Enabled(Option), Disabled, } -impl PgoGenerate { +impl SwitchWithOptPath { pub fn enabled(&self) -> bool { match *self { - PgoGenerate::Enabled(_) => true, - PgoGenerate::Disabled => false, + SwitchWithOptPath::Enabled(_) => true, + SwitchWithOptPath::Disabled => false, } } } @@ -834,7 +834,7 @@ macro_rules! options { pub const parse_linker_plugin_lto: Option<&str> = Some("either a boolean (`yes`, `no`, `on`, `off`, etc), \ or the path to the linker plugin"); - pub const parse_pgo_generate: Option<&str> = + pub const parse_switch_with_opt_path: Option<&str> = Some("an optional path to the profiling data output directory"); pub const parse_merge_functions: Option<&str> = Some("one of: `disabled`, `trampolines`, or `aliases`"); @@ -842,7 +842,7 @@ macro_rules! options { #[allow(dead_code)] mod $mod_set { - use super::{$struct_name, Passes, Sanitizer, LtoCli, LinkerPluginLto, PgoGenerate}; + use super::{$struct_name, Passes, Sanitizer, LtoCli, LinkerPluginLto, SwitchWithOptPath}; use rustc_target::spec::{LinkerFlavor, MergeFunctions, PanicStrategy, RelroLevel}; use std::path::PathBuf; use std::str::FromStr; @@ -1097,10 +1097,10 @@ macro_rules! options { true } - fn parse_pgo_generate(slot: &mut PgoGenerate, v: Option<&str>) -> bool { + fn parse_switch_with_opt_path(slot: &mut SwitchWithOptPath, v: Option<&str>) -> bool { *slot = match v { - None => PgoGenerate::Enabled(None), - Some(path) => PgoGenerate::Enabled(Some(PathBuf::from(path))), + None => SwitchWithOptPath::Enabled(None), + Some(path) => SwitchWithOptPath::Enabled(Some(PathBuf::from(path))), }; true } @@ -1379,7 +1379,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "extra arguments to prepend to the linker invocation (space separated)"), profile: bool = (false, parse_bool, [TRACKED], "insert profiling code"), - pgo_gen: PgoGenerate = (PgoGenerate::Disabled, parse_pgo_generate, [TRACKED], + pgo_gen: SwitchWithOptPath = (SwitchWithOptPath::Disabled, + parse_switch_with_opt_path, [TRACKED], "Generate PGO profile data, to a given file, or to the default location if it's empty."), pgo_use: Option = (None, parse_opt_pathbuf, [TRACKED], "Use PGO profile data from the given profile file."), @@ -1447,7 +1448,8 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, "don't interleave execution of lints; allows benchmarking individual lints"), crate_attr: Vec = (Vec::new(), parse_string_push, [TRACKED], "inject the given attribute in the crate"), - self_profile: PgoGenerate = (PgoGenerate::Disabled, parse_pgo_generate, [UNTRACKED], + self_profile: SwitchWithOptPath = (SwitchWithOptPath::Disabled, + parse_switch_with_opt_path, [UNTRACKED], "run the self profiler and output the raw event data"), self_profile_events: Option> = (None, parse_opt_comma_list, [UNTRACKED], "specifies which kinds of events get recorded by the self profiler"), @@ -2558,7 +2560,7 @@ mod dep_tracking { use std::path::PathBuf; use std::collections::hash_map::DefaultHasher; use super::{CrateType, DebugInfo, ErrorOutputType, OptLevel, OutputTypes, - Passes, Sanitizer, LtoCli, LinkerPluginLto, PgoGenerate}; + Passes, Sanitizer, LtoCli, LinkerPluginLto, SwitchWithOptPath}; use syntax::feature_gate::UnstableFeatures; use rustc_target::spec::{MergeFunctions, PanicStrategy, RelroLevel, TargetTriple}; use syntax::edition::Edition; @@ -2626,7 +2628,7 @@ mod dep_tracking { impl_dep_tracking_hash_via_hash!(TargetTriple); impl_dep_tracking_hash_via_hash!(Edition); impl_dep_tracking_hash_via_hash!(LinkerPluginLto); - impl_dep_tracking_hash_via_hash!(PgoGenerate); + impl_dep_tracking_hash_via_hash!(SwitchWithOptPath); impl_dep_tracking_hash_for_sortable_vec_of!(String); impl_dep_tracking_hash_for_sortable_vec_of!(PathBuf); @@ -2694,7 +2696,7 @@ mod tests { build_session_options_and_crate_config, to_crate_config }; - use crate::session::config::{LtoCli, LinkerPluginLto, PgoGenerate, ExternEntry}; + use crate::session::config::{LtoCli, LinkerPluginLto, SwitchWithOptPath, ExternEntry}; use crate::session::build_session; use crate::session::search_paths::SearchPath; use std::collections::{BTreeMap, BTreeSet}; @@ -3207,7 +3209,7 @@ mod tests { assert!(reference.dep_tracking_hash() != opts.dep_tracking_hash()); opts = reference.clone(); - opts.debugging_opts.pgo_gen = PgoGenerate::Enabled(None); + opts.debugging_opts.pgo_gen = SwitchWithOptPath::Enabled(None); assert_ne!(reference.dep_tracking_hash(), opts.dep_tracking_hash()); opts = reference.clone(); diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs index d8d71035dbfa6..974a5bb70e653 100644 --- a/src/librustc/session/mod.rs +++ b/src/librustc/session/mod.rs @@ -9,7 +9,7 @@ use crate::lint; use crate::lint::builtin::BuiltinLintDiagnostics; use crate::middle::allocator::AllocatorKind; use crate::middle::dependency_format; -use crate::session::config::{OutputType, PgoGenerate}; +use crate::session::config::{OutputType, SwitchWithOptPath}; use crate::session::search_paths::{PathKind, SearchPath}; use crate::util::nodemap::{FxHashMap, FxHashSet}; use crate::util::common::{duration_to_secs_str, ErrorReported}; @@ -1137,7 +1137,7 @@ fn build_session_( driver_lint_caps: FxHashMap, ) -> Session { let self_profiler = - if let PgoGenerate::Enabled(ref d) = sopts.debugging_opts.self_profile { + if let SwitchWithOptPath::Enabled(ref d) = sopts.debugging_opts.self_profile { let directory = if let Some(ref directory) = d { directory } else { diff --git a/src/librustc_codegen_llvm/back/write.rs b/src/librustc_codegen_llvm/back/write.rs index 1eee9ab8c0b67..d8a9f681639a0 100644 --- a/src/librustc_codegen_llvm/back/write.rs +++ b/src/librustc_codegen_llvm/back/write.rs @@ -13,7 +13,7 @@ use crate::LlvmCodegenBackend; use rustc::hir::def_id::LOCAL_CRATE; use rustc_codegen_ssa::back::write::{CodegenContext, ModuleConfig, run_assembler}; use rustc_codegen_ssa::traits::*; -use rustc::session::config::{self, OutputType, Passes, Lto, PgoGenerate}; +use rustc::session::config::{self, OutputType, Passes, Lto, SwitchWithOptPath}; use rustc::session::Session; use rustc::ty::TyCtxt; use rustc_codegen_ssa::{RLIB_BYTECODE_EXTENSION, ModuleCodegen, CompiledModule}; @@ -707,7 +707,7 @@ pub unsafe fn with_llvm_pmb(llmod: &llvm::Module, let inline_threshold = config.inline_threshold; let pgo_gen_path = match config.pgo_gen { - PgoGenerate::Enabled(ref opt_dir_path) => { + SwitchWithOptPath::Enabled(ref opt_dir_path) => { let path = if let Some(dir_path) = opt_dir_path { dir_path.join("default_%m.profraw") } else { @@ -716,7 +716,7 @@ pub unsafe fn with_llvm_pmb(llmod: &llvm::Module, Some(CString::new(format!("{}", path.display())).unwrap()) } - PgoGenerate::Disabled => { + SwitchWithOptPath::Disabled => { None } }; diff --git a/src/librustc_codegen_ssa/back/write.rs b/src/librustc_codegen_ssa/back/write.rs index 74c41969268e9..5abff2d8ec350 100644 --- a/src/librustc_codegen_ssa/back/write.rs +++ b/src/librustc_codegen_ssa/back/write.rs @@ -13,7 +13,7 @@ use rustc::dep_graph::{WorkProduct, WorkProductId, WorkProductFileKind}; use rustc::dep_graph::cgu_reuse_tracker::CguReuseTracker; use rustc::middle::cstore::EncodedMetadata; use rustc::session::config::{self, OutputFilenames, OutputType, Passes, Lto, - Sanitizer, PgoGenerate}; + Sanitizer, SwitchWithOptPath}; use rustc::session::Session; use rustc::util::nodemap::FxHashMap; use rustc::hir::def_id::{CrateNum, LOCAL_CRATE}; @@ -56,7 +56,7 @@ pub struct ModuleConfig { /// Some(level) to optimize binary size, or None to not affect program size. pub opt_size: Option, - pub pgo_gen: PgoGenerate, + pub pgo_gen: SwitchWithOptPath, pub pgo_use: Option, // Flags indicating which outputs to produce. @@ -94,7 +94,7 @@ impl ModuleConfig { opt_level: None, opt_size: None, - pgo_gen: PgoGenerate::Disabled, + pgo_gen: SwitchWithOptPath::Disabled, pgo_use: None, emit_no_opt_bc: false,