diff options
| author | bors <bors@rust-lang.org> | 2024-12-10 10:25:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2024-12-10 10:25:38 +0000 |
| commit | 499605271718bceaa629f0b954502c0040e4456b (patch) | |
| tree | b51977c7b9a0fe8cf76191f4e2ef1c71917bd510 /compiler/rustc_mir_transform/src/coverage/counters.rs | |
| parent | b597d2a099a1b5b79acef05175a9ac847047f8a1 (diff) | |
| parent | 8434a6e2bbb3c4855f24e1a86de960dca26cadf9 (diff) | |
| download | rust-499605271718bceaa629f0b954502c0040e4456b.tar.gz rust-499605271718bceaa629f0b954502c0040e4456b.zip | |
Auto merge of #134108 - fmease:rollup-tbtwm6j, r=fmease
Rollup of 10 pull requests Successful merges: - #131558 (Lint on combining `#[no_mangle]` and `#[export_name]`) - #133184 (wasi/fs: Improve stopping condition for <ReadDir as Iterator>::next) - #133456 (Add licenses + Run `cargo update`) - #133472 (Run TLS destructors for wasm32-wasip1-threads) - #133853 (use vendor sources by default on dist tarballs) - #133946 (coverage: Prefer to visit nodes whose predecessors have been visited) - #134010 (fix ICE on type error in promoted) - #134029 (coverage: Use a query to find counters/expressions that must be zero) - #134071 (Configure renovatebot) - #134102 (Miscellaneous fixes for nix-dev-shell) r? `@ghost` `@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_mir_transform/src/coverage/counters.rs')
| -rw-r--r-- | compiler/rustc_mir_transform/src/coverage/counters.rs | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/compiler/rustc_mir_transform/src/coverage/counters.rs b/compiler/rustc_mir_transform/src/coverage/counters.rs index 46efdd16ee8..9e80f1f1c4a 100644 --- a/compiler/rustc_mir_transform/src/coverage/counters.rs +++ b/compiler/rustc_mir_transform/src/coverage/counters.rs @@ -9,7 +9,7 @@ use rustc_index::bit_set::BitSet; use rustc_middle::mir::coverage::{CounterId, CovTerm, Expression, ExpressionId, Op}; use tracing::{debug, debug_span, instrument}; -use crate::coverage::graph::{BasicCoverageBlock, CoverageGraph, TraverseCoverageGraphWithLoops}; +use crate::coverage::graph::{BasicCoverageBlock, CoverageGraph, ReadyFirstTraversal}; #[cfg(test)] mod tests; @@ -236,23 +236,12 @@ impl<'a> CountersBuilder<'a> { // Traverse the coverage graph, ensuring that every node that needs a // coverage counter has one. - // - // The traversal tries to ensure that, when a loop is encountered, all - // nodes within the loop are visited before visiting any nodes outside - // the loop. - let mut traversal = TraverseCoverageGraphWithLoops::new(self.graph); - while let Some(bcb) = traversal.next() { + for bcb in ReadyFirstTraversal::new(self.graph) { let _span = debug_span!("traversal", ?bcb).entered(); if self.bcb_needs_counter.contains(bcb) { self.make_node_counter_and_out_edge_counters(bcb); } } - - assert!( - traversal.is_complete(), - "`TraverseCoverageGraphWithLoops` missed some `BasicCoverageBlock`s: {:?}", - traversal.unvisited(), - ); } /// Make sure the given node has a node counter, and then make sure each of |
