about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/context.rs
diff options
context:
space:
mode:
authorMichael Goulet <michael@errs.io>2023-07-05 08:45:46 -0700
committerGitHub <noreply@github.com>2023-07-05 08:45:46 -0700
commit6f9addf6ede748f267a959eb8c734eaa6fc769c7 (patch)
treeb2c3a350d9e4b8b30153a06cc6a064d154e11ac5 /compiler/rustc_codegen_llvm/src/context.rs
parentc31fe41453c0c15192342d06429215694d8fe74e (diff)
parentcb570d6bc1251f32a07d8ce173dc735be78a325f (diff)
downloadrust-6f9addf6ede748f267a959eb8c734eaa6fc769c7.tar.gz
rust-6f9addf6ede748f267a959eb8c734eaa6fc769c7.zip
Rollup merge of #113355 - Zalathar:ssa, r=oli-obk
Move most coverage code out of `rustc_codegen_ssa`

*This is one step in my larger coverage refactoring ambitions described at <https://github.com/rust-lang/compiler-team/issues/645>.*

The backend implementation of coverage instrumentation was originally split between SSA and LLVM, perhaps in the hopes that it could be used by other backends.

In practice, this split mostly just makes the coverage implementation harder to navigate and harder to modify. It seems unlikely that any backend will actually implement coverage instrumentation in the foreseeable future, especially since many parts of the existing implementation (outside the LLVM backend) are heavily tied to the specific details of LLVM's coverage instrumentation features.

The current shared implementation of `codegen_coverage` is heavily tied to the details of `StatementKind::Coverage`, which makes those details difficult to change. I have reason to want to change those details as part of future fixes/improvements, so this will reduce the amount of interface churn caused by those later changes.

---

This is intended to be a pure refactoring change, with no changes to actual behaviour. All of the “added” code has really just been moved from other files.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/context.rs')
0 files changed, 0 insertions, 0 deletions