<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/coverageinfo, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-16T12:00:10+00:00</updated>
<entry>
<title>Mark some coverage-related bindings as safe</title>
<updated>2025-09-16T12:00:10+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-16T11:44:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=06a7460455284aca27fbf65505c385e3dc275da3'/>
<id>urn:sha1:06a7460455284aca27fbf65505c385e3dc275da3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stop using `as_c_char_ptr` for coverage-related bindings</title>
<updated>2025-09-16T11:36:45+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-16T11:36:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=79c9f6ee9b3229279ffdaa0515c7b0320c0b0737'/>
<id>urn:sha1:79c9f6ee9b3229279ffdaa0515c7b0320c0b0737</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Remove all unstable support for MC/DC instrumentation</title>
<updated>2025-08-06T12:38:52+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-06T12:02:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81ed042c8cc4a1bd677c9209cf9edca6b91af04a'/>
<id>urn:sha1:81ed042c8cc4a1bd677c9209cf9edca6b91af04a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Represent `CovmapVersion` as an enum</title>
<updated>2025-08-04T03:48:41+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-03T04:35:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b37c214ec2bbb7609eb4b963bb2b0da160fef57f'/>
<id>urn:sha1:b37c214ec2bbb7609eb4b963bb2b0da160fef57f</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>coverage: Simplify access to debug/testing `-Zcoverage-options` flags</title>
<updated>2025-08-04T03:48:41+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-02T08:41:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f496e83fe9a12cbaec6a61da83ba32159a87afde'/>
<id>urn:sha1:f496e83fe9a12cbaec6a61da83ba32159a87afde</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Hoist `counter_for_bcb` out of its loop</title>
<updated>2025-08-04T01:55:40+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-05-09T11:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=16843ce427965a39a5f226ce3057ba3c2f5ed23c'/>
<id>urn:sha1:16843ce427965a39a5f226ce3057ba3c2f5ed23c</id>
<content type='text'>
Having this helper function in the loop was confusing, because it doesn't rely
on anything that changes between loop iterations.
</content>
</entry>
<entry>
<title>coverage: Include an `Instance` in `CovfunRecord` for debug messages</title>
<updated>2025-08-04T01:55:25+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-08-02T12:17:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=33706fc17f858caf42d36a9f67ef794269b6a83f'/>
<id>urn:sha1:33706fc17f858caf42d36a9f67ef794269b6a83f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Re-land "Enlarge empty spans during MIR instrumentation"</title>
<updated>2025-07-30T03:17:05+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-05-04T04:09:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2e6f4a59226fd82c526df0f61fefc6fea44e7750'/>
<id>urn:sha1:2e6f4a59226fd82c526df0f61fefc6fea44e7750</id>
<content type='text'>
This allows us to assume that coverage spans will only be discarded during
codegen in very unusual situations.
</content>
</entry>
<entry>
<title>coverage: Clarify that getting a PGO name also makes a function "used"</title>
<updated>2025-07-27T11:49:46+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-07-27T11:29:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=89b6b0b6a482cb0d632f54f14936def9c034570d'/>
<id>urn:sha1:89b6b0b6a482cb0d632f54f14936def9c034570d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>coverage: Infer `instances_used` from `pgo_func_name_var_map`</title>
<updated>2025-07-27T11:49:37+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-07-27T11:19:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=24e2b4832bfa0bf1b60159af0ae11b15de55590e'/>
<id>urn:sha1:24e2b4832bfa0bf1b60159af0ae11b15de55590e</id>
<content type='text'>
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.
</content>
</entry>
</feed>
