1
Fork 0
rust/compiler/rustc_codegen_llvm
Matthias Krüger 13c13ee4ec
Rollup merge of #134163 - Zalathar:covfun, r=SparrowLii,jieyouxu
coverage: Rearrange the code for embedding per-function coverage metadata

This is a series of refactorings to the code that prepares and embeds per-function coverage metadata records (“covfun records”) in the `__llvm_covfun` linker section of the final binary. The `llvm-cov` tool reads this metadata from the binary when preparing a coverage report.

Beyond general cleanup, a big motivation behind these changes is to pave the way for re-landing an updated version of #133418.

---

There should be no change in compiler output, as demonstrated by the absence of (meaningful) changes to coverage tests.

The first patch is just moving code around, so I suggest looking at the other patches to see the actual changes.

---

try-job: x86_64-gnu
try-job: x86_64-msvc
try-job: aarch64-apple
2024-12-11 20:00:18 +01:00
..
src Rollup merge of #134163 - Zalathar:covfun, r=SparrowLii,jieyouxu 2024-12-11 20:00:18 +01:00
Cargo.toml compiler: Factor rustc_target::abi out of cg_llvm 2024-10-08 18:24:56 -07:00
messages.ftl mark some target features as 'forbidden' so they cannot be (un)set 2024-11-04 22:56:47 +01:00
README.md

The codegen crate contains the code to convert from MIR into LLVM IR, and then from LLVM IR into machine code. In general it contains code that runs towards the end of the compilation process.

For more information about how codegen works, see the rustc dev guide.