rust/compiler/rustc_codegen_llvm/src
Stuart Cook 3d102a7812
Rollup merge of #150893 - ZuseZ4:move-un-register-lib, r=oli-obk
offload: move (un)register lib into global_ctors

Right now we initialize the openmp/offload runtime before every single offload call, and tear it down directly afterwards.
What we should rather do is initialize it once in the binary startup code, and tear it down at the end of the binary execution. Here I implement these changes.

Together, our generated IR has a lot less usage of globals, which in turn simplifies the refactoring in https://github.com/rust-lang/rust/pull/150683, where I introduce a new variant of our offload intrinsic.

r? oli-obk
2026-01-28 19:03:51 +11:00
..
back Rollup merge of #150780 - fzakaria:fzakaria/section-threshold, r=jackh726 2026-01-23 11:07:55 +01:00
builder Leave note to drop tgt_init_all_rtls in the future 2026-01-27 10:43:22 -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 Temporarily re-export assert_matches! to reduce stabilization churn 2026-01-19 18:26:53 +11: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 Modified to output error messages appropriate to the situation 2026-01-07 00:33:57 +09: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 Rollup merge of #149209 - lto_refactors8, r=jackh726 2026-01-21 02:04:01 -05: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 rustc_target: Remove unused Arch::PowerPC64LE 2026-01-14 23:12:57 +09:00
value.rs Consistently import llvm::Type and llvm::Value 2025-10-06 13:09:16 +11:00