diff options
| author | Matthias Krüger <476013+matthiaskrgr@users.noreply.github.com> | 2025-07-28 08:36:54 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-28 08:36:54 +0200 | 
| commit | c462895a6f0b463ff0c1c1db2a3a654d7e5976c7 (patch) | |
| tree | e8348ba063016fa8b556ba8f6ead8ba80fcdf80b /compiler/rustc_codegen_llvm/src/back | |
| parent | ec86930c1d909b8114ce055c69746ca2c84b2ef4 (diff) | |
| parent | 89b6b0b6a482cb0d632f54f14936def9c034570d (diff) | |
| download | rust-c462895a6f0b463ff0c1c1db2a3a654d7e5976c7.tar.gz rust-c462895a6f0b463ff0c1c1db2a3a654d7e5976c7.zip | |
Rollup merge of #144530 - Zalathar:instances-used, r=lqd
coverage: Infer `instances_used` from `pgo_func_name_var_map` In obscure circumstances involving macro-expanded spans, we would sometimes emit a covfun record for a function with no physical coverage counters, and therefore no corresponding entry in the “PGO names” section of the binary. The absence of that name entry causes `llvm-cov` to fail with the cryptic error message: ```text 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. --- This is an attempt to eliminate the cause of rust-lang/rust#141577 when re-landing changes like rust-lang/rust#144298 in the future. I haven't been able to reproduce the underlying issue in an in-tree test, because the only known repro involves a non-trivial derive proc-macro that relies on `syn` and `proc-macro2`. But I have manually verified in a separate branch that this change would have prevented the reoccurrence of https://github.com/rust-lang/rust/issues/141577#issuecomment-3120667286.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/back')
0 files changed, 0 insertions, 0 deletions
