rust/compiler/rustc_codegen_llvm/src
Jonathan Brouwer 16c7ee5c05
Rollup merge of #151640 - ZuseZ4:cleanup-datatransfer, r=nnethercote
Cleanup offload datatransfer

There are 3 steps to run code on a GPU: Copy data from the host to the device, launch the kernel, and move it back.
At the moment, we have a single variable describing the memory handling to do in each step, but that makes it hard for LLVM's opt pass to understand what's going on. We therefore split it into three variables, each only including the bits relevant for the corresponding stage.

cc @jdoerfert @kevinsala

r? compiler
2026-02-08 19:15:26 +01:00
..
back Rollup merge of #150780 - fzakaria:fzakaria/section-threshold, r=jackh726 2026-01-23 11:07:55 +01:00
builder Split ol mapper into more specific to/kernel/from mapper and move init_all_rtls into global ctor 2026-02-07 17:34:39 -08:00
coverageinfo Temporarily re-export assert_matches! to reduce stabilization churn 2026-01-19 18:26:53 +11:00
debuginfo cleanup: Start splitting FIXME(f16_f128) into f16, f128, or f16,f128 2026-01-22 23:41:57 -06:00
llvm Auto merge of #151065 - nagisa:add-preserve-none-abi, r=petrochenkov 2026-01-25 02:49:32 +00:00
abi.rs abi: add a rust-preserve-none calling convention 2026-01-24 19:23:17 +02:00
allocator.rs Remove -Zoom=panic 2025-11-28 19:30:39 +00:00
asm.rs escape symbol names in global asm 2026-02-02 15:10:36 +08:00
attributes.rs Auto merge of #151337 - the8472:bail-before-memcpy2, r=Mark-Simulacrum 2026-01-25 19:45:35 +00:00
base.rs Update test and verify that tgt_(un)register_lib have the right type 2026-01-04 06:58:31 -08:00
builder.rs Rollup merge of #150893 - ZuseZ4:move-un-register-lib, r=oli-obk 2026-01-28 19:03:51 +11:00
callee.rs rustc_target: introduce Env 2025-11-11 18:34:47 -05:00
common.rs move initialization of omp/ol runtimes into global_ctor/dtor 2026-01-20 20:06:08 -05:00
consts.rs Fix dso_local for external statics with linkage 2025-12-29 19:26:34 +00:00
context.rs Rollup merge of #151429 - s390x, r=durin42 2026-01-20 19:46:32 -05:00
declare.rs refactor: Remove LLVMRustInsertPrivateGlobal and define_private_global 2025-10-08 21:59:48 +02:00
errors.rs Fix existing messages in the diag structs 2026-02-07 09:11:34 +01:00
intrinsic.rs Rollup merge of #150893 - ZuseZ4:move-un-register-lib, r=oli-obk 2026-01-28 19:03:51 +11:00
lib.rs Auto merge of #150605 - RalfJung:fallback-intrinsic-skip, r=mati865 2026-02-04 17:12:58 +00:00
llvm_util.rs Don't use evex512 with LLVM 22 2026-01-20 14:47:09 +01:00
macros.rs use declarative macro for #[derive(TryFromU32)] 2025-10-06 14:54:38 +00:00
mono_item.rs rustc_target: Remove unused Arch::PowerPC64LE 2026-01-14 23:12:57 +09:00
type_.rs Remove inherent methods from llvm::TypeKind 2025-12-19 12:32:49 +11:00
type_of.rs codegen: implement repr(scalable) 2025-12-16 11:00:12 +00:00
typetree.rs remove llvm_enzyme and enzyme fallbacks from most places, enable the autodiff frontend on nightly 2025-12-19 11:02:57 -08:00
va_arg.rs c-variadic: make va_arg match on Arch exhaustive 2026-02-05 00:41:10 +01:00
value.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00