about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2018-02-19 01:55:50 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2018-03-25 03:30:04 +0200
commit50a38725e1841aa2283f198dbc8ef2bd5bd1370b (patch)
treeae49c0b04ea421eb17bc8d1dd456d8d5923daa40
parent804f959507ec38f5b3e1f7593c8c3aef5a7a2c83 (diff)
downloadrust-50a38725e1841aa2283f198dbc8ef2bd5bd1370b.tar.gz
rust-50a38725e1841aa2283f198dbc8ef2bd5bd1370b.zip
rustc_metadata: Load the profiler runtime if we're generating PGO profile data.
This contains all the actual profiling code.

Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
-rw-r--r--src/librustc_metadata/creader.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/librustc_metadata/creader.rs b/src/librustc_metadata/creader.rs
index baaf57c8908..812bbf29cf1 100644
--- a/src/librustc_metadata/creader.rs
+++ b/src/librustc_metadata/creader.rs
@@ -784,7 +784,9 @@ impl<'a> CrateLoader<'a> {
     }
 
     fn inject_profiler_runtime(&mut self) {
-        if self.sess.opts.debugging_opts.profile {
+        if self.sess.opts.debugging_opts.profile ||
+            self.sess.opts.cg.pgo_gen.is_some()
+        {
             info!("loading profiler");
 
             let symbol = Symbol::intern("profiler_builtins");