| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2025-09-16 | Mark some coverage-related bindings as safe | Zalathar | -4/+4 | |
| 2025-09-16 | Stop using `as_c_char_ptr` for coverage-related bindings | Zalathar | -4/+3 | |
| 2025-08-06 | coverage: Remove all unstable support for MC/DC instrumentation | Zalathar | -184/+8 | |
| 2025-08-04 | coverage: Represent `CovmapVersion` as an enum | Zalathar | -15/+32 | |
| Using an enum here was historically not worth the extra hassle, but now we can lean on `#[derive(TryFromU32)]` to hide most of the boilerplate. | ||||
| 2025-08-04 | coverage: Simplify access to debug/testing `-Zcoverage-options` flags | Zalathar | -1/+1 | |
| 2025-08-04 | coverage: Hoist `counter_for_bcb` out of its loop | Zalathar | -10/+10 | |
| Having this helper function in the loop was confusing, because it doesn't rely on anything that changes between loop iterations. | ||||
| 2025-08-04 | coverage: Include an `Instance` in `CovfunRecord` for debug messages | Zalathar | -1/+6 | |
| 2025-07-30 | coverage: Re-land "Enlarge empty spans during MIR instrumentation" | Zalathar | -24/+4 | |
| This allows us to assume that coverage spans will only be discarded during codegen in very unusual situations. | ||||
| 2025-07-27 | coverage: Clarify that getting a PGO name also makes a function "used" | Zalathar | -4/+7 | |
| 2025-07-27 | coverage: Infer `instances_used` from `pgo_func_name_var_map` | Zalathar | -18/+21 | |
| In obscure circumstances, we would sometimes emit a covfun record for a function with no physical coverage counters, causing `llvm-cov` to fail with the cryptic error message: malformed instrumentation profile data: function name is empty We can eliminate this mismatch by removing `instances_used` entirely, and instead inferring its contents from the keys of `pgo_func_name_var_map`. This makes it impossible for a "used" function to lack a PGO name entry. | ||||
| 2025-07-26 | Revert "coverage: Enlarge empty spans during MIR instrumentation, not codegen" | Zalathar | -4/+24 | |
| This reverts commit f877aa7d14916f71a2f88c6d4c009e7ded7684c4. | ||||
| 2025-07-22 | coverage: Enlarge empty spans during MIR instrumentation, not codegen | Zalathar | -24/+4 | |
| This allows us to assume that coverage spans will only be discarded during codegen in very unusual situations. | ||||
| 2025-05-28 | Remove methods from StaticCodegenMethods that are not called in cg_ssa itself | bjorn3 | -6/+2 | |
| 2025-05-28 | Remove a couple of uses of interior mutability around statics | bjorn3 | -4/+5 | |
| 2025-05-27 | coverage: Revert "unused local file IDs" due to empty function names | Zalathar | -59/+39 | |
| This reverts commit 3b22c21dd8c30f499051fe7a758ca0e5d81eb638, reversing changes made to 5f292eea6d63abbd26f1e6e00a0b8cf21d828d7d. | ||||
| 2025-05-10 | coverage: Detect unused local file IDs to avoid an LLVM assertion | Zalathar | -5/+45 | |
| This case can't actually happen yet (other than via a testing flag), because currently all of a function's spans must belong to the same file and expansion. But this will be an important edge case when adding expansion region support. | ||||
| 2025-05-10 | coverage: Hoist `counter_for_bcb` out of its loop | Zalathar | -10/+10 | |
| Having this helper function in the loop was confusing, because it doesn't rely on anything that changes between loop iterations. | ||||
| 2025-05-10 | coverage: Enlarge empty spans during MIR instrumentation, not codegen | Zalathar | -24/+4 | |
| This allows us to assume that coverage spans will only be discarded during codegen in very unusual situations. | ||||
| 2025-05-05 | Rename Instance::new to Instance::new_raw and add a note that it is raw | Michael Goulet | -1/+1 | |
| 2025-04-07 | coverage: Build the CGU's global file table as late as possible | Zalathar | -88/+110 | |
| 2025-04-06 | coverage: Deal with unused functions and their names in one place | Zalathar | -39/+51 | |
| 2025-04-06 | coverage: Extract module `mapgen::unused` for handling unused functions | Zalathar | -125/+132 | |
| 2025-03-20 | coverage: Convert and check span coordinates without a local file ID | Zalathar | -27/+40 | |
| For expansion region support, we will want to be able to convert and check spans before creating a corresponding local file ID. If we create local file IDs eagerly, but some expansion turns out to have no successfully-converted spans, LLVM will complain about that expansion's file ID having no regions. | ||||
| 2025-03-20 | coverage: Add LLVM plumbing for expansion regions | Zalathar | -7/+39 | |
| This is currently unused, but paves the way for future work on expansion regions without having to worry about the FFI parts. | ||||
| 2025-03-18 | coverage: Don't store a body span in `FunctionCoverageInfo` | Zalathar | -2/+7 | |
| 2025-03-18 | coverage: Don't refer to the body span when enlarging empty spans | Zalathar | -26/+9 | |
| Given that we now only enlarge empty spans to "{" or "}", there shouldn't be any danger of enlarging beyond a function body. | ||||
| 2025-02-24 | Remove inherent function that has a trait method duplicate of a commonly ↵ | Oli Scherer | -1/+1 | |
| imported trait | ||||
| 2025-02-06 | coverage: Remove the old code for simplifying counters after MIR opts | Zalathar | -19/+10 | |
| 2025-02-06 | coverage: Defer part of counter-creation until codegen | Zalathar | -23/+9 | |
| 2025-02-06 | coverage: Store BCB node IDs in mappings, and resolve them in codegen | Zalathar | -12/+17 | |
| Even though the coverage graph itself is no longer available during codegen, its nodes can still be used as opaque IDs. | ||||
| 2025-01-29 | upstream rustc_codegen_ssa/rustc_middle changes for enzyme/autodiff | Manuel Drehwald | -1/+1 | |
| 2025-01-27 | Change `collect_and_partition_mono_items` tuple return type to a struct | Oli Scherer | -2/+4 | |
| 2025-01-24 | coverage: Make query `coverage_ids_info` return an Option | Zalathar | -4/+6 | |
| This reflects the fact that we can't compute meaningful info for a function that wasn't instrumented and therefore doesn't have `function_coverage_info`. | ||||
| 2024-12-19 | coverage: Add a synthetic test for when all spans are discarded | Zalathar | -0/+11 | |
| 2024-12-19 | coverage: Identify source files by ID, not by interned filename | Zalathar | -37/+33 | |
| 2024-12-19 | coverage: Store coverage source regions as `Span` until codegen | Zalathar | -26/+145 | |
| 2024-12-19 | coverage: Quietly skip functions that end up having no mappings | Zalathar | -7/+2 | |
| In codegen, a used function with `FunctionCoverageInfo` but no mappings has historically indicated a bug. However, that will no longer be the case after moving some fallible span-processing steps into codegen. | ||||
| 2024-12-19 | coverage: Rename some FFI fields from `span` to `cov_span` | Zalathar | -9/+10 | |
| This will avoid confusion with actual `Span` spans. | ||||
| 2024-12-17 | coverage: Track used functions in a set instead of a map | Zalathar | -90/+37 | |
| This patch dismantles what was left of `FunctionCoverage` in `map_data.rs`, replaces `function_coverage_map` with a set, and overhauls how we prepare covfun records for unused functions. | ||||
| 2024-12-17 | coverage: Pull function source hash out of `map_data.rs` | Zalathar | -12/+7 | |
| 2024-12-17 | coverage: Pull region conversion out of `map_data.rs` | Zalathar | -37/+14 | |
| 2024-12-17 | coverage: Pull expression conversion out of `map_data.rs` | Zalathar | -33/+44 | |
| 2024-12-17 | coverage: Build the global file table on the fly | Zalathar | -33/+29 | |
| 2024-12-17 | coverage: Use `is_eligible_for_coverage` to filter unused functions | Zalathar | -8/+7 | |
| The checks in `is_eligible_for_coverage` include `is_fn_like`, but will also exclude various function-like things that cannot possibly have coverage instrumentation. | ||||
| 2024-12-12 | coverage: Tidy up creation of covfun records | Zalathar | -32/+34 | |
| 2024-12-12 | coverage: Tidy up creation of covmap records | Zalathar | -33/+27 | |
| 2024-12-11 | coverage: Store intermediate region tables in `CovfunRecord` | Zalathar | -55/+77 | |
| This defers the call to `llvm_cov::write_function_mappings_to_buffer` until just before its enclosing global variable is created. | ||||
| 2024-12-11 | coverage: Only generate a CGU's covmap record if it has covfun records | Zalathar | -4/+14 | |
| 2024-12-11 | coverage: Reify `CovfunRecord` as an intermediate step | Zalathar | -36/+45 | |
| 2024-12-11 | coverage: Extract function metadata handling to a `covfun` submodule | Zalathar | -166/+206 | |
