about summary refs log tree commit diff
path: root/src/optimize/stack2reg.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/optimize/stack2reg.rs')
-rw-r--r--src/optimize/stack2reg.rs11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/optimize/stack2reg.rs b/src/optimize/stack2reg.rs
index 7c0bd2710a6..b192a2ae832 100644
--- a/src/optimize/stack2reg.rs
+++ b/src/optimize/stack2reg.rs
@@ -389,27 +389,24 @@ fn remove_unused_stack_addr_and_stack_load(opt_ctx: &mut OptimizeContext<'_>) {
     // Replace all unused stack_addr and stack_load instructions with nop.
     let mut func = &mut opt_ctx.ctx.func;
 
-    // drain_filter() on hashbrown::HashSet drains the items that do *not* match the
-    // predicate. Once hashbrown gets updated to match the behaviour of std::drain_filter
-    // (0.8.2), the predicate will have to be reversed
     for stack_slot_users in opt_ctx.stack_slot_usage_map.values_mut() {
         stack_slot_users
             .stack_addr
             .drain_filter(|inst| {
-                !(stack_addr_load_insts_users
+                stack_addr_load_insts_users
                     .get(inst)
                     .map(|users| users.is_empty())
-                    .unwrap_or(true))
+                    .unwrap_or(true)
             })
             .for_each(|inst| StackSlotUsage::remove_unused_stack_addr(&mut func, inst));
 
         stack_slot_users
             .stack_load
             .drain_filter(|inst| {
-                !(stack_addr_load_insts_users
+                stack_addr_load_insts_users
                     .get(inst)
                     .map(|users| users.is_empty())
-                    .unwrap_or(true))
+                    .unwrap_or(true)
             })
             .for_each(|inst| StackSlotUsage::remove_unused_load(&mut func, inst));
     }