rust/src
bors ab45885dec Auto merge of #114843 - Zalathar:test-coverage-map, r=oli-obk
coverage: Explicitly test the coverage maps produced by codegen/LLVM

Our existing coverage tests verify the output of end-to-end coverage reports, but we don't have any way to test the specific mapping information (code regions and their associated counters) that are emitted by `rustc_codegen_llvm` and LLVM. That makes it harder to to be confident in changes that would modify those mappings (whether deliberately or accidentally).

This PR addresses that by adding a new `coverage-map` test suite that does the following:
- Compiles test files to LLVM IR assembly (`.ll`)
- Feeds those IR files to a custom tool (`src/tools/coverage-dump`) that extracts and decodes coverage mappings, and prints them in a more human-readable format
- Checks the output of that tool against known-good snapshots

---

I recommend excluding the last commit while reviewing the main changes, because that last commit is just ~40 test files copied over from `tests/run-coverage`, plus their blessed coverage-map snapshots and a readme file. Those snapshots aren't really intended to be checked by hand; they're mostly there to increase the chances that an unintended change to coverage maps will be observable (even if it requires relatively specific circumstances to manifest).
2023-09-05 15:30:59 +00:00
..
bootstrap Auto merge of #114843 - Zalathar:test-coverage-map, r=oli-obk 2023-09-05 15:30:59 +00:00
ci Mirror the rustc-perf source 2023-09-04 13:21:05 -04:00
doc make it more clear what 'Tier 2' (without host tools) means 2023-09-02 10:34:49 +02:00
etc rust-gdbgui: remove excessive quotes 2023-08-22 09:09:00 -04:00
librustdoc Rollup merge of #115490 - pitaj:rustdoc-searchjs-comment, r=GuillaumeGomez 2023-09-03 15:42:12 +02:00
llvm-project@50eecd007f Update LLVM submodule to 17.0.0-rc3 2023-08-22 17:59:58 -07:00
rustdoc-json-types rustdoc-json: Rename typedef to type alias 2023-08-21 14:02:34 -07:00
tools Auto merge of #114843 - Zalathar:test-coverage-map, r=oli-obk 2023-09-05 15:30:59 +00:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
stage0.json Update stage0 to next beta 2023-08-22 06:58:03 -04:00
version Bump version to 1.74.0 2023-08-20 14:02:00 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.