rust/tests/codegen/vec-len-invariant.rs
Mark Rousskov f1ae5314be Avoid reloading Vec::len across grow_one in push
This saves an extra load from memory.
2024-04-20 21:07:00 -04:00

17 lines
374 B
Rust

//@ compile-flags: -O
//@ only-64bit
//
// This test confirms that we do not reload the length of a Vec after growing it in push.
#![crate_type = "lib"]
// CHECK-LABEL: @should_load_once
#[no_mangle]
pub fn should_load_once(v: &mut Vec<u8>) {
// CHECK: load i64
// CHECK: call {{.*}}grow_one
// CHECK-NOT: load i64
// CHECK: add {{.*}}, 1
v.push(1);
}