about summary refs log tree commit diff
path: root/src/optimize/stack2reg.rs
diff options
context:
space:
mode:
authorMatt Brubeck <mbrubeck@limpet.net>2020-09-03 15:38:57 -0700
committerMatt Brubeck <mbrubeck@limpet.net>2020-09-03 15:38:57 -0700
commitbd2313fc117fe7779b3c61336b4a62b064141509 (patch)
tree5d4f6fb3e0c73871b6eb17c92f859e4de1a320f1 /src/optimize/stack2reg.rs
parent3b0f3a0a1e25e2ac207c99492fd2a0f6fc356f35 (diff)
downloadrust-bd2313fc117fe7779b3c61336b4a62b064141509.tar.gz
rust-bd2313fc117fe7779b3c61336b4a62b064141509.zip
Update to hashbrown 0.9
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));
     }