]> git.lizzy.rs Git - rust.git/commit
Fixed coverage map issues; better aligned with LLVM APIs
authorRich Kadel <richkadel@google.com>
Sat, 25 Jul 2020 04:14:28 +0000 (21:14 -0700)
committerRich Kadel <richkadel@google.com>
Sat, 25 Jul 2020 14:39:51 +0000 (07:39 -0700)
commit12ddd6073abecb7a515a43bee37408596e322345
treeb7f3eaf24fe718c9b55581732a545ecd971021a3
parentc4e173472beb073ce3759525a15ed429b032787a
Fixed coverage map issues; better aligned with LLVM APIs

Found some problems with the coverage map encoding when testing with
more than one counter per function.

While debugging, I realized some better ways to structure the Rust
implementation of the coverage mapping generator. I refactored somewhat,
resulting in less code overall, expanded coverage of LLVM Coverage Map
capabilities, and much closer alignment with LLVM data structures, APIs,
and naming.

This should be easier to follow and easier to maintain.
13 files changed:
src/librustc_codegen_llvm/coverageinfo/mapgen.rs
src/librustc_codegen_llvm/coverageinfo/mod.rs
src/librustc_codegen_llvm/intrinsic.rs
src/librustc_codegen_llvm/llvm/ffi.rs
src/librustc_codegen_ssa/coverageinfo/map.rs
src/librustc_codegen_ssa/coverageinfo/mod.rs
src/librustc_codegen_ssa/lib.rs
src/librustc_codegen_ssa/traits/coverageinfo.rs
src/librustc_middle/mir/coverage/mod.rs
src/librustc_mir/transform/instrument_coverage.rs
src/librustc_mir/transform/mod.rs
src/librustc_session/options.rs
src/rustllvm/CoverageMappingWrapper.cpp