
Functions currently can't have mappings in multiple files, and if that ever changes (e.g. to properly support expansion regions), this code will need to be completely overhauled anyway.
52 lines
1.4 KiB
Diff
52 lines
1.4 KiB
Diff
- // MIR for `main` before InstrumentCoverage
|
|
+ // MIR for `main` after InstrumentCoverage
|
|
|
|
fn main() -> () {
|
|
let mut _0: ();
|
|
let mut _1: bool;
|
|
|
|
coverage branch { true: BlockMarkerId(0), false: BlockMarkerId(1) } => $DIR/instrument_coverage_cleanup.rs:14:8: 14:36 (#0)
|
|
|
|
+ coverage body span: $DIR/instrument_coverage_cleanup.rs:13:11: 15:2 (#0)
|
|
+ coverage ExpressionId(0) => Expression { lhs: Counter(0), op: Subtract, rhs: Counter(1) };
|
|
+ coverage Code(Counter(0)) => 13:1 - 14:36;
|
|
+ coverage Code(Expression(0)) => 14:37 - 14:39;
|
|
+ coverage Code(Counter(1)) => 14:39 - 14:40;
|
|
+ coverage Code(Counter(0)) => 15:1 - 15:2;
|
|
+ coverage Branch { true_term: Expression(0), false_term: Counter(1) } => 14:8 - 14:36;
|
|
+
|
|
bb0: {
|
|
+ Coverage::CounterIncrement(0);
|
|
Coverage::SpanMarker;
|
|
StorageLive(_1);
|
|
_1 = std::hint::black_box::<bool>(const true) -> [return: bb1, unwind: bb5];
|
|
}
|
|
|
|
bb1: {
|
|
switchInt(move _1) -> [0: bb3, otherwise: bb2];
|
|
}
|
|
|
|
bb2: {
|
|
+ Coverage::CounterIncrement(1);
|
|
Coverage::BlockMarker(1);
|
|
_0 = const ();
|
|
goto -> bb4;
|
|
}
|
|
|
|
bb3: {
|
|
+ Coverage::ExpressionUsed(0);
|
|
Coverage::BlockMarker(0);
|
|
_0 = const ();
|
|
goto -> bb4;
|
|
}
|
|
|
|
bb4: {
|
|
StorageDead(_1);
|
|
return;
|
|
}
|
|
|
|
bb5 (cleanup): {
|
|
resume;
|
|
}
|
|
}
|
|
|