<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/debuginfo, branch 1.84.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.84.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.84.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-11-19T13:19:09+00:00</updated>
<entry>
<title>When the required discriminator value exceeds LLVM's limits, drop the debug info for the function instead of panicking.</title>
<updated>2024-11-19T13:19:09+00:00</updated>
<author>
<name>Kyle Huey</name>
<email>khuey@kylehuey.com</email>
</author>
<published>2024-11-19T02:48:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f5b023bd9cf43803a6d39b101c54a98cb7e7da7c'/>
<id>urn:sha1:f5b023bd9cf43803a6d39b101c54a98cb7e7da7c</id>
<content type='text'>
The maximum discriminator value LLVM can currently encode is 2^12. If macro use
results in more than 2^12 calls to the same function attributed to the same
callsite, and those calls are MIR-inlined, we will require more than the maximum
discriminator value to completely represent the debug information. Once we reach
that point drop the debug info instead.
</content>
</entry>
<entry>
<title>Honor collapse_debuginfo when dealing with MIR-inlined functions inside macros.</title>
<updated>2024-11-19T13:18:56+00:00</updated>
<author>
<name>Kyle Huey</name>
<email>khuey@kylehuey.com</email>
</author>
<published>2024-11-19T02:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1e4ebb0ccdffe4a8ddb15cb8e95bef3b905f045b'/>
<id>urn:sha1:1e4ebb0ccdffe4a8ddb15cb8e95bef3b905f045b</id>
<content type='text'>
The test relies on the fact that inlining more than 2^12 calls at the same
callsite will trigger a panic (and after the following commit, a warning) due to
LLVM limitations but with collapse_debuginfo the callsites should not be the
same.
</content>
</entry>
<entry>
<title>use `TypingEnv` when no `infcx` is available</title>
<updated>2024-11-18T09:38:56+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-11-15T12:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9cba14b95bb07a5b31ed1aac2bf4eadd248232da'/>
<id>urn:sha1:9cba14b95bb07a5b31ed1aac2bf4eadd248232da</id>
<content type='text'>
the behavior of the type system not only depends on the current
assumptions, but also the currentnphase of the compiler. This is
mostly necessary as we need to decide whether and how to reveal
opaque types. We track this via the `TypingMode`.
</content>
</entry>
<entry>
<title>Rollup merge of #132702 - 1c3t3a:issue-132615, r=rcvalle</title>
<updated>2024-11-12T22:26:41+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2024-11-12T22:26:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bd79fe7a94b8191ef580db7789fc55291eb825f1'/>
<id>urn:sha1:bd79fe7a94b8191ef580db7789fc55291eb825f1</id>
<content type='text'>
CFI: Append debug location to CFI blocks

Currently we're not appending debug locations to the inserted CFI blocks. This shows up in #132615 and #100783. This change fixes that by passing down the debug location to the CFI type-test generation and appending it to the blocks.

Credits also belong to `@jakos-sec` who worked with me on this.
</content>
</entry>
<entry>
<title>CFI: Append debug location to CFI blocks</title>
<updated>2024-11-11T09:17:43+00:00</updated>
<author>
<name>Bastian Kersting</name>
<email>bkersting@google.com</email>
</author>
<published>2024-11-08T08:51:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c2102259a04dd9ede1e7faf01daa0dfcb948c214'/>
<id>urn:sha1:c2102259a04dd9ede1e7faf01daa0dfcb948c214</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add discriminators to DILocations when multiple functions are inlined into a single point.</title>
<updated>2024-11-09T16:01:31+00:00</updated>
<author>
<name>Kyle Huey</name>
<email>khuey@kylehuey.com</email>
</author>
<published>2024-11-04T19:38:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1dc106121b62562ead6e7d612fa136dc4b35cd5d'/>
<id>urn:sha1:1dc106121b62562ead6e7d612fa136dc4b35cd5d</id>
<content type='text'>
LLVM does not expect to ever see multiple dbg_declares for the same variable at the same
location with different values. proc-macros make it possible for arbitrary code,
including multiple calls that get inlined, to happen at any given location in the source
code. Add discriminators when that happens so these locations are different to LLVM.

This may interfere with the AddDiscriminators pass in LLVM, which is added by the
unstable flag -Zdebug-info-for-profiling.

Fixes #131944
</content>
</entry>
<entry>
<title>compiler: Directly use rustc_abi in codegen</title>
<updated>2024-11-03T20:30:32+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2024-11-03T02:32:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b895bf4fdce434f394dbe0f4c57d4d0952cd13d7'/>
<id>urn:sha1:b895bf4fdce434f394dbe0f4c57d4d0952cd13d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove support for `-Zprofile` (gcov-style coverage instrumentation)</title>
<updated>2024-10-30T22:09:25+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-10-17T09:11:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ce3e14a448e090abf494a91b87f124258c542d4c'/>
<id>urn:sha1:ce3e14a448e090abf494a91b87f124258c542d4c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Consistently use safe wrapper function `set_section`</title>
<updated>2024-10-30T00:38:20+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-10-29T23:02:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=65ff2a6ad71de45c848a622d86b6c74092e1b734'/>
<id>urn:sha1:65ff2a6ad71de45c848a622d86b6c74092e1b734</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Clean up FFI calls for setting module flags</title>
<updated>2024-10-29T10:40:34+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2024-10-29T02:38:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8d2ed4f0f3f79c402d2ebe585e0904baf4f8d634'/>
<id>urn:sha1:8d2ed4f0f3f79c402d2ebe585e0904baf4f8d634</id>
<content type='text'>
- Don't rely on enum values defined by LLVM's C++ API
- Use safe wrapper functions instead of direct `unsafe` calls
- Consistently pass pointer/length strings instead of C strings
</content>
</entry>
</feed>
