about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src/jump_threading.rs
diff options
context:
space:
mode:
authorThe Miri Conjob Bot <miri@cron.bot>2024-02-16 05:02:04 +0000
committerThe Miri Conjob Bot <miri@cron.bot>2024-02-16 05:02:04 +0000
commitf1abde7e5d9cc9b392d92ed87602a75f5c6eb1e3 (patch)
treec20d747fb82bbd76097752e43d2d34846a8e819d /compiler/rustc_mir_transform/src/jump_threading.rs
parent089eb6b11faee46ca2bd3cfdefacc0bd4b4b4c1d (diff)
parentdb4ba498d9ffd584f9fd5483acd0c996c3379d8e (diff)
downloadrust-f1abde7e5d9cc9b392d92ed87602a75f5c6eb1e3.tar.gz
rust-f1abde7e5d9cc9b392d92ed87602a75f5c6eb1e3.zip
Merge from rustc
Diffstat (limited to 'compiler/rustc_mir_transform/src/jump_threading.rs')
-rw-r--r--compiler/rustc_mir_transform/src/jump_threading.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/jump_threading.rs b/compiler/rustc_mir_transform/src/jump_threading.rs
index 78ba166ba43..ad8f21ffbda 100644
--- a/compiler/rustc_mir_transform/src/jump_threading.rs
+++ b/compiler/rustc_mir_transform/src/jump_threading.rs
@@ -68,6 +68,12 @@ impl<'tcx> MirPass<'tcx> for JumpThreading {
         let def_id = body.source.def_id();
         debug!(?def_id);
 
+        // Optimizing coroutines creates query cycles.
+        if tcx.is_coroutine(def_id) {
+            trace!("Skipped for coroutine {:?}", def_id);
+            return;
+        }
+
         let param_env = tcx.param_env_reveal_all_normalized(def_id);
         let map = Map::new(tcx, body, Some(MAX_PLACES));
         let loop_headers = loop_headers(body);