about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2023-01-02 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2023-01-02 22:24:01 +0100
commit357c3cf72cfa7f4455ae71ad62816dfcc843746b (patch)
tree2fb203ec47809455e7e81702bd777c3eccf1219c
parent23b1cc197a3a6d0c1ab78a5c6e7cdad17681f1c9 (diff)
downloadrust-357c3cf72cfa7f4455ae71ad62816dfcc843746b.tar.gz
rust-357c3cf72cfa7f4455ae71ad62816dfcc843746b.zip
Fix handling of dead unwinds in backward analyses
Dead unwinds set contains a head of an unreachable unwind edge.
-rw-r--r--compiler/rustc_mir_dataflow/src/framework/direction.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_mir_dataflow/src/framework/direction.rs b/compiler/rustc_mir_dataflow/src/framework/direction.rs
index 5ff6b9e7e69..077a21fc8af 100644
--- a/compiler/rustc_mir_dataflow/src/framework/direction.rs
+++ b/compiler/rustc_mir_dataflow/src/framework/direction.rs
@@ -287,7 +287,7 @@ impl Direction for Backward {
                 | mir::TerminatorKind::InlineAsm { cleanup: Some(unwind), .. }
                     if unwind == bb =>
                 {
-                    if dead_unwinds.map_or(true, |dead| !dead.contains(bb)) {
+                    if dead_unwinds.map_or(true, |dead| !dead.contains(pred)) {
                         propagate(pred, exit_state);
                     }
                 }