mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-08 21:31:32 +00:00

Even though the coverage graph itself is no longer available during codegen, its nodes can still be used as opaque IDs.
55 lines
1.4 KiB
Diff
55 lines
1.4 KiB
Diff
- // MIR for `main` before InstrumentCoverage
|
|
+ // MIR for `main` after InstrumentCoverage
|
|
|
|
fn main() -> () {
|
|
let mut _0: ();
|
|
let mut _1: ();
|
|
let mut _2: bool;
|
|
let mut _3: !;
|
|
|
|
+ coverage body span: $DIR/instrument_coverage.rs:14:11: 20:2 (#0)
|
|
+ coverage ExpressionId(0) => Expression { lhs: Counter(1), op: Subtract, rhs: Counter(0) };
|
|
+ coverage Code { bcb: bcb0 } => $DIR/instrument_coverage.rs:14:1: 14:11 (#0);
|
|
+ coverage Code { bcb: bcb1 } => $DIR/instrument_coverage.rs:16:12: 16:17 (#0);
|
|
+ coverage Code { bcb: bcb2 } => $DIR/instrument_coverage.rs:17:13: 17:18 (#0);
|
|
+ coverage Code { bcb: bcb3 } => $DIR/instrument_coverage.rs:18:10: 18:10 (#0);
|
|
+ coverage Code { bcb: bcb2 } => $DIR/instrument_coverage.rs:20:2: 20:2 (#0);
|
|
+
|
|
bb0: {
|
|
+ Coverage::CounterIncrement(0);
|
|
goto -> bb1;
|
|
}
|
|
|
|
bb1: {
|
|
+ Coverage::CounterIncrement(1);
|
|
falseUnwind -> [real: bb2, unwind: bb6];
|
|
}
|
|
|
|
bb2: {
|
|
StorageLive(_2);
|
|
_2 = bar() -> [return: bb3, unwind: bb6];
|
|
}
|
|
|
|
bb3: {
|
|
switchInt(move _2) -> [0: bb5, otherwise: bb4];
|
|
}
|
|
|
|
bb4: {
|
|
_0 = const ();
|
|
StorageDead(_2);
|
|
return;
|
|
}
|
|
|
|
bb5: {
|
|
+ Coverage::ExpressionUsed(0);
|
|
_1 = const ();
|
|
StorageDead(_2);
|
|
goto -> bb1;
|
|
}
|
|
|
|
bb6 (cleanup): {
|
|
resume;
|
|
}
|
|
}
|
|
|