<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_llvm/src/llvm, 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-21T16:54:24+00:00</updated>
<entry>
<title>Rollup merge of #142097 - ZuseZ4:offload-host1, r=oli-obk</title>
<updated>2025-07-21T16:54:24+00:00</updated>
<author>
<name>许杰友 Jieyou Xu (Joe)</name>
<email>39484203+jieyouxu@users.noreply.github.com</email>
</author>
<published>2025-07-21T16:54:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5e3eb2512591df0cef52404f0ea4202f58935a54'/>
<id>urn:sha1:5e3eb2512591df0cef52404f0ea4202f58935a54</id>
<content type='text'>
gpu offload host code generation

r? ghost

This will generate most of the host side code to use llvm's offload feature.
The first PR will only handle automatic mem-transfers to and from the device.
So if a user calls a kernel, we will copy inputs back and forth, but we won't do the actual kernel launch.
Before merging, we will use LLVM's Info infrastructure to verify that the memcopies match what openmp offloa generates in C++. `LIBOMPTARGET_INFO=-1 ./my_rust_binary` should print that a memcpy to and later from the device is happening.

A follow-up PR will generate the actual device-side kernel which will then do computations on the GPU.
A third PR will implement manual host2device and device2host functionality, but the goal is to minimize cases where a user has to overwrite our default handling due to performance issues.

I'm trying to get a full MVP out first, so this just recognizes GPU functions based on magic names. The final frontend will obviously move this over to use proper macros, like I'm already doing it for the autodiff work.
This work will also be compatible with std::autodiff, so one can differentiate GPU kernels.

Tracking:
- https://github.com/rust-lang/rust/issues/131513
</content>
</entry>
<entry>
<title>add various wrappers for gpu code generation</title>
<updated>2025-07-18T23:24:12+00:00</updated>
<author>
<name>Manuel Drehwald</name>
<email>git@manuel.drehwald.info</email>
</author>
<published>2025-07-02T23:35:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5958ebe829429e3595e8211e6cb1b0328d515ab7'/>
<id>urn:sha1:5958ebe829429e3595e8211e6cb1b0328d515ab7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pass wasm exception model to TargetOptions</title>
<updated>2025-07-18T07:35:50+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2025-07-11T08:11:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=12b19be741ea07934d7478bd8e450dca8f85afe5'/>
<id>urn:sha1:12b19be741ea07934d7478bd8e450dca8f85afe5</id>
<content type='text'>
This is no longer implied by -wasm-enable-eh.
</content>
</entry>
<entry>
<title>Shrink some `unsafe` blocks in cg_llvm</title>
<updated>2025-07-14T08:27:08+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-07-09T09:23:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e574fef728605089da8144960348469896751c3c'/>
<id>urn:sha1:e574fef728605089da8144960348469896751c3c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Avoid a bunch of unnecessary `unsafe` blocks in cg_llvm</title>
<updated>2025-07-14T08:27:08+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-07-09T09:12:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d3d51b4fdbd6854da015f501e6566ca17cb023e5'/>
<id>urn:sha1:d3d51b4fdbd6854da015f501e6566ca17cb023e5</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>Rollup merge of #143722 - oli-obk:sound-llvm, r=dianqk</title>
<updated>2025-07-11T00:20:39+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>t.gross35@gmail.com</email>
</author>
<published>2025-07-11T00:20:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6e3d017b2ff771438011feb5c21e0892ec2a22fb'/>
<id>urn:sha1:6e3d017b2ff771438011feb5c21e0892ec2a22fb</id>
<content type='text'>
Make some "safe" llvm ops actually sound

Noticed while doing other refactorings

it may cause some extra unnecessary allocations, but the current use sites are rare ones anyway
</content>
</entry>
<entry>
<title>Make some "safe" llvm ops actually sound</title>
<updated>2025-07-10T07:27:41+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>github333195615777966@oli-obk.de</email>
</author>
<published>2025-07-10T07:27:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=84eeca2e2fc40bb8d6641846f18af9d8fc6a9681'/>
<id>urn:sha1:84eeca2e2fc40bb8d6641846f18af9d8fc6a9681</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: correct parameter names in LLVMRustBuildMinNum and LLVMRustBuildMaxNum FFI declarations</title>
<updated>2025-07-08T11:24:19+00:00</updated>
<author>
<name>Dillon Amburgey</name>
<email>dillona@dillona.com</email>
</author>
<published>2025-07-08T11:17:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=045557797431bfff807145341efbe8f8fb08817e'/>
<id>urn:sha1:045557797431bfff807145341efbe8f8fb08817e</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>
</feed>
