about summary refs log tree commit diff
path: root/compiler/rustc_metadata
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-01-29 01:27:11 +0000
committerbors <bors@rust-lang.org>2023-01-29 01:27:11 +0000
commitbcb064a7f4aee705c97ce1b74beb9af0f9b5adb2 (patch)
tree5ac5ea7d8330ef48aa44d6dc2fd4467b1d52f24a /compiler/rustc_metadata
parent9f82651a5fa4b1d96f55ce5507dd2aa204c7fb61 (diff)
parent4db4860503a9ace3c650b0efe55953926af844a5 (diff)
downloadrust-bcb064a7f4aee705c97ce1b74beb9af0f9b5adb2.tar.gz
rust-bcb064a7f4aee705c97ce1b74beb9af0f9b5adb2.zip
Auto merge of #107406 - cjgillot:eliminate-witnesses, r=compiler-errors
Only compute mir_generator_witnesses query in drop_tracking_mir mode.

Attempt to fix the perf regression in https://github.com/rust-lang/rust/pull/101692

r? `@ghost`
Diffstat (limited to 'compiler/rustc_metadata')
-rw-r--r--compiler/rustc_metadata/src/rmeta/encoder.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_metadata/src/rmeta/encoder.rs b/compiler/rustc_metadata/src/rmeta/encoder.rs
index 68335a9b01a..29507ff3a86 100644
--- a/compiler/rustc_metadata/src/rmeta/encoder.rs
+++ b/compiler/rustc_metadata/src/rmeta/encoder.rs
@@ -1415,7 +1415,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
             if encode_opt {
                 record!(self.tables.optimized_mir[def_id.to_def_id()] <- tcx.optimized_mir(def_id));
 
-                if let DefKind::Generator = self.tcx.def_kind(def_id) {
+                if let DefKind::Generator = self.tcx.def_kind(def_id) && tcx.sess.opts.unstable_opts.drop_tracking_mir {
                     record!(self.tables.mir_generator_witnesses[def_id.to_def_id()] <- tcx.mir_generator_witnesses(def_id));
                 }
             }