about summary refs log tree commit diff
diff options
context:
space:
mode:
authorZalathar <Zalathar@users.noreply.github.com>2023-09-15 17:18:43 +1000
committerZalathar <Zalathar@users.noreply.github.com>2023-09-16 12:07:35 +1000
commit91e0b46f76d3e6b144d162f9be9c057b5287304b (patch)
treee7a78600ec6067e29d11867a4c82626996a527f1
parent3b5b1aa2a51c77430f9db403af38711f0c79ef7b (diff)
downloadrust-91e0b46f76d3e6b144d162f9be9c057b5287304b.tar.gz
rust-91e0b46f76d3e6b144d162f9be9c057b5287304b.zip
coverage: Replace an unnecessary map with a set
This hashmap's values were never used.
-rw-r--r--compiler/rustc_mir_transform/src/coverage/debug.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/rustc_mir_transform/src/coverage/debug.rs b/compiler/rustc_mir_transform/src/coverage/debug.rs
index 9b27cff1c8f..bb1f16aa8be 100644
--- a/compiler/rustc_mir_transform/src/coverage/debug.rs
+++ b/compiler/rustc_mir_transform/src/coverage/debug.rs
@@ -113,7 +113,7 @@ use std::ops::Deref;
 use std::sync::OnceLock;
 
 use itertools::Itertools;
-use rustc_data_structures::fx::FxHashMap;
+use rustc_data_structures::fx::{FxHashMap, FxHashSet};
 use rustc_middle::mir::coverage::*;
 use rustc_middle::mir::create_dump_file;
 use rustc_middle::mir::generic_graphviz::GraphvizWriter;
@@ -488,7 +488,7 @@ pub(super) struct UsedExpressions {
 
 #[derive(Default)]
 struct UsedExpressionsState {
-    used_expression_operands: FxHashMap<Operand, Vec<ExpressionId>>,
+    used_expression_operands: FxHashSet<Operand>,
     unused_expressions: Vec<(BcbCounter, Option<BasicCoverageBlock>, BasicCoverageBlock)>,
 }
 
@@ -509,16 +509,16 @@ impl UsedExpressions {
     pub fn add_expression_operands(&mut self, expression: &BcbCounter) {
         let Some(state) = &mut self.state else { return };
 
-        if let BcbCounter::Expression { id, lhs, rhs, .. } = *expression {
-            state.used_expression_operands.entry(lhs).or_insert_with(Vec::new).push(id);
-            state.used_expression_operands.entry(rhs).or_insert_with(Vec::new).push(id);
+        if let BcbCounter::Expression { lhs, rhs, .. } = *expression {
+            state.used_expression_operands.insert(lhs);
+            state.used_expression_operands.insert(rhs);
         }
     }
 
     pub fn expression_is_used(&self, expression: &BcbCounter) -> bool {
         let Some(state) = &self.state else { return false };
 
-        state.used_expression_operands.contains_key(&expression.as_operand())
+        state.used_expression_operands.contains(&expression.as_operand())
     }
 
     pub fn add_unused_expression_if_not_found(
@@ -529,7 +529,7 @@ impl UsedExpressions {
     ) {
         let Some(state) = &mut self.state else { return };
 
-        if !state.used_expression_operands.contains_key(&expression.as_operand()) {
+        if !state.used_expression_operands.contains(&expression.as_operand()) {
             state.unused_expressions.push((expression.clone(), edge_from_bcb, target_bcb));
         }
     }