diff options
| author | bors <bors@rust-lang.org> | 2023-11-05 00:03:41 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2023-11-05 00:03:41 +0000 |
| commit | f5ca57e153afaed818f8be88abf5ce46715c0f9a (patch) | |
| tree | 9dc9e0381a9643a643075d7160ccdda95db0c1d0 /tests/codegen | |
| parent | 4b85902b438f791c5bfcb6b1c5b476d5b88e2bef (diff) | |
| parent | 029fbd67ef65dae50172678033c0762610041a38 (diff) | |
| download | rust-f5ca57e153afaed818f8be88abf5ce46715c0f9a.tar.gz rust-f5ca57e153afaed818f8be88abf5ce46715c0f9a.zip | |
Auto merge of #117503 - kornelski:hint-try-reserved, r=workingjubilee
Hint optimizer about try-reserved capacity This is #116568, but limited only to the less-common `try_reserve` functions to reduce bloat in debug binaries from debug info, while still addressing the main use-case #116570
Diffstat (limited to 'tests/codegen')
| -rw-r--r-- | tests/codegen/vec-reserve-extend.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/codegen/vec-reserve-extend.rs b/tests/codegen/vec-reserve-extend.rs new file mode 100644 index 00000000000..d95220104c2 --- /dev/null +++ b/tests/codegen/vec-reserve-extend.rs @@ -0,0 +1,14 @@ +// compile-flags: -O + +#![crate_type = "lib"] + +// CHECK-LABEL: @should_reserve_once +#[no_mangle] +pub fn should_reserve_once(v: &mut Vec<u8>) { + // CHECK: tail call void @llvm.assume + v.try_reserve(3).unwrap(); + // CHECK-NOT: call {{.*}}reserve + // CHECK-NOT: call {{.*}}do_reserve_and_handle + // CHECK-NOT: call {{.*}}__rust_alloc( + v.extend([1, 2, 3]); +} |
