<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_gcc/src, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-18T16:31:20+00:00</updated>
<entry>
<title>Merge commit 'f682d09eefc6700b9e5851ef193847959acf4fac' into subtree-update_cg_gcc_2025-07-18</title>
<updated>2025-07-18T16:31:20+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-07-18T16:31:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=66017df336ae650c7fff2970e470a792036ba4be'/>
<id>urn:sha1:66017df336ae650c7fff2970e470a792036ba4be</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #143293 - folkertdev:naked-function-kcfi, r=compiler-errors</title>
<updated>2025-07-18T02:27:51+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-07-18T02:27:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=accf61dd42548bd5ec61d43f246b3eb499e980dd'/>
<id>urn:sha1:accf61dd42548bd5ec61d43f246b3eb499e980dd</id>
<content type='text'>
fix `-Zsanitizer=kcfi` on `#[naked]` functions

fixes https://github.com/rust-lang/rust/issues/143266

With `-Zsanitizer=kcfi`, indirect calls happen via generated intermediate shim that forwards the call. The generated shim preserves the attributes of the original, including `#[unsafe(naked)]`. The shim is not a naked function though, and violates its invariants (like having a body that consists of a single `naked_asm!` call).

My fix here is to match on the `InstanceKind`, and only use `codegen_naked_asm` when the instance is not a `ReifyShim`. That does beg the question whether there are other `InstanceKind`s that could come up. As far as I can tell the answer is no: calling via `dyn` seems to work find, and `#[track_caller]` is disallowed in combination with `#[naked]`.

r? codegen
````@rustbot```` label +A-naked
cc ````@maurer```` ````@rcvalle````
</content>
</entry>
<entry>
<title>Rollup merge of #143388 - bjorn3:lto_refactors, r=compiler-errors</title>
<updated>2025-07-17T01:58:28+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-07-17T01:58:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=be5f8f299dce5c04e2a644546e780d8a07b0b14f'/>
<id>urn:sha1:be5f8f299dce5c04e2a644546e780d8a07b0b14f</id>
<content type='text'>
Various refactors to the LTO handling code

In particular reducing the sharing of code paths between fat and thin-LTO and making the fat LTO implementation more self-contained. This also moves some autodiff handling out of cg_ssa into cg_llvm given that Enzyme only works with LLVM anyway and an implementation for another backend may do things entirely differently. This will also make it a bit easier to split LTO handling out of the coordinator thread main loop into a separate loop, which should reduce the complexity of the coordinator thread.
</content>
</entry>
<entry>
<title>use `codegen_instance_attrs` where an instance is (easily) available</title>
<updated>2025-07-16T21:24:32+00:00</updated>
<author>
<name>Folkert de Vries</name>
<email>folkert@folkertdev.nl</email>
</author>
<published>2025-07-02T09:12:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9c8ab891876b37aac458a7461d904fe593856745'/>
<id>urn:sha1:9c8ab891876b37aac458a7461d904fe593856745</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #142911 - mejrs:unsized, r=compiler-errors</title>
<updated>2025-07-11T05:27:32+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-11T05:27:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=855e0fe46e68d94e9f6147531b75ac2d488c548e'/>
<id>urn:sha1:855e0fe46e68d94e9f6147531b75ac2d488c548e</id>
<content type='text'>
Remove support for dynamic allocas

Followup to rust-lang/rust#141811
</content>
</entry>
<entry>
<title>Add opaque TypeId handles for CTFE</title>
<updated>2025-07-09T16:37:11+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-03-12T10:26:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=486ffda9dcd0d4ef0a09d81e6ce5f241e77526a1'/>
<id>urn:sha1:486ffda9dcd0d4ef0a09d81e6ce5f241e77526a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove support for dynamic allocas</title>
<updated>2025-07-07T21:04:06+00:00</updated>
<author>
<name>mejrs</name>
<email>59372212+mejrs@users.noreply.github.com</email>
</author>
<published>2025-06-24T14:58:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=49421d1fa382fba84792e5d5dd7721c1c3e0e46e'/>
<id>urn:sha1:49421d1fa382fba84792e5d5dd7721c1c3e0e46e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #143601 - matthiaskrgr:rollup-9iw2sqk, r=matthiaskrgr</title>
<updated>2025-07-07T20:30:53+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-07T20:30:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a2d45f73c70d9dec57140c9412f83586eda895f8'/>
<id>urn:sha1:a2d45f73c70d9dec57140c9412f83586eda895f8</id>
<content type='text'>
Rollup of 9 pull requests

Successful merges:

 - rust-lang/rust#132469 (Do not suggest borrow that is already there in fully-qualified call)
 - rust-lang/rust#143340 (awhile -&gt; a while where appropriate)
 - rust-lang/rust#143438 (Fix the link in `rustdoc.md`)
 - rust-lang/rust#143539 (Regression tests for repr ICEs)
 - rust-lang/rust#143566 (Fix `x86_64-unknown-netbsd` platform support page)
 - rust-lang/rust#143572 (Remove unused allow attrs)
 - rust-lang/rust#143583 (`loop_match`: fix 'no terminator on block')
 - rust-lang/rust#143584 (make `Machine::load_mir` infallible)
 - rust-lang/rust#143591 (Fix missing words in future tracking issue)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Auto merge of #143182 - xdoardo:more-addrspace, r=workingjubilee</title>
<updated>2025-07-07T17:28:14+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-07-07T17:28:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2f8eeb2bba86b8f457ec602c578473c711f85628'/>
<id>urn:sha1:2f8eeb2bba86b8f457ec602c578473c711f85628</id>
<content type='text'>
Allow custom default address spaces and parse `p-` specifications in the datalayout string

Some targets, such as CHERI, use as default an address space different from the "normal" default address space `0` (in the case of CHERI, [200 is used](https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-877.pdf)). Currently, `rustc` does not allow to specify custom address spaces and does not take into consideration [`p-` specifications in the datalayout string](https://llvm.org/docs/LangRef.html#langref-datalayout).

This patch tries to mitigate these problems by allowing targets to define a custom default address space (while keeping the default value to address space `0`) and adding the code to parse the `p-` specifications in `rustc_abi`. The main changes are that `TargetDataLayout` now uses functions to refer to pointer-related informations, instead of having specific fields for the size and alignment of pointers in the default address space; furthermore, the two `pointer_size` and `pointer_align` fields in `TargetDataLayout` are replaced with an `FxHashMap` that holds info for all the possible address spaces, as parsed by the `p-` specifications.

The potential performance drawbacks of not having ad-hoc fields for the default address space will be tested in this PR's CI run.

r? workingjubilee
</content>
</entry>
<entry>
<title>Remove unused allow attrs</title>
<updated>2025-07-07T12:58:16+00:00</updated>
<author>
<name>Yotam Ofek</name>
<email>yotamofek@microsoft.com</email>
</author>
<published>2025-06-28T23:40:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3b48407f93abd565b24d138cc7df56ee37855d82'/>
<id>urn:sha1:3b48407f93abd565b24d138cc7df56ee37855d82</id>
<content type='text'>
</content>
</entry>
</feed>
