diff options
| author | Matt Brubeck <mbrubeck@limpet.net> | 2020-09-03 15:38:57 -0700 |
|---|---|---|
| committer | Matt Brubeck <mbrubeck@limpet.net> | 2020-09-03 15:38:57 -0700 |
| commit | bd2313fc117fe7779b3c61336b4a62b064141509 (patch) | |
| tree | 5d4f6fb3e0c73871b6eb17c92f859e4de1a320f1 | |
| parent | 3b0f3a0a1e25e2ac207c99492fd2a0f6fc356f35 (diff) | |
| download | rust-bd2313fc117fe7779b3c61336b4a62b064141509.tar.gz rust-bd2313fc117fe7779b3c61336b4a62b064141509.zip | |
Update to hashbrown 0.9
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | src/optimize/stack2reg.rs | 11 |
2 files changed, 5 insertions, 8 deletions
diff --git a/Cargo.toml b/Cargo.toml index 858a0f0e33e..187c75f6d5d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,7 +23,7 @@ byteorder = "1.2.7" indexmap = "1.0.2" cfg-if = "0.1.10" libloading = { version = "0.6.0", optional = true } -hashbrown = "0.8.1" +hashbrown = "0.9.0" # Uncomment to use local checkout of cranelift #[patch."https://github.com/bytecodealliance/wasmtime/"] 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)); } |
