rust/compiler/rustc_middle/src
Rich Kadel 51d692cf77 Tools, tests, and experimenting with MIR-derived coverage counters
Adds a new mir_dump output file in HTML/CSS to visualize code regions
and the MIR features that they came from (including overlapping spans).
See example below:

Includes a basic, MIR-block-based implementation of coverage injection,
available via `-Zexperimental-coverage`. This implementation has known
flaws and omissions, but is simple enough to validate the new tools and
tests.

The existing `-Zinstrument-coverage` option currently enables
function-level coverage only, which at least appears to generate
accurate coverage reports at that level.

Experimental coverage is not accurate at this time. When branch coverage
works as intended, the `-Zexperimental-coverage` option should be
removed.

This PR replaces the bulk of PR #75828, with the remaining parts of
that PR distributed among other separate and indentpent PRs.

This PR depends on three of those other PRs: #76000, #76002, and

Rust compiler MCP rust-lang/compiler-team#278

Relevant issue: #34701 - Implement support for LLVMs code coverage
instrumentation

![Screen-Recording-2020-08-21-at-2](https://user-images.githubusercontent.com/3827298/90972923-ff417880-e4d1-11ea-92bb-8713c6198f6d.gif)
2020-09-03 00:20:29 -07:00
..
dep_graph mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
hir mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
ich mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
infer mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
middle mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
mir Tools, tests, and experimenting with MIR-derived coverage counters 2020-09-03 00:20:29 -07:00
query mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
traits mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
ty Remove notrust in rustc_middle 2020-08-31 22:10:09 +08:00
util mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
arena.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
lib.rs datastructures: replace once_cell crate with an impl from std 2020-08-30 20:06:14 +01:00
lint.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
macros.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
tests.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00