Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit fd1a263

Browse files
authoredNov 25, 2023
Rollup merge of rust-lang#117651 - Zalathar:fold-sums, r=cjgillot
coverage: Simplify building coverage expressions based on sums This is a combination of some interlinked changes to the code that creates coverage counters/expressions for nodes and edges in the coverage graph: - Some preparatory cleanups in `MakeBcbCounters::make_branch_counters` - Use `BcbCounter` (instead of `CovTerm`) when building coverage expressions - This makes it easier to introduce a fold for building sums - Simplify the creation of coverage expressions based on sums, by having `Iterator::fold` do much of the work - Get rid of the awkward `BcbBranch` enum, and replace it with graph edges represented as `(from_bcb, to_bcb)` - This further simplifies the body of the fold
2 parents ec1393f + 3163bc8 commit fd1a263

File tree

8 files changed

+270
-305
lines changed

8 files changed

+270
-305
lines changed
 

‎compiler/rustc_mir_transform/src/coverage/counters.rs

Lines changed: 143 additions & 166 deletions
Large diffs are not rendered by default.

‎compiler/rustc_mir_transform/src/coverage/graph.rs

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ impl CoverageGraph {
6262
Self { bcbs, bb_to_bcb, successors, predecessors, dominators: None };
6363
let dominators = dominators::dominators(&basic_coverage_blocks);
6464
basic_coverage_blocks.dominators = Some(dominators);
65+
66+
// The coverage graph's entry-point node (bcb0) always starts with bb0,
67+
// which never has predecessors. Any other blocks merged into bcb0 can't
68+
// have multiple (coverage-relevant) predecessors, so bcb0 always has
69+
// zero in-edges.
70+
assert!(basic_coverage_blocks[START_BCB].leader_bb() == mir::START_BLOCK);
71+
assert!(basic_coverage_blocks.predecessors[START_BCB].is_empty());
72+
6573
basic_coverage_blocks
6674
}
6775

@@ -199,6 +207,25 @@ impl CoverageGraph {
199207
pub fn cmp_in_dominator_order(&self, a: BasicCoverageBlock, b: BasicCoverageBlock) -> Ordering {
200208
self.dominators.as_ref().unwrap().cmp_in_dominator_order(a, b)
201209
}
210+
211+
/// Returns true if the given node has 2 or more in-edges, i.e. 2 or more
212+
/// predecessors.
213+
///
214+
/// This property is interesting to code that assigns counters to nodes and
215+
/// edges, because if a node _doesn't_ have multiple in-edges, then there's
216+
/// no benefit in having a separate counter for its in-edge, because it
217+
/// would have the same value as the node's own counter.
218+
///
219+
/// FIXME: That assumption might not be true for [`TerminatorKind::Yield`]?
220+
#[inline(always)]
221+
pub(super) fn bcb_has_multiple_in_edges(&self, bcb: BasicCoverageBlock) -> bool {
222+
// Even though bcb0 conceptually has an extra virtual in-edge due to
223+
// being the entry point, we've already asserted that it has no _other_
224+
// in-edges, so there's no possibility of it having _multiple_ in-edges.
225+
// (And since its virtual in-edge doesn't exist in the graph, that edge
226+
// can't have a separate counter anyway.)
227+
self.predecessors[bcb].len() > 1
228+
}
202229
}
203230

204231
impl Index<BasicCoverageBlock> for CoverageGraph {
@@ -319,45 +346,6 @@ impl BasicCoverageBlockData {
319346
}
320347
}
321348

322-
/// Represents a successor from a branching BasicCoverageBlock (such as the arms of a `SwitchInt`)
323-
/// as either the successor BCB itself, if it has only one incoming edge, or the successor _plus_
324-
/// the specific branching BCB, representing the edge between the two. The latter case
325-
/// distinguishes this incoming edge from other incoming edges to the same `target_bcb`.
326-
#[derive(Clone, Copy, PartialEq, Eq)]
327-
pub(super) struct BcbBranch {
328-
pub edge_from_bcb: Option<BasicCoverageBlock>,
329-
pub target_bcb: BasicCoverageBlock,
330-
}
331-
332-
impl BcbBranch {
333-
pub fn from_to(
334-
from_bcb: BasicCoverageBlock,
335-
to_bcb: BasicCoverageBlock,
336-
basic_coverage_blocks: &CoverageGraph,
337-
) -> Self {
338-
let edge_from_bcb = if basic_coverage_blocks.predecessors[to_bcb].len() > 1 {
339-
Some(from_bcb)
340-
} else {
341-
None
342-
};
343-
Self { edge_from_bcb, target_bcb: to_bcb }
344-
}
345-
346-
pub fn is_only_path_to_target(&self) -> bool {
347-
self.edge_from_bcb.is_none()
348-
}
349-
}
350-
351-
impl std::fmt::Debug for BcbBranch {
352-
fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
353-
if let Some(from_bcb) = self.edge_from_bcb {
354-
write!(fmt, "{:?}->{:?}", from_bcb, self.target_bcb)
355-
} else {
356-
write!(fmt, "{:?}", self.target_bcb)
357-
}
358-
}
359-
}
360-
361349
// Returns the subset of a block's successors that are relevant to the coverage
362350
// graph, i.e. those that do not represent unwinds or unreachable branches.
363351
// FIXME(#78544): MIR InstrumentCoverage: Improve coverage of `#[should_panic]` tests and

‎tests/coverage/async.cov-map

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,12 @@ Number of file 0 mappings: 1
197197
- Code(Counter(0)) at (prev + 38, 1) to (start + 0, 19)
198198

