diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2020-10-22 08:51:31 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <eddyb@lyken.rs> | 2022-06-13 07:56:47 +0000 |
| commit | d76573abd19d50c25c5b58ec7fc5cfef579e6eef (patch) | |
| tree | dfc4bfb7dbb0054bff1ced5d5c0ed836b63d4718 /compiler/rustc_session/src | |
| parent | 083721a1a7365d3afe1521cd2661b2201aac0450 (diff) | |
| download | rust-d76573abd19d50c25c5b58ec7fc5cfef579e6eef.tar.gz rust-d76573abd19d50c25c5b58ec7fc5cfef579e6eef.zip | |
Integrate measureme's hardware performance counter support.
Diffstat (limited to 'compiler/rustc_session/src')
| -rw-r--r-- | compiler/rustc_session/src/options.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_session/src/session.rs | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index 007fa87189f..64c8274abdf 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -1473,6 +1473,12 @@ options! { for example: `-Z self-profile-events=default,query-keys` all options: none, all, default, generic-activity, query-provider, query-cache-hit query-blocked, incr-cache-load, incr-result-hashing, query-keys, function-args, args, llvm, artifact-sizes"), + self_profile_counter: String = ("wall-time".to_string(), parse_string, [UNTRACKED], + "counter used by the self profiler (default: `wall-time`), one of: + `wall-time` (monotonic clock, i.e. `std::time::Instant`) + `instructions:u` (retired instructions, userspace-only) + `instructions-minus-irqs:u` (subtracting hardware interrupt counts for extra accuracy)" + ), share_generics: Option<bool> = (None, parse_opt_bool, [TRACKED], "make the current crate share its generic instantiations"), show_span: Option<String> = (None, parse_opt_string, [TRACKED], diff --git a/compiler/rustc_session/src/session.rs b/compiler/rustc_session/src/session.rs index b2c23cda6aa..f74de55ad7b 100644 --- a/compiler/rustc_session/src/session.rs +++ b/compiler/rustc_session/src/session.rs @@ -1252,7 +1252,8 @@ pub fn build_session( let profiler = SelfProfiler::new( directory, sopts.crate_name.as_deref(), - &sopts.debugging_opts.self_profile_events, + sopts.debugging_opts.self_profile_events.as_ref().map(|xs| &xs[..]), + &sopts.debugging_opts.self_profile_counter, ); match profiler { Ok(profiler) => Some(Arc::new(profiler)), |
