coverage: Replace an unnecessary map with a set
This hashmap's values were never used.
This commit is contained in:
parent
3b5b1aa2a5
commit
91e0b46f76
@ -113,7 +113,7 @@
|
|||||||
use std::sync::OnceLock;
|
use std::sync::OnceLock;
|
||||||
|
|
||||||
use itertools::Itertools;
|
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::coverage::*;
|
||||||
use rustc_middle::mir::create_dump_file;
|
use rustc_middle::mir::create_dump_file;
|
||||||
use rustc_middle::mir::generic_graphviz::GraphvizWriter;
|
use rustc_middle::mir::generic_graphviz::GraphvizWriter;
|
||||||
@ -488,7 +488,7 @@ pub(super) struct UsedExpressions {
|
|||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
struct UsedExpressionsState {
|
struct UsedExpressionsState {
|
||||||
used_expression_operands: FxHashMap<Operand, Vec<ExpressionId>>,
|
used_expression_operands: FxHashSet<Operand>,
|
||||||
unused_expressions: Vec<(BcbCounter, Option<BasicCoverageBlock>, BasicCoverageBlock)>,
|
unused_expressions: Vec<(BcbCounter, Option<BasicCoverageBlock>, BasicCoverageBlock)>,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -509,16 +509,16 @@ pub fn is_enabled(&self) -> bool {
|
|||||||
pub fn add_expression_operands(&mut self, expression: &BcbCounter) {
|
pub fn add_expression_operands(&mut self, expression: &BcbCounter) {
|
||||||
let Some(state) = &mut self.state else { return };
|
let Some(state) = &mut self.state else { return };
|
||||||
|
|
||||||
if let BcbCounter::Expression { id, lhs, rhs, .. } = *expression {
|
if let BcbCounter::Expression { lhs, rhs, .. } = *expression {
|
||||||
state.used_expression_operands.entry(lhs).or_insert_with(Vec::new).push(id);
|
state.used_expression_operands.insert(lhs);
|
||||||
state.used_expression_operands.entry(rhs).or_insert_with(Vec::new).push(id);
|
state.used_expression_operands.insert(rhs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn expression_is_used(&self, expression: &BcbCounter) -> bool {
|
pub fn expression_is_used(&self, expression: &BcbCounter) -> bool {
|
||||||
let Some(state) = &self.state else { return false };
|
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(
|
pub fn add_unused_expression_if_not_found(
|
||||||
@ -529,7 +529,7 @@ pub fn add_unused_expression_if_not_found(
|
|||||||
) {
|
) {
|
||||||
let Some(state) = &mut self.state else { return };
|
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));
|
state.unused_expressions.push((expression.clone(), edge_from_bcb, target_bcb));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user