diff options
| author | Emilio Cobos Álvarez <emilio@crisal.io> | 2018-03-12 21:15:16 +0100 |
|---|---|---|
| committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2018-03-25 03:30:06 +0200 |
| commit | e31addf7c358aba28ce0910e93d009397a72a05f (patch) | |
| tree | da2cfad0130f9a2087fbeda65f2a9b0cc2df549c | |
| parent | 688275a4009a7a87fb211f0b690f386fc2de8740 (diff) | |
| download | rust-e31addf7c358aba28ce0910e93d009397a72a05f.tar.gz rust-e31addf7c358aba28ce0910e93d009397a72a05f.zip | |
librustc_trans: Gate the preinliner with another -Z flag.
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
| -rw-r--r-- | src/librustc/session/config.rs | 3 | ||||
| -rw-r--r-- | src/librustc_trans/llvm_util.rs | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index 7f92a087ebf..9fd370c54be 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -1254,6 +1254,9 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options, location if it's empty."), pgo_use: String = (String::new(), parse_string, [TRACKED], "Use PGO profile data from the given profile file."), + disable_instrumentation_preinliner: bool = + (false, parse_bool, [TRACKED], "Disable the instrumentation pre-inliner, \ + useful for profiling / PGO."), relro_level: Option<RelroLevel> = (None, parse_relro_level, [TRACKED], "choose which RELRO level to use"), nll: bool = (false, parse_bool, [UNTRACKED], diff --git a/src/librustc_trans/llvm_util.rs b/src/librustc_trans/llvm_util.rs index 12364b32d11..1c8f09ce7b3 100644 --- a/src/librustc_trans/llvm_util.rs +++ b/src/librustc_trans/llvm_util.rs @@ -61,7 +61,9 @@ unsafe fn configure_llvm(sess: &Session) { add("rustc"); // fake program name if sess.time_llvm_passes() { add("-time-passes"); } if sess.print_llvm_passes() { add("-debug-pass=Structure"); } - add("-disable-preinline"); + if sess.opts.debugging_opts.disable_instrumentation_preinliner { + add("-disable-preinline"); + } for arg in &sess.opts.cg.llvm_args { add(&(*arg)); |