199199
Function name: async::i::{closure#0}
200-
Raw bytes (78): 0x[01, 01, 02, 19, 07, 1d, 21, 0e, 01, 26, 13, 04, 0c, 0d, 05, 09, 00, 0a, 01, 00, 0e, 00, 12, 05, 00, 13, 00, 18, 09, 00, 1c, 00, 21, 0d, 00, 27, 00, 2a, 15, 00, 2b, 00, 30, 1d, 01, 09, 00, 0a, 11, 00, 0e, 00, 11, 25, 00, 12, 00, 17, 29, 00, 1b, 00, 20, 1d, 00, 24, 00, 26, 21, 01, 0e, 00, 10, 03, 02, 01, 00, 02]
200+
Raw bytes (78): 0x[01, 01, 02, 07, 21, 19, 1d, 0e, 01, 26, 13, 04, 0c, 0d, 05, 09, 00, 0a, 01, 00, 0e, 00, 12, 05, 00, 13, 00, 18, 09, 00, 1c, 00, 21, 0d, 00, 27, 00, 2a, 15, 00, 2b, 00, 30, 1d, 01, 09, 00, 0a, 11, 00, 0e, 00, 11, 25, 00, 12, 00, 17, 29, 00, 1b, 00, 20, 1d, 00, 24, 00, 26, 21, 01, 0e, 00, 10, 03, 02, 01, 00, 02]
201201
Number of files: 1
202202
- file 0 => global file 1
203203
Number of expressions: 2
204-
- expression 0 operands: lhs = Counter(6), rhs = Expression(1, Add)
205-
- expression 1 operands: lhs = Counter(7), rhs = Counter(8)
204+
- expression 0 operands: lhs = Expression(1, Add), rhs = Counter(8)
205+
- expression 1 operands: lhs = Counter(6), rhs = Counter(7)
206206
Number of file 0 mappings: 14
207207
- Code(Counter(0)) at (prev + 38, 19) to (start + 4, 12)
208208
- Code(Counter(3)) at (prev + 5, 9) to (start + 0, 10)
@@ -218,15 +218,15 @@ Number of file 0 mappings: 14
218218
- Code(Counter(7)) at (prev + 0, 36) to (start + 0, 38)
219219
- Code(Counter(8)) at (prev + 1, 14) to (start + 0, 16)
220220
- Code(Expression(0, Add)) at (prev + 2, 1) to (start + 0, 2)
221-
= (c6 + (c7 + c8))
221+
= ((c6 + c7) + c8)
222222

223223
Function name: async::j
224-
Raw bytes (53): 0x[01, 01, 02, 05, 07, 09, 0d, 09, 01, 31, 01, 13, 0c, 05, 14, 09, 00, 0a, 01, 00, 0e, 00, 1b, 05, 00, 1f, 00, 27, 09, 01, 09, 00, 0a, 11, 00, 0e, 00, 1a, 09, 00, 1e, 00, 20, 0d, 01, 0e, 00, 10, 03, 02, 01, 00, 02]
224+
Raw bytes (53): 0x[01, 01, 02, 07, 0d, 05, 09, 09, 01, 31, 01, 13, 0c, 05, 14, 09, 00, 0a, 01, 00, 0e, 00, 1b, 05, 00, 1f, 00, 27, 09, 01, 09, 00, 0a, 11, 00, 0e, 00, 1a, 09, 00, 1e, 00, 20, 0d, 01, 0e, 00, 10, 03, 02, 01, 00, 02]
225225
Number of files: 1
226226
- file 0 => global file 1
227227
Number of expressions: 2
228-
- expression 0 operands: lhs = Counter(1), rhs = Expression(1, Add)
229-
- expression 1 operands: lhs = Counter(2), rhs = Counter(3)
228+
- expression 0 operands: lhs = Expression(1, Add), rhs = Counter(3)
229+
- expression 1 operands: lhs = Counter(1), rhs = Counter(2)
230230
Number of file 0 mappings: 9
231231
- Code(Counter(0)) at (prev + 49, 1) to (start + 19, 12)
232232
- Code(Counter(1)) at (prev + 20, 9) to (start + 0, 10)
@@ -237,7 +237,7 @@ Number of file 0 mappings: 9
237237
- Code(Counter(2)) at (prev + 0, 30) to (start + 0, 32)
238238
- Code(Counter(3)) at (prev + 1, 14) to (start + 0, 16)
239239
- Code(Expression(0, Add)) at (prev + 2, 1) to (start + 0, 2)
240-
= (c1 + (c2 + c3))
240+
= ((c1 + c2) + c3)
241241

242242
Function name: async::j::c
243243
Raw bytes (28): 0x[01, 01, 02, 01, 05, 05, 02, 04, 01, 33, 05, 01, 12, 05, 02, 0d, 00, 0e, 02, 0a, 0d, 00, 0e, 07, 02, 05, 00, 06]
@@ -283,22 +283,22 @@ Number of file 0 mappings: 5
283283
- Code(Zero) at (prev + 2, 1) to (start + 0, 2)
284284

285285
Function name: async::l
286-
Raw bytes (37): 0x[01, 01, 04, 01, 07, 09, 05, 09, 0f, 05, 02, 05, 01, 53, 01, 01, 0c, 02, 02, 0e, 00, 10, 05, 01, 0e, 00, 10, 09, 01, 0e, 00, 10, 0b, 02, 01, 00, 02]
286+
Raw bytes (37): 0x[01, 01, 04, 01, 07, 05, 09, 0f, 02, 09, 05, 05, 01, 53, 01, 01, 0c, 02, 02, 0e, 00, 10, 05, 01, 0e, 00, 10, 09, 01, 0e, 00, 10, 0b, 02, 01, 00, 02]
287287
Number of files: 1
288288
- file 0 => global file 1
289289
Number of expressions: 4
290290
- expression 0 operands: lhs = Counter(0), rhs = Expression(1, Add)
291-
- expression 1 operands: lhs = Counter(2), rhs = Counter(1)
292-
- expression 2 operands: lhs = Counter(2), rhs = Expression(3, Add)
293-
- expression 3 operands: lhs = Counter(1), rhs = Expression(0, Sub)
291+
- expression 1 operands: lhs = Counter(1), rhs = Counter(2)
292+
- expression 2 operands: lhs = Expression(3, Add), rhs = Expression(0, Sub)
293+
- expression 3 operands: lhs = Counter(2), rhs = Counter(1)
294294
Number of file 0 mappings: 5
295295
- Code(Counter(0)) at (prev + 83, 1) to (start + 1, 12)
296296
- Code(Expression(0, Sub)) at (prev + 2, 14) to (start + 0, 16)
297-
= (c0 - (c2 + c1))
297+
= (c0 - (c1 + c2))
298298
- Code(Counter(1)) at (prev + 1, 14) to (start + 0, 16)
299299
- Code(Counter(2)) at (prev + 1, 14) to (start + 0, 16)
300300
- Code(Expression(2, Add)) at (prev + 2, 1) to (start + 0, 2)
301-
= (c2 + (c1 + (c0 - (c2 + c1))))
301+
= ((c2 + c1) + (c0 - (c1 + c2)))
302302

303303
Function name: async::m
304304
Raw bytes (9): 0x[01, 01, 00, 01, 01, 5b, 01, 00, 19]

‎tests/coverage/conditions.cov-map

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Function name: conditions::main
2-
Raw bytes (784): 0x[01, 01, 8e, 01, 09, 33, 37, 41, 3b, 3d, 35, 39, 05, 00, b7, 04, 09, 05, 00, 0d, 35, 26, 39, 0d, 35, 3b, 3d, 35, 39, 37, 41, 3b, 3d, 35, 39, b2, 04, 0d, b7, 04, 09, 05, 00, 45, 00, 83, 01, 49, 45, 00, 7e, 31, 83, 01, 49, 45, 00, 7a, 4d, 7e, 31, 83, 01, 49, 45, 00, 76, 51, 7a, 4d, 7e, 31, 83, 01, 49, 45, 00, a7, 01, 55, 4d, 51, a3, 01, 59, a7, 01, 55, 4d, 51, 49, 9f, 01, a3, 01, 59, a7, 01, 55, 4d, 51, 61, 00, e3, 01, 65, 61, 00, de, 01, 2d, e3, 01, 65, 61, 00, da, 01, 69, de, 01, 2d, e3, 01, 65, 61, 00, d6, 01, 6d, da, 01, 69, de, 01, 2d, e3, 01, 65, 61, 00, 8b, 02, 71, 69, 6d, 87, 02, 75, 8b, 02, 71, 69, 6d, ff, 01, 00, 65, 83, 02, 87, 02, 75, 8b, 02, 71, 69, 6d, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 79, 00, d7, 02, 7d, 79, 00, d2, 02, 29, d7, 02, 7d, 79, 00, ce, 02, 81, 01, d2, 02, 29, d7, 02, 7d, 79, 00, ca, 02, 85, 01, ce, 02, 81, 01, d2, 02, 29, d7, 02, 7d, 79, 00, f3, 03, 89, 01, 81, 01, 85, 01, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 11, 93, 04, 97, 04, 21, 9b, 04, 1d, 15, 19, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, de, 03, 15, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, da, 03, 19, de, 03, 15, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 9b, 04, 1d, 15, 19, 97, 04, 21, 9b, 04, 1d, 15, 19, 8f, 04, 9f, 04, 11, 93, 04, 97, 04, 21, 9b, 04, 1d, 15, 19, a3, 04, ae, 04, a7, 04, ab, 04, 25, 29, 2d, 31, b2, 04, 0d, b7, 04, 09, 05, 00, 44, 01, 03, 01, 02, 0c, 05, 02, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 03, 09, 00, 0a, b7, 04, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, b2, 04, 02, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 26, 00, 1d, 00, 2a, 22, 00, 2e, 00, 3c, 37, 00, 3d, 02, 0a, 41, 02, 0a, 00, 0b, 33, 01, 09, 01, 12, ae, 04, 03, 09, 00, 0f, 03, 03, 09, 01, 0c, 45, 01, 0d, 02, 06, 00, 02, 06, 00, 07, 83, 01, 02, 08, 00, 15, 49, 00, 16, 02, 06, 7e, 02, 0f, 00, 1c, 7a, 01, 0c, 00, 19, 76, 00, 1d, 00, 2a, 72, 00, 2e, 00, 3c, a3, 01, 00, 3d, 02, 0a, 59, 02, 0a, 00, 0b, 9f, 01, 01, 09, 00, 17, 31, 02, 09, 00, 0f, 9b, 01, 03, 08, 00, 0c, 5d, 01, 0d, 01, 10, 61, 01, 11, 02, 0a, 00, 02, 0a, 00, 0b, e3, 01, 02, 0c, 00, 19, 65, 00, 1a, 02, 0a, de, 01, 03, 11, 00, 1e, da, 01, 01, 10, 00, 1d, d6, 01, 00, 21, 00, 2e, d2, 01, 00, 32, 00, 40, 87, 02, 00, 41, 02, 0e, 75, 02, 0e, 00, 0f, 83, 02, 01, 0d, 00, 1b, 2d, 02, 0d, 00, 13, 00, 02, 06, 00, 07, fb, 01, 02, 09, 01, 0c, 79, 01, 0d, 02, 06, 00, 02, 06, 00, 07, e7, 03, 02, 09, 00, 0a, d7, 02, 00, 10, 00, 1d, 7d, 00, 1e, 02, 06, d2, 02, 02, 0f, 00, 1c, ce, 02, 01, 0c, 00, 19, ca, 02, 00, 1d, 00, 2a, c6, 02, 00, 2e, 00, 3c, ef, 03, 00, 3d, 02, 0a, 8d, 01, 02, 0a, 00, 0b, eb, 03, 01, 09, 00, 17, 29, 02, 0d, 02, 0f, 8f, 04, 05, 09, 00, 0a, e7, 03, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, e2, 03, 02, 0f, 00, 1c, de, 03, 01, 0c, 00, 19, da, 03, 00, 1d, 00, 2a, d6, 03, 00, 2e, 00, 3c, 97, 04, 00, 3d, 02, 0a, 21, 02, 0a, 00, 0b, 93, 04, 01, 09, 00, 17, 25, 02, 09, 00, 0f, 8b, 04, 02, 01, 00, 02]
2+
Raw bytes (784): 0x[01, 01, 8e, 01, 09, 33, 37, 41, 3b, 3d, 35, 39, 05, 00, b7, 04, 09, 05, 00, 0d, 35, 26, 39, 0d, 35, 3b, 3d, 35, 39, 37, 41, 3b, 3d, 35, 39, b2, 04, 0d, b7, 04, 09, 05, 00, 45, 00, 83, 01, 49, 45, 00, 7e, 31, 83, 01, 49, 45, 00, 7a, 4d, 7e, 31, 83, 01, 49, 45, 00, 76, 51, 7a, 4d, 7e, 31, 83, 01, 49, 45, 00, a7, 01, 55, 4d, 51, a3, 01, 59, a7, 01, 55, 4d, 51, 49, 9f, 01, a3, 01, 59, a7, 01, 55, 4d, 51, 61, 00, e3, 01, 65, 61, 00, de, 01, 2d, e3, 01, 65, 61, 00, da, 01, 69, de, 01, 2d, e3, 01, 65, 61, 00, d6, 01, 6d, da, 01, 69, de, 01, 2d, e3, 01, 65, 61, 00, 8b, 02, 71, 69, 6d, 87, 02, 75, 8b, 02, 71, 69, 6d, ff, 01, 00, 65, 83, 02, 87, 02, 75, 8b, 02, 71, 69, 6d, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 79, 00, d7, 02, 7d, 79, 00, d2, 02, 29, d7, 02, 7d, 79, 00, ce, 02, 81, 01, d2, 02, 29, d7, 02, 7d, 79, 00, ca, 02, 85, 01, ce, 02, 81, 01, d2, 02, 29, d7, 02, 7d, 79, 00, f3, 03, 89, 01, 81, 01, 85, 01, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 11, 93, 04, 97, 04, 21, 9b, 04, 1d, 15, 19, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, de, 03, 15, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, da, 03, 19, de, 03, 15, e2, 03, 25, e7, 03, 11, 7d, eb, 03, ef, 03, 8d, 01, f3, 03, 89, 01, 81, 01, 85, 01, 9b, 04, 1d, 15, 19, 97, 04, 21, 9b, 04, 1d, 15, 19, 8f, 04, 9f, 04, 11, 93, 04, 97, 04, 21, 9b, 04, 1d, 15, 19, a3, 04, ae, 04, a7, 04, 31, ab, 04, 2d, 25, 29, b2, 04, 0d, b7, 04, 09, 05, 00, 44, 01, 03, 01, 02, 0c, 05, 02, 0d, 02, 06, 00, 02, 06, 00, 07, 03, 03, 09, 00, 0a, b7, 04, 00, 10, 00, 1d, 09, 01, 09, 01, 0a, b2, 04, 02, 0f, 00, 1c, 0d, 01, 0c, 00, 19, 26, 00, 1d, 00, 2a, 22, 00, 2e, 00, 3c, 37, 00, 3d, 02, 0a, 41, 02, 0a, 00, 0b, 33, 01, 09, 01, 12, ae, 04, 03, 09, 00, 0f, 03, 03, 09, 01, 0c, 45, 01, 0d, 02, 06, 00, 02, 06, 00, 07, 83, 01, 02, 08, 00, 15, 49, 00, 16, 02, 06, 7e, 02, 0f, 00, 1c, 7a, 01, 0c, 00, 19, 76, 00, 1d, 00, 2a, 72, 00, 2e, 00, 3c, a3, 01, 00, 3d, 02, 0a, 59, 02, 0a, 00, 0b, 9f, 01, 01, 09, 00, 17, 31, 02, 09, 00, 0f, 9b, 01, 03, 08, 00, 0c, 5d, 01, 0d, 01, 10, 61, 01, 11, 02, 0a, 00, 02, 0a, 00, 0b, e3, 01, 02, 0c, 00, 19, 65, 00, 1a, 02, 0a, de, 01, 03, 11, 00, 1e, da, 01, 01, 10, 00, 1d, d6, 01, 00, 21, 00, 2e, d2, 01, 00, 32, 00, 40, 87, 02, 00, 41, 02, 0e, 75, 02, 0e, 00, 0f, 83, 02, 01, 0d, 00, 1b, 2d, 02, 0d, 00, 13, 00, 02, 06, 00, 07, fb, 01, 02, 09, 01, 0c, 79, 01, 0d, 02, 06, 00, 02, 06, 00, 07, e7, 03, 02, 09, 00, 0a, d7, 02, 00, 10, 00, 1d, 7d, 00, 1e, 02, 06, d2, 02, 02, 0f, 00, 1c, ce, 02, 01, 0c, 00, 19, ca, 02, 00, 1d, 00, 2a, c6, 02, 00, 2e, 00, 3c, ef, 03, 00, 3d, 02, 0a, 8d, 01, 02, 0a, 00, 0b, eb, 03, 01, 09, 00, 17, 29, 02, 0d, 02, 0f, 8f, 04, 05, 09, 00, 0a, e7, 03, 00, 10, 00, 1d, 11, 00, 1e, 02, 06, e2, 03, 02, 0f, 00, 1c, de, 03, 01, 0c, 00, 19, da, 03, 00, 1d, 00, 2a, d6, 03, 00, 2e, 00, 3c, 97, 04, 00, 3d, 02, 0a, 21, 02, 0a, 00, 0b, 93, 04, 01, 09, 00, 17, 25, 02, 09, 00, 0f, 8b, 04, 02, 01, 00, 02]
33
Number of files: 1
44
- file 0 => global file 1
55
Number of expressions: 142
@@ -139,9 +139,9 @@ Number of expressions: 142
139139
- expression 133 operands: lhs = Expression(134, Add), rhs = Counter(7)
140140
- expression 134 operands: lhs = Counter(5), rhs = Counter(6)
141141
- expression 135 operands: lhs = Expression(136, Add), rhs = Expression(139, Sub)
142-
- expression 136 operands: lhs = Expression(137, Add), rhs = Expression(138, Add)
143-
- expression 137 operands: lhs = Counter(9), rhs = Counter(10)
144-
- expression 138 operands: lhs = Counter(11), rhs = Counter(12)
142+
- expression 136 operands: lhs = Expression(137, Add), rhs = Counter(12)
143+
- expression 137 operands: lhs = Expression(138, Add), rhs = Counter(11)
144+
- expression 138 operands: lhs = Counter(9), rhs = Counter(10)
145145
- expression 139 operands: lhs = Expression(140, Sub), rhs = Counter(3)
146146
- expression 140 operands: lhs = Expression(141, Add), rhs = Counter(2)
147147
- expression 141 operands: lhs = Counter(1), rhs = Zero
@@ -255,5 +255,5 @@ Number of file 0 mappings: 68
255255
= (((c5 + c6) + c7) + c8)
256256
- Code(Counter(9)) at (prev + 2, 9) to (start + 0, 15)
257257
- Code(Expression(130, Add)) at (prev + 2, 1) to (start + 0, 2)
258-
= ((c4 + (((c5 + c6) + c7) + c8)) + (((c9 + c10) + (c11 + c12)) + (((c1 + Zero) - c2) - c3)))
258+
= ((c4 + (((c5 + c6) + c7) + c8)) + ((((c9 + c10) + c11) + c12) + (((c1 + Zero) - c2) - c3)))
259259

‎tests/coverage/continue.cov-map

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
Function name: continue::main
2-
Raw bytes (210): 0x[01, 01, 1c, 01, 07, 05, 09, 03, 0d, 0d, 1f, 11, 15, 1b, 19, 0d, 1f, 11, 15, 19, 33, 1d, 21, 2f, 25, 19, 33, 1d, 21, 25, 47, 29, 2d, 43, 31, 25, 47, 29, 2d, 31, 5f, 35, 39, 57, 3d, 31, 5f, 35, 39, 35, 39, 3d, 41, 6b, 45, 3d, 41, 49, 45, 1e, 01, 03, 01, 03, 12, 03, 04, 0e, 00, 13, 0a, 01, 0f, 00, 16, 05, 02, 11, 00, 19, 09, 02, 12, 04, 0e, 1b, 06, 0e, 00, 13, 16, 01, 0f, 00, 16, 15, 01, 16, 02, 0e, 11, 04, 11, 00, 19, 15, 03, 09, 00, 0e, 2f, 02, 0e, 00, 13, 2a, 01, 0f, 00, 16, 1d, 01, 15, 02, 0e, 21, 04, 11, 00, 19, 1d, 03, 09, 00, 0e, 43, 02, 0e, 00, 13, 3e, 01, 0c, 00, 13, 29, 01, 0d, 00, 15, 2d, 01, 0a, 01, 0e, 57, 03, 0e, 00, 13, 52, 01, 0f, 00, 16, 39, 01, 16, 02, 0e, 35, 03, 12, 02, 0e, 5f, 04, 09, 00, 0e, 6b, 02, 0e, 00, 13, 66, 01, 0f, 00, 16, 41, 01, 16, 02, 0e, 49, 04, 11, 00, 16, 41, 03, 09, 00, 0e, 6f, 02, 0d, 01, 02]
2+
Raw bytes (210): 0x[01, 01, 1c, 07, 09, 01, 05, 03, 0d, 1f, 15, 0d, 11, 1b, 19, 1f, 15, 0d, 11, 33, 21, 19, 1d, 2f, 25, 33, 21, 19, 1d, 47, 2d, 25, 29, 43, 31, 47, 2d, 25, 29, 31, 5f, 35, 39, 57, 3d, 31, 5f, 35, 39, 35, 39, 3d, 41, 6b, 45, 3d, 41, 49, 45, 1e, 01, 03, 01, 03, 12, 03, 04, 0e, 00, 13, 0a, 01, 0f, 00, 16, 05, 02, 11, 00, 19, 09, 02, 12, 04, 0e, 1b, 06, 0e, 00, 13, 16, 01, 0f, 00, 16, 15, 01, 16, 02, 0e, 11, 04, 11, 00, 19, 15, 03, 09, 00, 0e, 2f, 02, 0e, 00, 13, 2a, 01, 0f, 00, 16, 1d, 01, 15, 02, 0e, 21, 04, 11, 00, 19, 1d, 03, 09, 00, 0e, 43, 02, 0e, 00, 13, 3e, 01, 0c, 00, 13, 29, 01, 0d, 00, 15, 2d, 01, 0a, 01, 0e, 57, 03, 0e, 00, 13, 52, 01, 0f, 00, 16, 39, 01, 16, 02, 0e, 35, 03, 12, 02, 0e, 5f, 04, 09, 00, 0e, 6b, 02, 0e, 00, 13, 66, 01, 0f, 00, 16, 41, 01, 16, 02, 0e, 49, 04, 11, 00, 16, 41, 03, 09, 00, 0e, 6f, 02, 0d, 01, 02]
33
Number of files: 1
44
- file 0 => global file 1
55
Number of expressions: 28
6-
- expression 0 operands: lhs = Counter(0), rhs = Expression(1, Add)
7-
- expression 1 operands: lhs = Counter(1), rhs = Counter(2)
6+
- expression 0 operands: lhs = Expression(1, Add), rhs = Counter(2)
7+
- expression 1 operands: lhs = Counter(0), rhs = Counter(1)
88
- expression 2 operands: lhs = Expression(0, Add), rhs = Counter(3)
9-
- expression 3 operands: lhs = Counter(3), rhs = Expression(7, Add)
10-
- expression 4 operands: lhs = Counter(4), rhs = Counter(5)
9+
- expression 3 operands: lhs = Expression(7, Add), rhs = Counter(5)
10+
- expression 4 operands: lhs = Counter(3), rhs = Counter(4)
1111
- expression 5 operands: lhs = Expression(6, Add), rhs = Counter(6)
12-
- expression 6 operands: lhs = Counter(3), rhs = Expression(7, Add)
13-
- expression 7 operands: lhs = Counter(4), rhs = Counter(5)
14-
- expression 8 operands: lhs = Counter(6), rhs = Expression(12, Add)
15-
- expression 9 operands: lhs = Counter(7), rhs = Counter(8)
12+
- expression 6 operands: lhs = Expression(7, Add), rhs = Counter(5)
13+
- expression 7 operands: lhs = Counter(3), rhs = Counter(4)
14+
- expression 8 operands: lhs = Expression(12, Add), rhs = Counter(8)
15+
- expression 9 operands: lhs = Counter(6), rhs = Counter(7)
1616
- expression 10 operands: lhs = Expression(11, Add), rhs = Counter(9)
17-
- expression 11 operands: lhs = Counter(6), rhs = Expression(12, Add)
18-
- expression 12 operands: lhs = Counter(7), rhs = Counter(8)
19-
- expression 13 operands: lhs = Counter(9), rhs = Expression(17, Add)
20-
- expression 14 operands: lhs = Counter(10), rhs = Counter(11)
17+
- expression 11 operands: lhs = Expression(12, Add), rhs = Counter(8)
18+
- expression 12 operands: lhs = Counter(6), rhs = Counter(7)
19+
- expression 13 operands: lhs = Expression(17, Add), rhs = Counter(11)
20+
- expression 14 operands: lhs = Counter(9), rhs = Counter(10)
2121
- expression 15 operands: lhs = Expression(16, Add), rhs = Counter(12)
22-
- expression 16 operands: lhs = Counter(9), rhs = Expression(17, Add)
23-
- expression 17 operands: lhs = Counter(10), rhs = Counter(11)
22+
- expression 16 operands: lhs = Expression(17, Add), rhs = Counter(11)
23+
- expression 17 operands: lhs = Counter(9), rhs = Counter(10)
2424
- expression 18 operands: lhs = Counter(12), rhs = Expression(23, Add)
2525
- expression 19 operands: lhs = Counter(13), rhs = Counter(14)
2626
- expression 20 operands: lhs = Expression(21, Add), rhs = Counter(15)
@@ -34,29 +34,29 @@ Number of expressions: 28
3434
Number of file 0 mappings: 30
3535
- Code(Counter(0)) at (prev + 3, 1) to (start + 3, 18)
3636
- Code(Expression(0, Add)) at (prev + 4, 14) to (start + 0, 19)
37-
= (c0 + (c1 + c2))
37+
= ((c0 + c1) + c2)
3838
- Code(Expression(2, Sub)) at (prev + 1, 15) to (start + 0, 22)
39-
= ((c0 + (c1 + c2)) - c3)
39+
= (((c0 + c1) + c2) - c3)
4040
- Code(Counter(1)) at (prev + 2, 17) to (start + 0, 25)
4141
- Code(Counter(2)) at (prev + 2, 18) to (start + 4, 14)
4242
- Code(Expression(6, Add)) at (prev + 6, 14) to (start + 0, 19)
43-
= (c3 + (c4 + c5))
43+
= ((c3 + c4) + c5)
4444
- Code(Expression(5, Sub)) at (prev + 1, 15) to (start + 0, 22)
45-
= ((c3 + (c4 + c5)) - c6)
45+
= (((c3 + c4) + c5) - c6)
4646
- Code(Counter(5)) at (prev + 1, 22) to (start + 2, 14)
4747
- Code(Counter(4)) at (prev + 4, 17) to (start + 0, 25)
4848
- Code(Counter(5)) at (prev + 3, 9) to (start + 0, 14)
4949
- Code(Expression(11, Add)) at (prev + 2, 14) to (start + 0, 19)
50-
= (c6 + (c7 + c8))
50+
= ((c6 + c7) + c8)
5151
- Code(Expression(10, Sub)) at (prev + 1, 15) to (start + 0, 22)
52-
= ((c6 + (c7 + c8)) - c9)
52+
= (((c6 + c7) + c8) - c9)
5353
- Code(Counter(7)) at (prev + 1, 21) to (start + 2, 14)
5454
- Code(Counter(8)) at (prev + 4, 17) to (start + 0, 25)
5555
- Code(Counter(7)) at (prev + 3, 9) to (start + 0, 14)
5656
- Code(Expression(16, Add)) at (prev + 2, 14) to (start + 0, 19)
57-
= (c9 + (c10 + c11))
57+
= ((c9 + c10) + c11)
5858
- Code(Expression(15, Sub)) at (prev + 1, 12) to (start + 0, 19)
59-
= ((c9 + (c10 + c11)) - c12)
59+
= (((c9 + c10) + c11) - c12)
6060
- Code(Counter(10)) at (prev + 1, 13) to (start + 0, 21)
6161
- Code(Counter(11)) at (prev + 1, 10) to (start + 1, 14)
6262
- Code(Expression(21, Add)) at (prev + 3, 14) to (start + 0, 19)

‎tests/coverage/coroutine.cov-map

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ Number of file 0 mappings: 4
1414
= (c1 + (c0 - c1))
1515

1616
Function name: coroutine::main
17-
Raw bytes (65): 0x[01, 01, 08, 05, 07, 09, 0d, 11, 15, 1e, 19, 11, 15, 15, 19, 1e, 19, 11, 15, 09, 01, 0f, 01, 02, 16, 01, 07, 0b, 00, 2e, 11, 01, 2b, 00, 2d, 03, 01, 0e, 00, 35, 11, 02, 0b, 00, 2e, 1e, 01, 22, 00, 27, 1a, 00, 2c, 00, 2e, 17, 01, 0e, 00, 35, 1a, 02, 01, 00, 02]
17+
Raw bytes (65): 0x[01, 01, 08, 07, 0d, 05, 09, 11, 15, 1e, 19, 11, 15, 15, 19, 1e, 19, 11, 15, 09, 01, 0f, 01, 02, 16, 01, 07, 0b, 00, 2e, 11, 01, 2b, 00, 2d, 03, 01, 0e, 00, 35, 11, 02, 0b, 00, 2e, 1e, 01, 22, 00, 27, 1a, 00, 2c, 00, 2e, 17, 01, 0e, 00, 35, 1a, 02, 01, 00, 02]
1818
Number of files: 1
1919
- file 0 => global file 1
2020
Number of expressions: 8
21-
- expression 0 operands: lhs = Counter(1), rhs = Expression(1, Add)
22-
- expression 1 operands: lhs = Counter(2), rhs = Counter(3)
21+
- expression 0 operands: lhs = Expression(1, Add), rhs = Counter(3)
22+
- expression 1 operands: lhs = Counter(1), rhs = Counter(2)
2323
- expression 2 operands: lhs = Counter(4), rhs = Counter(5)
2424
- expression 3 operands: lhs = Expression(7, Sub), rhs = Counter(6)
2525
- expression 4 operands: lhs = Counter(4), rhs = Counter(5)
@@ -31,7 +31,7 @@ Number of file 0 mappings: 9
3131
- Code(Counter(0)) at (prev + 7, 11) to (start + 0, 46)
3232
- Code(Counter(4)) at (prev + 1, 43) to (start + 0, 45)
3333
- Code(Expression(0, Add)) at (prev + 1, 14) to (start + 0, 53)
34-
= (c1 + (c2 + c3))
34+
= ((c1 + c2) + c3)
3535
- Code(Counter(4)) at (prev + 2, 11) to (start + 0, 46)
3636
- Code(Expression(7, Sub)) at (prev + 1, 34) to (start + 0, 39)
3737
= (c4 - c5)

‎tests/coverage/loops_branches.cov-map

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Function name: <loops_branches::DebugTest as core::fmt::Debug>::fmt
2-
Raw bytes (249): 0x[01, 01, 31, 05, 00, 00, 02, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, bf, 01, c3, 01, 0d, 00, 11, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, ab, 01, 11, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, 25, a3, 01, a6, 01, 19, ab, 01, 11, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, 14, 01, 09, 05, 01, 10, 05, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 02, 01, 0e, 00, 0f, 07, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, b6, 01, 03, 0d, 00, 0e, bb, 01, 00, 12, 00, 17, b6, 01, 01, 10, 00, 14, b2, 01, 01, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, ae, 01, 01, 12, 00, 13, ab, 01, 01, 11, 00, 22, a6, 01, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, 9f, 01, 01, 05, 00, 06]
2+
Raw bytes (249): 0x[01, 01, 31, 05, 00, 00, 02, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, bf, 01, c3, 01, 0d, 00, 11, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, ab, 01, 11, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, a3, 01, 19, 25, a6, 01, ab, 01, 11, 00, ae, 01, b2, 01, 00, b6, 01, 00, bb, 01, 19, bf, 01, c3, 01, 0d, 00, 11, 00, 14, 01, 09, 05, 01, 10, 05, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 02, 01, 0e, 00, 0f, 07, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, 00, 01, 10, 01, 0a, b6, 01, 03, 0d, 00, 0e, bb, 01, 00, 12, 00, 17, b6, 01, 01, 10, 00, 14, b2, 01, 01, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, ae, 01, 01, 12, 00, 13, ab, 01, 01, 11, 00, 22, a6, 01, 00, 22, 00, 23, 00, 01, 14, 01, 0e, 19, 03, 09, 00, 0f, 9f, 01, 01, 05, 00, 06]
33
Number of files: 1
44
- file 0 => global file 1
55
Number of expressions: 49
@@ -42,8 +42,8 @@ Number of expressions: 49
4242
- expression 36 operands: lhs = Expression(47, Add), rhs = Expression(48, Add)
4343
- expression 37 operands: lhs = Counter(3), rhs = Zero
4444
- expression 38 operands: lhs = Counter(4), rhs = Zero
45-
- expression 39 operands: lhs = Counter(9), rhs = Expression(40, Add)
46-
- expression 40 operands: lhs = Expression(41, Sub), rhs = Counter(6)
45+
- expression 39 operands: lhs = Expression(40, Add), rhs = Counter(6)
46+
- expression 40 operands: lhs = Counter(9), rhs = Expression(41, Sub)
4747
- expression 41 operands: lhs = Expression(42, Add), rhs = Counter(4)
4848
- expression 42 operands: lhs = Zero, rhs = Expression(43, Sub)
4949
- expression 43 operands: lhs = Expression(44, Sub), rhs = Zero
@@ -82,64 +82,64 @@ Number of file 0 mappings: 20
8282
- Code(Zero) at (prev + 1, 20) to (start + 1, 14)
8383
- Code(Counter(6)) at (prev + 3, 9) to (start + 0, 15)
8484
- Code(Expression(39, Add)) at (prev + 1, 5) to (start + 0, 6)
85-
= (c9 + (((Zero + (((((c3 + Zero) + (c4 + Zero)) - c6) - Zero) - Zero)) - c4) + c6))
85+
= ((c9 + ((Zero + (((((c3 + Zero) + (c4 + Zero)) - c6) - Zero) - Zero)) - c4)) + c6)
8686

8787
Function name: <loops_branches::DisplayTest as core::fmt::Display>::fmt
88-
Raw bytes (253): 0x[01, 01, 33, 01, 00, 02, 00, 00, 0e, 02, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, c3, 01, c7, 01, 00, 0d, 00, 15, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, ba, 01, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, b6, 01, 00, ba, 01, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, 00, b2, 01, b6, 01, 00, ba, 01, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, af, 01, 15, 00, b2, 01, b6, 01, 00, ba, 01, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, aa, 01, cb, 01, af, 01, 15, 00, b2, 01, b6, 01, 00, ba, 01, 00, bf, 01, 19, c3, 01, c7, 01, 00, 0d, 00, 15, 19, 25, 14, 01, 22, 05, 01, 11, 00, 01, 12, 01, 0a, 02, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 0e, 01, 0e, 00, 0f, 0b, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, ba, 01, 02, 0d, 00, 0e, bf, 01, 00, 12, 00, 17, ba, 01, 01, 10, 00, 15, 00, 00, 16, 01, 0e, b6, 01, 02, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, b2, 01, 01, 12, 00, 13, af, 01, 01, 11, 00, 22, aa, 01, 00, 22, 00, 23, 19, 03, 09, 00, 0f, a7, 01, 01, 05, 00, 06]
88+
Raw bytes (253): 0x[01, 01, 33, 01, 00, 02, 00, 00, 0e, 02, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, c7, 01, cb, 01, 00, 0d, 00, 15, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, be, 01, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, ba, 01, 00, be, 01, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, 00, b6, 01, ba, 01, 00, be, 01, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, b3, 01, 15, 00, b6, 01, ba, 01, 00, be, 01, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, ab, 01, 25, ae, 01, 19, b3, 01, 15, 00, b6, 01, ba, 01, 00, be, 01, 00, c3, 01, 19, c7, 01, cb, 01, 00, 0d, 00, 15, 14, 01, 22, 05, 01, 11, 00, 01, 12, 01, 0a, 02, 02, 10, 00, 15, 00, 01, 17, 00, 1b, 00, 00, 1c, 00, 1e, 0e, 01, 0e, 00, 0f, 0b, 01, 0d, 00, 1e, 25, 00, 1e, 00, 1f, be, 01, 02, 0d, 00, 0e, c3, 01, 00, 12, 00, 17, be, 01, 01, 10, 00, 15, 00, 00, 16, 01, 0e, ba, 01, 02, 14, 00, 19, 00, 01, 1b, 00, 1f, 00, 00, 20, 00, 22, b6, 01, 01, 12, 00, 13, b3, 01, 01, 11, 00, 22, ae, 01, 00, 22, 00, 23, 19, 03, 09, 00, 0f, a7, 01, 01, 05, 00, 06]
8989
Number of files: 1
9090
- file 0 => global file 1
9191
Number of expressions: 51
9292
- expression 0 operands: lhs = Counter(0), rhs = Zero
9393
- expression 1 operands: lhs = Expression(0, Sub), rhs = Zero
9494
- expression 2 operands: lhs = Zero, rhs = Expression(3, Sub)
9595
- expression 3 operands: lhs = Expression(0, Sub), rhs = Zero
96-
- expression 4 operands: lhs = Expression(47, Add), rhs = Counter(6)
97-
- expression 5 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
96+
- expression 4 operands: lhs = Expression(48, Add), rhs = Counter(6)
97+
- expression 5 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
9898
- expression 6 operands: lhs = Zero, rhs = Counter(3)
9999
- expression 7 operands: lhs = Zero, rhs = Counter(5)
100-
- expression 8 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
100+
- expression 8 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
101101
- expression 9 operands: lhs = Zero, rhs = Counter(3)
102102
- expression 10 operands: lhs = Zero, rhs = Counter(5)
103-
- expression 11 operands: lhs = Expression(47, Add), rhs = Counter(6)
104-
- expression 12 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
103+
- expression 11 operands: lhs = Expression(48, Add), rhs = Counter(6)
104+
- expression 12 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
105105
- expression 13 operands: lhs = Zero, rhs = Counter(3)
106106
- expression 14 operands: lhs = Zero, rhs = Counter(5)
107-
- expression 15 operands: lhs = Expression(46, Sub), rhs = Zero
108-
- expression 16 operands: lhs = Expression(47, Add), rhs = Counter(6)
109-
- expression 17 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
107+
- expression 15 operands: lhs = Expression(47, Sub), rhs = Zero
108+
- expression 16 operands: lhs = Expression(48, Add), rhs = Counter(6)
109+
- expression 17 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
110110
- expression 18 operands: lhs = Zero, rhs = Counter(3)
111111
- expression 19 operands: lhs = Zero, rhs = Counter(5)
112-
- expression 20 operands: lhs = Expression(45, Sub), rhs = Zero
113-
- expression 21 operands: lhs = Expression(46, Sub), rhs = Zero
114-
- expression 22 operands: lhs = Expression(47, Add), rhs = Counter(6)
115-
- expression 23 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
112+
- expression 20 operands: lhs = Expression(46, Sub), rhs = Zero
113+
- expression 21 operands: lhs = Expression(47, Sub), rhs = Zero
114+
- expression 22 operands: lhs = Expression(48, Add), rhs = Counter(6)
115+
- expression 23 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
116116
- expression 24 operands: lhs = Zero, rhs = Counter(3)
117117
- expression 25 operands: lhs = Zero, rhs = Counter(5)
118-
- expression 26 operands: lhs = Zero, rhs = Expression(44, Sub)
119-
- expression 27 operands: lhs = Expression(45, Sub), rhs = Zero
120-
- expression 28 operands: lhs = Expression(46, Sub), rhs = Zero
121-
- expression 29 operands: lhs = Expression(47, Add), rhs = Counter(6)
122-
- expression 30 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
118+
- expression 26 operands: lhs = Zero, rhs = Expression(45, Sub)
119+
- expression 27 operands: lhs = Expression(46, Sub), rhs = Zero
120+
- expression 28 operands: lhs = Expression(47, Sub), rhs = Zero
121+
- expression 29 operands: lhs = Expression(48, Add), rhs = Counter(6)
122+
- expression 30 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
123123
- expression 31 operands: lhs = Zero, rhs = Counter(3)
124124
- expression 32 operands: lhs = Zero, rhs = Counter(5)
125-
- expression 33 operands: lhs = Expression(43, Add), rhs = Counter(5)
126-
- expression 34 operands: lhs = Zero, rhs = Expression(44, Sub)
127-
- expression 35 operands: lhs = Expression(45, Sub), rhs = Zero
128-
- expression 36 operands: lhs = Expression(46, Sub), rhs = Zero
129-
- expression 37 operands: lhs = Expression(47, Add), rhs = Counter(6)
130-
- expression 38 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
125+
- expression 33 operands: lhs = Expression(44, Add), rhs = Counter(5)
126+
- expression 34 operands: lhs = Zero, rhs = Expression(45, Sub)
127+
- expression 35 operands: lhs = Expression(46, Sub), rhs = Zero
128+
- expression 36 operands: lhs = Expression(47, Sub), rhs = Zero
129+
- expression 37 operands: lhs = Expression(48, Add), rhs = Counter(6)
130+
- expression 38 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
131131
- expression 39 operands: lhs = Zero, rhs = Counter(3)
132132
- expression 40 operands: lhs = Zero, rhs = Counter(5)
133-
- expression 41 operands: lhs = Expression(42, Sub), rhs = Expression(50, Add)
134-
- expression 42 operands: lhs = Expression(43, Add), rhs = Counter(5)
135-
- expression 43 operands: lhs = Zero, rhs = Expression(44, Sub)
136-
- expression 44 operands: lhs = Expression(45, Sub), rhs = Zero
133+
- expression 41 operands: lhs = Expression(42, Add), rhs = Counter(9)
134+
- expression 42 operands: lhs = Expression(43, Sub), rhs = Counter(6)
135+
- expression 43 operands: lhs = Expression(44, Add), rhs = Counter(5)
136+
- expression 44 operands: lhs = Zero, rhs = Expression(45, Sub)
137137
- expression 45 operands: lhs = Expression(46, Sub), rhs = Zero
138-
- expression 46 operands: lhs = Expression(47, Add), rhs = Counter(6)
139-
- expression 47 operands: lhs = Expression(48, Add), rhs = Expression(49, Add)
140-
- expression 48 operands: lhs = Zero, rhs = Counter(3)
141-
- expression 49 operands: lhs = Zero, rhs = Counter(5)
142-
- expression 50 operands: lhs = Counter(6), rhs = Counter(9)
138+
- expression 46 operands: lhs = Expression(47, Sub), rhs = Zero
139+
- expression 47 operands: lhs = Expression(48, Add), rhs = Counter(6)
140+
- expression 48 operands: lhs = Expression(49, Add), rhs = Expression(50, Add)
141+
- expression 49 operands: lhs = Zero, rhs = Counter(3)
142+
- expression 50 operands: lhs = Zero, rhs = Counter(5)
143143
Number of file 0 mappings: 20
144144
- Code(Counter(0)) at (prev + 34, 5) to (start + 1, 17)
145145
- Code(Zero) at (prev + 1, 18) to (start + 1, 10)
@@ -152,26 +152,26 @@ Number of file 0 mappings: 20
152152
- Code(Expression(2, Add)) at (prev + 1, 13) to (start + 0, 30)
153153
= (Zero + ((c0 - Zero) - Zero))
154154
- Code(Counter(9)) at (prev + 0, 30) to (start + 0, 31)
155-
- Code(Expression(46, Sub)) at (prev + 2, 13) to (start + 0, 14)
155+
- Code(Expression(47, Sub)) at (prev + 2, 13) to (start + 0, 14)
156156
= (((Zero + c3) + (Zero + c5)) - c6)
157-
- Code(Expression(47, Add)) at (prev + 0, 18) to (start + 0, 23)
157+
- Code(Expression(48, Add)) at (prev + 0, 18) to (start + 0, 23)
158158
= ((Zero + c3) + (Zero + c5))
159-
- Code(Expression(46, Sub)) at (prev + 1, 16) to (start + 0, 21)
159+
- Code(Expression(47, Sub)) at (prev + 1, 16) to (start + 0, 21)
160160
= (((Zero + c3) + (Zero + c5)) - c6)
161161
- Code(Zero) at (prev + 0, 22) to (start + 1, 14)
162-
- Code(Expression(45, Sub)) at (prev + 2, 20) to (start + 0, 25)
162+
- Code(Expression(46, Sub)) at (prev + 2, 20) to (start + 0, 25)
163163
= ((((Zero + c3) + (Zero + c5)) - c6) - Zero)
164164
- Code(Zero) at (prev + 1, 27) to (start + 0, 31)
165165
- Code(Zero) at (prev + 0, 32) to (start + 0, 34)
166-
- Code(Expression(44, Sub)) at (prev + 1, 18) to (start + 0, 19)
166+
- Code(Expression(45, Sub)) at (prev + 1, 18) to (start + 0, 19)
167167
= (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero)
168-
- Code(Expression(43, Add)) at (prev + 1, 17) to (start + 0, 34)
168+
- Code(Expression(44, Add)) at (prev + 1, 17) to (start + 0, 34)
169169
= (Zero + (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero))
170-
- Code(Expression(42, Sub)) at (prev + 0, 34) to (start + 0, 35)
170+
- Code(Expression(43, Sub)) at (prev + 0, 34) to (start + 0, 35)
171171
= ((Zero + (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero)) - c5)
172172
- Code(Counter(6)) at (prev + 3, 9) to (start + 0, 15)
173173
- Code(Expression(41, Add)) at (prev + 1, 5) to (start + 0, 6)
174-
= (((Zero + (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero)) - c5) + (c6 + c9))
174+
= ((((Zero + (((((Zero + c3) + (Zero + c5)) - c6) - Zero) - Zero)) - c5) + c6) + c9)
175175

176176
Function name: loops_branches::main
177177
Raw bytes (9): 0x[01, 01, 00, 01, 01, 37, 01, 05, 02]

‎tests/coverage/try_error_result.cov-map

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ Number of file 0 mappings: 4
5959
= (c1 + (c0 - c1))
6060

6161
Function name: try_error_result::test1
62-
Raw bytes (77): 0x[01, 01, 09, 01, 07, 05, 09, 03, 0d, 1d, 11, 16, 1d, 03, 0d, 1f, 0d, 11, 23, 15, 19, 0b, 01, 0c, 01, 02, 17, 03, 07, 09, 00, 0e, 16, 02, 09, 04, 1a, 1d, 06, 0d, 00, 29, 11, 00, 29, 00, 2a, 0e, 01, 0d, 00, 2a, 15, 00, 2a, 00, 2b, 12, 04, 0d, 00, 2a, 19, 00, 2a, 00, 2b, 0d, 03, 05, 00, 0b, 1b, 01, 01, 00, 02]
62+
Raw bytes (77): 0x[01, 01, 09, 01, 07, 05, 09, 03, 0d, 1d, 11, 16, 1d, 03, 0d, 1f, 0d, 23, 19, 11, 15, 0b, 01, 0c, 01, 02, 17, 03, 07, 09, 00, 0e, 16, 02, 09, 04, 1a, 1d, 06, 0d, 00, 29, 11, 00, 29, 00, 2a, 0e, 01, 0d, 00, 2a, 15, 00, 2a, 00, 2b, 12, 04, 0d, 00, 2a, 19, 00, 2a, 00, 2b, 0d, 03, 05, 00, 0b, 1b, 01, 01, 00, 02]
6363
Number of files: 1
6464
- file 0 => global file 1
6565
Number of expressions: 9
@@ -70,8 +70,8 @@ Number of expressions: 9
7070
- expression 4 operands: lhs = Expression(5, Sub), rhs = Counter(7)
7171
- expression 5 operands: lhs = Expression(0, Add), rhs = Counter(3)
7272
- expression 6 operands: lhs = Expression(7, Add), rhs = Counter(3)
73-
- expression 7 operands: lhs = Counter(4), rhs = Expression(8, Add)
74-
- expression 8 operands: lhs = Counter(5), rhs = Counter(6)
73+
- expression 7 operands: lhs = Expression(8, Add), rhs = Counter(6)
74+
- expression 8 operands: lhs = Counter(4), rhs = Counter(5)
7575
Number of file 0 mappings: 11
7676
- Code(Counter(0)) at (prev + 12, 1) to (start + 2, 23)
7777
- Code(Expression(0, Add)) at (prev + 7, 9) to (start + 0, 14)
@@ -88,10 +88,10 @@ Number of file 0 mappings: 11
8888
- Code(Counter(6)) at (prev + 0, 42) to (start + 0, 43)
8989
- Code(Counter(3)) at (prev + 3, 5) to (start + 0, 11)
9090
- Code(Expression(6, Add)) at (prev + 1, 1) to (start + 0, 2)
91-
= ((c4 + (c5 + c6)) + c3)
91+
= (((c4 + c5) + c6) + c3)
9292

9393
Function name: try_error_result::test2
94-
Raw bytes (358): 0x[01, 01, 3b, 01, 07, 05, 09, 03, 0d, 41, 11, 4a, 15, 41, 11, 42, 1d, 46, 19, 4a, 15, 41, 11, 4a, 15, 41, 11, 46, 19, 4a, 15, 41, 11, 42, 1d, 46, 19, 4a, 15, 41, 11, 5e, 25, 49, 21, 49, 21, 5e, 25, 49, 21, 8a, 01, 2d, 8e, 01, 29, 92, 01, 41, 03, 0d, 92, 01, 41, 03, 0d, 8e, 01, 29, 92, 01, 41, 03, 0d, 8a, 01, 2d, 8e, 01, 29, 92, 01, 41, 03, 0d, a6, 01, 35, 45, 31, 45, 31, a6, 01, 35, 45, 31, ba, 01, 3d, 4d, 39, 4d, 39, ba, 01, 3d, 4d, 39, c3, 01, 0d, 11, c7, 01, cb, 01, db, 01, 15, cf, 01, d3, 01, d7, 01, 19, 1d, 21, 25, df, 01, e3, 01, 29, 2d, e7, 01, eb, 01, 31, 35, 39, 3d, 28, 01, 3c, 01, 03, 17, 03, 08, 09, 00, 0e, 92, 01, 02, 09, 04, 1a, 41, 06, 0d, 00, 2f, 11, 00, 2f, 00, 30, 4a, 00, 31, 03, 35, 15, 04, 11, 00, 12, 46, 02, 11, 04, 12, 3e, 05, 11, 00, 14, 46, 00, 17, 00, 41, 19, 00, 41, 00, 42, 42, 00, 43, 00, 5f, 1d, 00, 5f, 00, 60, 3e, 01, 0d, 00, 20, 5a, 01, 11, 00, 14, 49, 00, 17, 00, 41, 21, 00, 41, 00, 42, 5e, 00, 43, 00, 60, 25, 00, 60, 00, 61, 5a, 01, 0d, 00, 20, 86, 01, 04, 11, 00, 14, 8e, 01, 00, 17, 00, 42, 29, 00, 42, 00, 43, 8a, 01, 00, 44, 00, 61, 2d, 00, 61, 00, 62, 86, 01, 01, 0d, 00, 20, a2, 01, 01, 11, 00, 14, 45, 00, 17, 01, 36, 31, 01, 36, 00, 37, a6, 01, 01, 12, 00, 2f, 35, 00, 2f, 00, 30, a2, 01, 01, 0d, 00, 20, b6, 01, 01, 11, 00, 14, 4d, 00, 17, 01, 36, 39, 02, 11, 00, 12, ba, 01, 01, 12, 00, 2f, 3d, 01, 11, 00, 12, b6, 01, 02, 0d, 00, 20, 0d, 03, 05, 00, 0b, bf, 01, 01, 01, 00, 02]
94+
Raw bytes (358): 0x[01, 01, 3b, 01, 07, 05, 09, 03, 0d, 41, 11, 4a, 15, 41, 11, 42, 1d, 46, 19, 4a, 15, 41, 11, 4a, 15, 41, 11, 46, 19, 4a, 15, 41, 11, 42, 1d, 46, 19, 4a, 15, 41, 11, 5e, 25, 49, 21, 49, 21, 5e, 25, 49, 21, 8a, 01, 2d, 8e, 01, 29, 92, 01, 41, 03, 0d, 92, 01, 41, 03, 0d, 8e, 01, 29, 92, 01, 41, 03, 0d, 8a, 01, 2d, 8e, 01, 29, 92, 01, 41, 03, 0d, a6, 01, 35, 45, 31, 45, 31, a6, 01, 35, 45, 31, ba, 01, 3d, 4d, 39, 4d, 39, ba, 01, 3d, 4d, 39, c3, 01, 0d, c7, 01, db, 01, cb, 01, cf, 01, 11, 15, d3, 01, d7, 01, 19, 1d, 21, 25, df, 01, e3, 01, 29, 2d, e7, 01, eb, 01, 31, 35, 39, 3d, 28, 01, 3c, 01, 03, 17, 03, 08, 09, 00, 0e, 92, 01, 02, 09, 04, 1a, 41, 06, 0d, 00, 2f, 11, 00, 2f, 00, 30, 4a, 00, 31, 03, 35, 15, 04, 11, 00, 12, 46, 02, 11, 04, 12, 3e, 05, 11, 00, 14, 46, 00, 17, 00, 41, 19, 00, 41, 00, 42, 42, 00, 43, 00, 5f, 1d, 00, 5f, 00, 60, 3e, 01, 0d, 00, 20, 5a, 01, 11, 00, 14, 49, 00, 17, 00, 41, 21, 00, 41, 00, 42, 5e, 00, 43, 00, 60, 25, 00, 60, 00, 61, 5a, 01, 0d, 00, 20, 86, 01, 04, 11, 00, 14, 8e, 01, 00, 17, 00, 42, 29, 00, 42, 00, 43, 8a, 01, 00, 44, 00, 61, 2d, 00, 61, 00, 62, 86, 01, 01, 0d, 00, 20, a2, 01, 01, 11, 00, 14, 45, 00, 17, 01, 36, 31, 01, 36, 00, 37, a6, 01, 01, 12, 00, 2f, 35, 00, 2f, 00, 30, a2, 01, 01, 0d, 00, 20, b6, 01, 01, 11, 00, 14, 4d, 00, 17, 01, 36, 39, 02, 11, 00, 12, ba, 01, 01, 12, 00, 2f, 3d, 01, 11, 00, 12, b6, 01, 02, 0d, 00, 20, 0d, 03, 05, 00, 0b, bf, 01, 01, 01, 00, 02]
9595
Number of files: 1
9696
- file 0 => global file 1
9797
Number of expressions: 59
@@ -143,9 +143,9 @@ Number of expressions: 59
143143
- expression 45 operands: lhs = Expression(46, Sub), rhs = Counter(15)
144144
- expression 46 operands: lhs = Counter(19), rhs = Counter(14)
145145
- expression 47 operands: lhs = Expression(48, Add), rhs = Counter(3)
146-
- expression 48 operands: lhs = Counter(4), rhs = Expression(49, Add)
147-
- expression 49 operands: lhs = Expression(50, Add), rhs = Expression(54, Add)
148-
- expression 50 operands: lhs = Counter(5), rhs = Expression(51, Add)
146+
- expression 48 operands: lhs = Expression(49, Add), rhs = Expression(54, Add)
147+
- expression 49 operands: lhs = Expression(50, Add), rhs = Expression(51, Add)
148+
- expression 50 operands: lhs = Counter(4), rhs = Counter(5)
149149
- expression 51 operands: lhs = Expression(52, Add), rhs = Expression(53, Add)
150150
- expression 52 operands: lhs = Counter(6), rhs = Counter(7)
151151
- expression 53 operands: lhs = Counter(8), rhs = Counter(9)
@@ -216,5 +216,5 @@ Number of file 0 mappings: 40
216216
= ((c19 - c14) - c15)
217217
- Code(Counter(3)) at (prev + 3, 5) to (start + 0, 11)
218218
- Code(Expression(47, Add)) at (prev + 1, 1) to (start + 0, 2)
219-
= ((c4 + ((c5 + ((c6 + c7) + (c8 + c9))) + ((c10 + c11) + ((c12 + c13) + (c14 + c15))))) + c3)
219+
= ((((c4 + c5) + ((c6 + c7) + (c8 + c9))) + ((c10 + c11) + ((c12 + c13) + (c14 + c15)))) + c3)
220220

0 commit comments

Comments
 (0)
Please sign in to comment.