about summary refs log tree commit diff
path: root/compiler/rustc_driver/src
diff options
context:
space:
mode:
authorbjorn3 <bjorn3@users.noreply.github.com>2021-03-28 18:30:25 +0200
committerbjorn3 <bjorn3@users.noreply.github.com>2021-03-30 09:19:46 +0200
commitcab940e848d0645619a31ae068b5ccbbf47f9cb8 (patch)
tree15fc2c8fa9dd94f9c86af842a74c7212746430e9 /compiler/rustc_driver/src
parent32d3276561e88bfdf92cc483cff842a24fdd4b37 (diff)
downloadrust-cab940e848d0645619a31ae068b5ccbbf47f9cb8.tar.gz
rust-cab940e848d0645619a31ae068b5ccbbf47f9cb8.zip
Merge two consecutive tcx.analysis() calls
Diffstat (limited to 'compiler/rustc_driver/src')
-rw-r--r--compiler/rustc_driver/src/lib.rs18
1 files changed, 7 insertions, 11 deletions
diff --git a/compiler/rustc_driver/src/lib.rs b/compiler/rustc_driver/src/lib.rs
index c8891734cce..6d193ae2730 100644
--- a/compiler/rustc_driver/src/lib.rs
+++ b/compiler/rustc_driver/src/lib.rs
@@ -411,11 +411,10 @@ fn run_compiler(
                 return early_exit();
             }
 
-            if sess.opts.debugging_opts.save_analysis {
-                let crate_name = queries.crate_name()?.peek().clone();
-                queries.global_ctxt()?.peek_mut().enter(|tcx| {
-                    let result = tcx.analysis(LOCAL_CRATE);
-
+            let crate_name = queries.crate_name()?.peek().clone();
+            queries.global_ctxt()?.peek_mut().enter(|tcx| {
+                let result = tcx.analysis(LOCAL_CRATE);
+                if sess.opts.debugging_opts.save_analysis {
                     sess.time("save_analysis", || {
                         save::process_crate(
                             tcx,
@@ -428,12 +427,9 @@ fn run_compiler(
                             ),
                         )
                     });
-
-                    result
-                })?;
-            }
-
-            queries.global_ctxt()?.peek_mut().enter(|tcx| tcx.analysis(LOCAL_CRATE))?;
+                }
+                result
+            })?;
 
             if callbacks.after_analysis(compiler, queries) == Compilation::Stop {
                 return early_exit();