<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/debuginfo/metadata, branch 1.87.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.87.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.87.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-04-17T17:26:17+00:00</updated>
<entry>
<title>Revert "Deduplicate template parameter creation"</title>
<updated>2025-04-17T17:26:17+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-04-15T18:00:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4782bbc5680a2e3004bd5389c73d5fb66b665ded'/>
<id>urn:sha1:4782bbc5680a2e3004bd5389c73d5fb66b665ded</id>
<content type='text'>
This reverts commit 6adc2c1fd6ecde7bf83c8b8fbc71f402ced87054.

(cherry picked from commit 38f7060a73acd5ec6ed7d4820dccbf2aa584fc68)
</content>
</entry>
<entry>
<title>Create a safe wrapper around `LLVMRustDIBuilderCreateMemberType`</title>
<updated>2025-03-18T17:15:02+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-17T17:00:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f4b09848546de52e2a8bbf983fe995f8c5631f6b'/>
<id>urn:sha1:f4b09848546de52e2a8bbf983fe995f8c5631f6b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid splitting up a layout</title>
<updated>2025-03-18T17:01:09+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-18T16:44:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1f34b19596ad598d2f01cf12b586971bf3c3cf52'/>
<id>urn:sha1:1f34b19596ad598d2f01cf12b586971bf3c3cf52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Deduplicate template parameter creation</title>
<updated>2025-03-17T16:32:21+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-17T16:23:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6adc2c1fd6ecde7bf83c8b8fbc71f402ced87054'/>
<id>urn:sha1:6adc2c1fd6ecde7bf83c8b8fbc71f402ced87054</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Immediately create an `Option` instead of reallocating for it later</title>
<updated>2025-03-17T16:17:48+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-17T16:06:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b4acf7a51eca60082398841b6d3d8b2997802767'/>
<id>urn:sha1:b4acf7a51eca60082398841b6d3d8b2997802767</id>
<content type='text'>
</content>
</entry>
<entry>
<title>debuginfo: Set bitwidth appropriately in enum variant tags</title>
<updated>2025-02-12T18:01:42+00:00</updated>
<author>
<name>Matthew Maurer</name>
<email>mmaurer@google.com</email>
</author>
<published>2025-02-12T00:37:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d82219a4fa06bfa47fc5aac64844c461905ae77d'/>
<id>urn:sha1:d82219a4fa06bfa47fc5aac64844c461905ae77d</id>
<content type='text'>
Previously, we unconditionally set the bitwidth to 128-bits, the largest
an discrimnator would possibly be. Then, LLVM would cut down the constant by
chopping off leading zeroes before emitting the DWARF. LLVM only
supported 64-bit descriminators, so this would also have occasionally
resulted in truncated data (or an assert) if more than 64-bits were
used.

LLVM added support for 128-bit enumerators in llvm/llvm-project#125578

That patchset also trusts the constant to describe how wide the variant tag is.
As a result, we went from emitting tags that looked like:
DW_AT_discr_value     (0xfe)

(`form1`)

to emitting tags that looked like:
DW_AT_discr_value	(&lt;0x10&gt; fe ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 )

This makes the `DW_AT_discr_value` encode at the bitwidth of the tag,
which:
1. Is probably closer to our intentions in terms of describing the data.
2. Doesn't invoke the 128-bit support which may not be supported by all
   debuggers / downstream tools.
3. Will result in smaller debug information.
</content>
</entry>
<entry>
<title>Use ExistentialTraitRef throughout codegen</title>
<updated>2025-01-30T15:34:00+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-01-10T20:26:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9dc41a048d7dc765b28102d557eec40ff050e6ab'/>
<id>urn:sha1:9dc41a048d7dc765b28102d557eec40ff050e6ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use gimli to get the values of DWARF constants needed by codegen</title>
<updated>2025-01-05T11:07:48+00:00</updated>
<author>
<name>Zalathar</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-01-05T00:38:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e26710610490da43b30e66747c713b382fe62794'/>
<id>urn:sha1:e26710610490da43b30e66747c713b382fe62794</id>
<content type='text'>
The `gimli` crate is already a dependency of `thorin-dwp`, which is already a
dependency of `rustc_codegen_ssa`.
</content>
</entry>
<entry>
<title>force enum `DISCR_*` to `const u64` to allow for inspection via LLDB's `SBTypeStaticField::GetConstantValue()`</title>
<updated>2024-12-31T01:01:48+00:00</updated>
<author>
<name>Walnut</name>
<email>39544927+Walnut356@users.noreply.github.com</email>
</author>
<published>2024-12-06T16:50:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a1191e30b6cfdad8e5763eae808e138818d9b56d'/>
<id>urn:sha1:a1191e30b6cfdad8e5763eae808e138818d9b56d</id>
<content type='text'>
</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>
</feed>
