2024-03-24 22:00:08 +11:00
|
|
|
// Test that `-C instrument-coverage` injects Coverage statements.
|
|
|
|
|
// The Coverage::CounterIncrement statements are later converted into LLVM
|
|
|
|
|
// instrprof.increment intrinsics, during codegen.
|
2020-06-10 09:54:02 -07:00
|
|
|
|
2024-04-20 13:19:34 +02:00
|
|
|
//@ test-mir-pass: InstrumentCoverage
|
2024-03-24 22:00:08 +11:00
|
|
|
//@ compile-flags: -Cinstrument-coverage -Zno-profiler-runtime
|
2020-10-05 16:36:10 -07:00
|
|
|
|
2020-07-27 21:22:43 +02:00
|
|
|
// EMIT_MIR instrument_coverage.main.InstrumentCoverage.diff
|
2025-01-22 21:11:53 +11:00
|
|
|
// CHECK-LABEL: fn main()
|
2025-01-20 22:43:59 +11:00
|
|
|
// CHECK: coverage Code { bcb: bcb{{[0-9]+}} } =>
|
2025-01-22 21:11:53 +11:00
|
|
|
// CHECK: bb0:
|
2025-01-22 13:55:08 +11:00
|
|
|
// CHECK: Coverage::VirtualCounter
|
2020-06-10 09:54:02 -07:00
|
|
|
fn main() {
|
|
|
|
|
loop {
|
|
|
|
|
if bar() {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-01-22 21:11:53 +11:00
|
|
|
// EMIT_MIR instrument_coverage.bar.InstrumentCoverage.diff
|
|
|
|
|
// CHECK-LABEL: fn bar()
|
2025-01-20 22:43:59 +11:00
|
|
|
// CHECK: coverage Code { bcb: bcb{{[0-9]+}} } =>
|
2025-01-22 21:11:53 +11:00
|
|
|
// CHECK: bb0:
|
2025-01-22 13:55:08 +11:00
|
|
|
// CHECK: Coverage::VirtualCounter
|
2020-06-10 09:54:02 -07:00
|
|
|
#[inline(never)]
|
|
|
|
|
fn bar() -> bool {
|
|
|
|
|
true
|
|
|
|
|
}
|