<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/debuginfo, branch 1.85.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.85.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.85.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-01-23T16:45:35+00:00</updated>
<entry>
<title>When LLVM's location discriminator value limit is exceeded, emit locations with dummy spans instead of dropping them entirely</title>
<updated>2025-01-23T16:45:35+00:00</updated>
<author>
<name>Kyle Huey</name>
<email>khuey@kylehuey.com</email>
</author>
<published>2025-01-17T17:44:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4595e112d0c76cd2717f56f6a596f7ebc35f1461'/>
<id>urn:sha1:4595e112d0c76cd2717f56f6a596f7ebc35f1461</id>
<content type='text'>
Revert most of #133194 (except the test and the comment fixes). Then refix
not emitting locations at all when the correct location discriminator value
exceeds LLVM's capacity.

(cherry picked from commit 45ef92731b637a60cbad7cecf5382361bbf40531)
</content>
</entry>
<entry>
<title>fix outdated comment</title>
<updated>2024-12-18T10:01:54+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-07T17:37:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=397ae3cdf641b8d303ab9d004013f956c2991727'/>
<id>urn:sha1:397ae3cdf641b8d303ab9d004013f956c2991727</id>
<content type='text'>
Co-authored-by: Camille Gillot &lt;gillot.camille@gmail.com&gt;</content>
</entry>
<entry>
<title>make no-variant types a dedicated Variants variant</title>
<updated>2024-12-18T10:01:54+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-01T16:33:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e023590de407f417e0f3da675a372eca7acf60c6'/>
<id>urn:sha1:e023590de407f417e0f3da675a372eca7acf60c6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Variants::Single: do not use invalid VariantIdx for uninhabited enums</title>
<updated>2024-12-18T10:00:21+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2024-12-01T12:12:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21de42bf8ddd0f39c766c7705990152302ae1f3b'/>
<id>urn:sha1:21de42bf8ddd0f39c766c7705990152302ae1f3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Re-export more `rustc_span::symbol` things from `rustc_span`.</title>
<updated>2024-12-18T02:38:53+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-12-12T23:29:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2620eb42d72d24baa1ca1056a769862b92c85f7f'/>
<id>urn:sha1:2620eb42d72d24baa1ca1056a769862b92c85f7f</id>
<content type='text'>
`rustc_span::symbol` defines some things that are re-exported from
`rustc_span`, such as `Symbol` and `sym`. But it doesn't re-export some
closely related things such as `Ident` and `kw`. So you can do `use
rustc_span::{Symbol, sym}` but you have to do `use
rustc_span::symbol::{Ident, kw}`, which is inconsistent for no good
reason.

This commit re-exports `Ident`, `kw`, and `MacroRulesNormalizedIdent`,
and changes many `rustc_span::symbol::` qualifiers in `compiler/` to
`rustc_span::`. This is a 200+ net line of code reduction, mostly
because many files with two `use rustc_span` items can be reduced to
one.
</content>
</entry>
<entry>
<title>Remove polymorphization</title>
<updated>2024-12-06T21:42:09+00:00</updated>
<author>
<name>Ben Kimock</name>
<email>kimockb@gmail.com</email>
</author>
<published>2024-12-05T02:03:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=711c8cc690c70d9b4c0e17e90f21f03d4e9d3ebf'/>
<id>urn:sha1:711c8cc690c70d9b4c0e17e90f21f03d4e9d3ebf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #104342 - mweber15:add_file_location_to_more_types, r=wesleywiser</title>
<updated>2024-12-03T12:49:57+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-12-03T12:49:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8575f8f91bbd7dca529d362afc8117db74661c3b'/>
<id>urn:sha1:8575f8f91bbd7dca529d362afc8117db74661c3b</id>
<content type='text'>
Require `type_map::stub` callers to supply file information

This change attaches file information (`DIFile` reference and line number) to struct debug info nodes.

Before:

```
; foo.ll
...
!5 = !DIFile(filename: "&lt;unknown&gt;", directory: "")
...
!16 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyType", scope: !2, file: !5, size: 32, align: 32, elements: !17, templateParams: !19, identifier: "4cb373851db92e732c4cb5651b886dd0")
...
```

After:

```
; foo.ll
...
!3 = !DIFile(filename: "foo.rs", directory: "/home/matt/src/rust98678", checksumkind: CSK_SHA1, checksum: "bcb9f08512c8f3b8181ef4726012bc6807bc9be4")
...
!16 = !DICompositeType(tag: DW_TAG_structure_type, name: "MyType", scope: !2, file: !3, line: 3, size: 32, align: 32, elements: !17, templateParams: !19, identifier: "9e5968c7af39c148acb253912b7f409f")
...
```

Fixes #98678

r? `@wesleywiser`
</content>
</entry>
<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>
</feed>
