add codegen test for #107436
remove trailing whitespace, add trailing newline fix llvm version and function name
This commit is contained in:
parent
c40cfcf049
commit
d88c80f5de
22
tests/codegen/move-before-nocapture-ref-arg.rs
Normal file
22
tests/codegen/move-before-nocapture-ref-arg.rs
Normal file
@ -0,0 +1,22 @@
|
||||
// Verify that move before the call of the function with noalias, nocapture, readonly.
|
||||
// #107436
|
||||
// compile-flags: -O
|
||||
// min-llvm-version: 17
|
||||
|
||||
#![crate_type = "lib"]
|
||||
|
||||
#[repr(C)]
|
||||
pub struct ThreeSlices<'a>(&'a [u32], &'a [u32], &'a [u32]);
|
||||
|
||||
#[no_mangle]
|
||||
pub fn sum_slices(val: ThreeSlices) -> u32 {
|
||||
// CHECK-NOT: memcpy
|
||||
let val = val;
|
||||
sum(&val)
|
||||
}
|
||||
|
||||
#[no_mangle]
|
||||
#[inline(never)]
|
||||
pub fn sum(val: &ThreeSlices) -> u32 {
|
||||
val.0.iter().sum::<u32>() + val.1.iter().sum::<u32>() + val.2.iter().sum::<u32>()
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user