rust/compiler/rustc_codegen_llvm/src
Nikita Popov 1b7342b411 force_array -> is_consecutive
The actual ABI implication here is that in some cases the values
are required to be "consecutive", i.e. must either all be passed
in registers or all on stack (without padding).

Adjust the code to either use Uniform::new() or Uniform::consecutive()
depending on which behavior is needed.

Then, when lowering this in LLVM, skip the [1 x i128] to i128
simplification if is_consecutive is set. i128 is the only case
I'm aware of where this is problematic right now. If we find
other cases, we can extend this (either based on target information
or possibly just by not simplifying for is_consecutive entirely).
2024-04-08 11:31:43 +09:00
..
back Save/restore more items in cache with incremental compilation 2024-04-06 10:59:24 -04:00
coverageinfo Auto merge of #123455 - matthiaskrgr:rollup-b6nu296, r=matthiaskrgr 2024-04-04 13:10:22 +00:00
debuginfo Replace Session should_remap_filepaths with filename_display_preference 2024-03-28 18:47:26 +01:00
llvm Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
abi.rs force_array -> is_consecutive 2024-04-08 11:31:43 +09:00
allocator.rs Add -Zuse-sync-unwind 2023-12-31 15:27:43 +08:00
asm.rs CFI: Use Instance at callsites 2024-03-23 18:30:39 +00:00
attributes.rs Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01: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 Auto merge of #122849 - clubby789:no-metadata, r=petrochenkov 2024-03-26 06:46:43 +00:00
callee.rs Fix clippy::needless_borrow in the compiler 2023-11-21 20:13:40 +01:00
common.rs Add+Use mir::BinOp::Cmp 2024-03-23 23:23:41 -07:00
consts.rs Some comment nits 2024-03-12 08:51:20 +00:00
context.rs Auto merge of #119552 - krtab:dead_code_priv_mod_pub_field, r=cjgillot,saethlin 2024-03-23 00:37:05 +00:00
declare.rs CFI: Restore typeid_for_instance default behavior 2024-04-04 21:19:33 -07:00
errors.rs Rename IntoDiagnostic as Diagnostic. 2024-03-11 09:15:09 +11:00
intrinsic.rs rename expose_addr to expose_provenance 2024-04-03 16:00:38 +02:00
lib.rs compiler: use addr_of! 2024-02-24 18:53:48 +03:00
llvm_util.rs Register LLVM handlers for bad-alloc / OOM 2024-03-15 15:49:06 -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