rustc_llvm: Add a -Z print-llvm-stats
option to expose LLVM statistics.
LLVM has a neat [statistics] feature that tracks how often optimizations kick in. It's very handy for optimization work. Since we expose the LLVM pass timings, I thought it made sense to expose the LLVM statistics too. [statistics]: https://llvm.org/docs/ProgrammersManual.html#the-statistic-class-stats-option
This commit is contained in:
parent
55be59d2ce
commit
2d47816cba
10 changed files with 35 additions and 0 deletions
|
@ -1672,6 +1672,9 @@ options! {
|
|||
"make rustc print the total optimization fuel used by a crate"),
|
||||
print_llvm_passes: bool = (false, parse_bool, [UNTRACKED],
|
||||
"print the LLVM optimization passes being run (default: no)"),
|
||||
#[rustc_lint_opt_deny_field_access("use `Session::print_llvm_stats` instead of this field")]
|
||||
print_llvm_stats: bool = (true, parse_bool, [UNTRACKED],
|
||||
"print LLVM statistics (default: no)"),
|
||||
print_mono_items: Option<String> = (None, parse_opt_string, [UNTRACKED],
|
||||
"print the result of the monomorphization collection pass"),
|
||||
print_type_sizes: bool = (false, parse_bool, [UNTRACKED],
|
||||
|
|
|
@ -1057,6 +1057,10 @@ impl Session {
|
|||
self.opts.unstable_opts.verbose
|
||||
}
|
||||
|
||||
pub fn print_llvm_stats(&self) -> bool {
|
||||
self.opts.unstable_opts.print_llvm_stats
|
||||
}
|
||||
|
||||
pub fn verify_llvm_ir(&self) -> bool {
|
||||
self.opts.unstable_opts.verify_llvm_ir || option_env!("RUSTC_VERIFY_LLVM_IR").is_some()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue