rust/compiler/rustc_codegen_llvm/src
bors 3b85d2c7fc Auto merge of #121644 - oli-obk:unique_static_innards2, r=RalfJung,nnethercote
Ensure nested allocations in statics neither get deduplicated nor duplicated

This PR generates new `DefId`s for nested allocations in static items and feeds all the right queries to make the compiler believe these are regular `static` items. I chose this design, because all other designs are fragile and make the compiler horribly complex for such a niche use case.

At present this wrecks incremental compilation performance *in case nested allocations exist* (because any query creating a `DefId` will be recomputed and never loaded from the cache). This will be resolved later in https://github.com/rust-lang/rust/pull/115613 . All other statics are unaffected by this change and will not have performance regressions (heh, famous last words)

This PR contains various smaller refactorings that can be pulled out into separate PRs. It is best reviewed commit-by-commit. The last commit is where the actual magic happens.

r? `@RalfJung` on the const interner and engine changes

fixes https://github.com/rust-lang/rust/issues/79738
2024-03-12 10:29:15 +00:00
..
back Add arm64ec-pc-windows-msvc target 2024-03-06 17:49:37 -08:00
coverageinfo avoid collecting into vecs in some places 2024-03-02 14:18:47 +01:00
debuginfo Ensure nested allocations in statics do not get deduplicated 2024-03-12 05:53:46 +00:00
llvm Fix 32-bit overflows in LLVM composite constants 2024-03-10 17:54:55 -04:00
abi.rs use [N x i8] for byval/sret types 2024-03-05 18:54:45 -05:00
allocator.rs Add -Zuse-sync-unwind 2023-12-31 15:27:43 +08:00
asm.rs Add assertions and clarify asm-goto with noreturn 2024-02-24 19:49:16 +00:00
attributes.rs is_closure_like 2024-02-11 22:09:52 +00:00
base.rs compiler: replace cstr macro with c str literals in compiler and few other c str replacements 2023-12-03 14:54:09 +03:00
builder.rs Rollup merge of #119365 - nbdd0121:asm-goto, r=Amanieu 2024-03-08 08:19:17 +01:00
callee.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
common.rs Fix 32-bit overflows in LLVM composite constants 2024-03-10 17:54:55 -04:00
consts.rs Some comment nits 2024-03-12 08:51:20 +00:00
context.rs Rollup merge of #122166 - beetrees:remove-field-remapping, r=davidtwco 2024-03-11 09:29:36 -07:00
declare.rs Add unstable -Zdefault-hidden-visibility cmdline flag for rustc. 2023-12-13 21:14:23 +00:00
errors.rs Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
intrinsic.rs Rollup merge of #119365 - nbdd0121:asm-goto, r=Amanieu 2024-03-08 08:19:17 +01:00
lib.rs compiler: use addr_of! 2024-02-24 18:53:48 +03:00
llvm_util.rs Rollup merge of #121438 - coolreader18:wasm32-panic-unwind, r=cuviper 2024-03-11 09:29:34 -07:00
mono_item.rs Some comment nits 2024-03-12 08:51:20 +00:00
type_.rs Fix 32-bit overflows in LLVM composite constants 2024-03-10 17:54:55 -04:00
type_of.rs Remove the unused field_remapping field from TypeLowering 2024-03-08 03:42:47 +00:00
va_arg.rs Add arm64ec-pc-windows-msvc target 2024-03-06 17:49:37 -08:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00