<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/mir/operand.rs, 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-10-29T21:56:00+00:00</updated>
<entry>
<title>compiler: `rustc_abi::Abi` =&gt; `BackendRepr`</title>
<updated>2024-10-29T21:56:00+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2024-10-29T20:37:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7086dd83cca1cf694c7bd171efbf262fa8ffb4aa'/>
<id>urn:sha1:7086dd83cca1cf694c7bd171efbf262fa8ffb4aa</id>
<content type='text'>
The initial naming of "Abi" was an awful mistake, conveying wrong ideas
about how psABIs worked and even more about what the enum meant.
It was only meant to represent the way the value would be described to
a codegen backend as it was lowered to that intermediate representation.
It was never meant to mean anything about the actual psABI handling!
The conflation is because LLVM typically will associate a certain form
with a certain ABI, but even that does not hold when the special cases
that actually exist arise, plus the IR annotations that modify the ABI.

Reframe `rustc_abi::Abi` as the `BackendRepr` of the type, and rename
`BackendRepr::Aggregate` as `BackendRepr::Memory`. Unfortunately, due to
the persistent misunderstandings, this too is now incorrect:
- Scattered ABI-relevant code is entangled with BackendRepr
- We do not always pre-compute a correct BackendRepr that reflects how
  we "actually" want this value to be handled, so we leave the backend
  interface to also inject various special-cases here
- In some cases `BackendRepr::Memory` is a "real" aggregate, but in
  others it is in fact using memory, and in some cases it is a scalar!

Our rustc-to-backend lowering code handles this sort of thing right now.
That will eventually be addressed by lifting duplicated lowering code
to either rustc_codegen_ssa or rustc_target as appropriate.
</content>
</entry>
<entry>
<title>compiler: Factor rustc_target::abi out of cg_ssa</title>
<updated>2024-10-09T01:24:56+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2024-10-09T00:27:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=839cf1c1a4f60575f9000b9f6d5676ec1efbe3e8'/>
<id>urn:sha1:839cf1c1a4f60575f9000b9f6d5676ec1efbe3e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use wide pointers consistenly across the compiler</title>
<updated>2024-10-04T12:06:48+00:00</updated>
<author>
<name>Urgau</name>
<email>urgau@numericable.fr</email>
</author>
<published>2024-10-03T13:05:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=018ba0528fa5d22712397e520351295f8582a525'/>
<id>urn:sha1:018ba0528fa5d22712397e520351295f8582a525</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reformat using the new identifier sorting from rustfmt</title>
<updated>2024-09-22T23:11:29+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-09-22T23:05:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c682aa162b0d41e21cc6748f4fecfe01efb69d1f'/>
<id>urn:sha1:c682aa162b0d41e21cc6748f4fecfe01efb69d1f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #130457 - nnethercote:cleanup-codegen-traits, r=bjorn3</title>
<updated>2024-09-18T15:49:43+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2024-09-18T15:49:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21313d7947d435217a916c0d71999a077b90c979'/>
<id>urn:sha1:21313d7947d435217a916c0d71999a077b90c979</id>
<content type='text'>
Cleanup codegen traits

The traits governing codegen are quite complicated and hard to follow. This PR cleans them up a bit.

r? `@bjorn3`
</content>
</entry>
<entry>
<title>Clean up formatting.</title>
<updated>2024-09-17T06:24:35+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-09-10T23:59:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cd3da000c0ea2e1ce77a18587a7acdb01bf7fd23'/>
<id>urn:sha1:cd3da000c0ea2e1ce77a18587a7acdb01bf7fd23</id>
<content type='text'>
Reflow overly long comments, plus some minor whitespace improvements.
</content>
</entry>
<entry>
<title>Minimize visibilities.</title>
<updated>2024-09-17T06:24:33+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-09-05T05:16:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bdacdfe95f17188f5b047e0330e3e47f993a2016'/>
<id>urn:sha1:bdacdfe95f17188f5b047e0330e3e47f993a2016</id>
<content type='text'>
This makes it much clearer which things are used outside the crate.
</content>
</entry>
<entry>
<title>Rename supertraits of `CodegenMethods`.</title>
<updated>2024-09-17T00:24:43+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-09-17T00:15:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a8d22eb39eafcc19d4c3db4f24582d869c8fdef2'/>
<id>urn:sha1:a8d22eb39eafcc19d4c3db4f24582d869c8fdef2</id>
<content type='text'>
Supertraits of `BuilderMethods` are all called `XyzBuilderMethods`.
Supertraits of `CodegenMethods` are all called `XyzMethods`. This commit
changes the latter to `XyzCodegenMethods`, for consistency.
</content>
</entry>
<entry>
<title>Move some supertraits outward.</title>
<updated>2024-09-17T00:24:43+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-09-16T10:17:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=540fcc617a7d0ab408e81e5668cfa3971233353d'/>
<id>urn:sha1:540fcc617a7d0ab408e81e5668cfa3971233353d</id>
<content type='text'>
Specifically, put them where they are genuinely required, i.e. the
outermost place they can be.
</content>
</entry>
<entry>
<title>Rollup merge of #128978 - compiler-errors:assert-matches, r=jieyouxu</title>
<updated>2024-08-12T15:09:19+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2024-08-12T15:09:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7c6dca90509fe94e775bfd5d2c7132fb210f57b4'/>
<id>urn:sha1:7c6dca90509fe94e775bfd5d2c7132fb210f57b4</id>
<content type='text'>
Use `assert_matches` around the compiler more

It's a useful assertion, especially since it actually prints out the LHS.
</content>
</entry>
</feed>
