Adds coverage graphviz
This commit is contained in:
parent
b5020648fe
commit
3291d28e9a
9 changed files with 657 additions and 10 deletions
|
|
@ -0,0 +1,6 @@
|
|||
digraph Cov_0_4 {
|
||||
graph [fontname="Courier, monospace"];
|
||||
node [fontname="Courier, monospace"];
|
||||
edge [fontname="Courier, monospace"];
|
||||
bcb0__Cov_0_4 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left">Counter(bcb0) at 19:5-20:2<br/> 19:5-19:9: @0[0]: _0 = const true<br/> 20:2-20:2: @0.Return: return</td></tr><tr><td align="left" balign="left">bb0: Return</td></tr></table>>];
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
digraph Cov_0_3 {
|
||||
graph [fontname="Courier, monospace"];
|
||||
node [fontname="Courier, monospace"];
|
||||
edge [fontname="Courier, monospace"];
|
||||
bcb2__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb2</td></tr><tr><td align="left" balign="left">Counter(bcb2) at 14:6-14:6<br/> 14:6-14:6: @4.Goto: goto -> bb0</td></tr><tr><td align="left" balign="left">bb4: Goto</td></tr></table>>];
|
||||
bcb1__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb1</td></tr><tr><td align="left" balign="left">Counter(bcb1) at 12:13-12:18<br/> 12:13-12:18: @5[0]: _0 = const ()<br/>Expression(bcb1 + 0) at 15:2-15:2<br/> 15:2-15:2: @5.Return: return</td></tr><tr><td align="left" balign="left">bb3: FalseEdge</td></tr><tr><td align="left" balign="left">bb5: Return</td></tr></table>>];
|
||||
bcb0__Cov_0_3 [shape="none", label=<<table border="0" cellborder="1" cellspacing="0"><tr><td bgcolor="gray" align="center" colspan="1">bcb0</td></tr><tr><td align="left" balign="left">Counter(bcb0) at 11:12-11:17<br/> 11:12-11:17: @1.Call: _2 = bar() -> [return: bb2, unwind: bb6]<br/> 11:12-11:17: @2[0]: FakeRead(ForMatchedPlace, _2)</td></tr><tr><td align="left" balign="left">bb0: FalseUnwind<br/>bb1: Call</td></tr><tr><td align="left" balign="left">bb2: SwitchInt</td></tr></table>>];
|
||||
bcb2__Cov_0_3 -> bcb0__Cov_0_3 [label=<>];
|
||||
bcb0__Cov_0_3 -> bcb2__Cov_0_3 [label=<false>];
|
||||
bcb0__Cov_0_3 -> bcb1__Cov_0_3 [label=<otherwise>];
|
||||
}
|
||||
20
src/test/mir-opt/coverage_graphviz.rs
Normal file
20
src/test/mir-opt/coverage_graphviz.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// Test that `-Z instrument-coverage` with `-Z dump-mir-graphviz` generates a graphviz (.dot file)
|
||||
// rendering of the `BasicCoverageBlock` coverage control flow graph, with counters and
|
||||
// expressions.
|
||||
|
||||
// needs-profiler-support
|
||||
// compile-flags: -Z instrument-coverage -Z dump-mir-graphviz
|
||||
// EMIT_MIR coverage_graphviz.main.InstrumentCoverage.0.dot
|
||||
// EMIT_MIR coverage_graphviz.bar.InstrumentCoverage.0.dot
|
||||
fn main() {
|
||||
loop {
|
||||
if bar() {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[inline(never)]
|
||||
fn bar() -> bool {
|
||||
true
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue