mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-18 10:38:11 +00:00
![]() Remove my `scalar_copy_backend_type` optimization attempt I added this back in https://github.com/rust-lang/rust/pull/111999 , but I no longer think it's a good idea - It had to get scaled back to only power-of-two things to not break a bunch of targets - LLVM seems to be getting better at memcpy removal anyway - Introducing vector instructions has seemed to sometimes (https://github.com/rust-lang/rust/pull/115515#issuecomment-1750069529) make autovectorization worse So this removes it from the codegen crates entirely, and instead just tries to use <https://doc.rust-lang.org/nightly/nightly-rustc/rustc_codegen_ssa/traits/builder/trait.BuilderMethods.html#method.typed_place_copy> instead of direct `memcpy` so things will still use load/store when a type isn't `OperandValue::Ref`. |
||
---|---|---|
.. | ||
back | ||
coverageinfo | ||
debuginfo | ||
llvm | ||
abi.rs | ||
allocator.rs | ||
asm.rs | ||
attributes.rs | ||
base.rs | ||
builder.rs | ||
callee.rs | ||
common.rs | ||
consts.rs | ||
context.rs | ||
declare.rs | ||
errors.rs | ||
intrinsic.rs | ||
lib.rs | ||
llvm_util.rs | ||
mono_item.rs | ||
type_.rs | ||
type_of.rs | ||
va_arg.rs | ||
value.rs |