diff options
| author | Scott McMurray <scottmcm@users.noreply.github.com> | 2023-04-29 23:32:40 -0700 |
|---|---|---|
| committer | Scott McMurray <scottmcm@users.noreply.github.com> | 2023-04-30 22:33:04 -0700 |
| commit | 5292d48b85482bd3edc430e1933f5bc51eafbff4 (patch) | |
| tree | 397a91daa526a8e5333624e347162ecd707b398c /tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir | |
| parent | ca3f742ff6fe12b6bb247546189d44718f679799 (diff) | |
Codegen fewer instructions in `mem::replace`
Diffstat (limited to 'tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir')
| -rw-r--r-- | tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir index 19e79e0a2f0..50e0538c133 100644 --- a/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir +++ b/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir @@ -9,29 +9,26 @@ fn mem_replace(_1: &mut u32, _2: u32) -> u32 { debug src => _2; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL let mut _3: *const u32; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL let mut _4: *mut u32; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - let mut _5: u32; // in scope 1 at $SRC_DIR/core/src/mem/mod.rs:LL:COL scope 2 { scope 3 { debug result => _0; // in scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL scope 7 (inlined std::ptr::write::<u32>) { // at $SRC_DIR/core/src/mem/mod.rs:LL:COL debug dst => _4; // in scope 7 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - debug src => _5; // in scope 7 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - let mut _7: *const u32; // in scope 7 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - let _8: &u32; // in scope 7 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - let mut _9: *mut u32; // in scope 7 at $SRC_DIR/core/src/intrinsics.rs:LL:COL + debug src => _2; // in scope 7 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL + let mut _6: *mut u32; // in scope 7 at $SRC_DIR/core/src/intrinsics.rs:LL:COL scope 8 { scope 9 (inlined std::ptr::write::runtime::<u32>) { // at $SRC_DIR/core/src/intrinsics.rs:LL:COL - debug dst => _9; // in scope 9 at $SRC_DIR/core/src/intrinsics.rs:LL:COL + debug dst => _6; // in scope 9 at $SRC_DIR/core/src/intrinsics.rs:LL:COL } } } } scope 4 (inlined std::ptr::read::<u32>) { // at $SRC_DIR/core/src/mem/mod.rs:LL:COL debug src => _3; // in scope 4 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - let mut _6: *const u32; // in scope 4 at $SRC_DIR/core/src/intrinsics.rs:LL:COL + let mut _5: *const u32; // in scope 4 at $SRC_DIR/core/src/intrinsics.rs:LL:COL scope 5 { scope 6 (inlined std::ptr::read::runtime::<u32>) { // at $SRC_DIR/core/src/intrinsics.rs:LL:COL - debug src => _6; // in scope 6 at $SRC_DIR/core/src/intrinsics.rs:LL:COL + debug src => _5; // in scope 6 at $SRC_DIR/core/src/intrinsics.rs:LL:COL } } } @@ -41,24 +38,15 @@ fn mem_replace(_1: &mut u32, _2: u32) -> u32 { bb0: { StorageLive(_3); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL _3 = &raw const (*_1); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - StorageLive(_6); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL + StorageLive(_5); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL _0 = (*_3); // scope 5 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - StorageDead(_6); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL + StorageDead(_5); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL StorageDead(_3); // scope 2 at $SRC_DIR/core/src/mem/mod.rs:LL:COL StorageLive(_4); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL _4 = &raw mut (*_1); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - StorageLive(_5); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - _5 = _2; // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - StorageLive(_9); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - StorageLive(_7); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - StorageLive(_8); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - _8 = &_5; // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - _7 = &raw const (*_8); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - copy_nonoverlapping(dst = _4, src = move _7, count = const 1_usize); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - StorageDead(_7); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - StorageDead(_8); // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL - StorageDead(_9); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL - StorageDead(_5); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL + StorageLive(_6); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL + (*_4) = _2; // scope 8 at $SRC_DIR/core/src/ptr/mod.rs:LL:COL + StorageDead(_6); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL StorageDead(_4); // scope 3 at $SRC_DIR/core/src/mem/mod.rs:LL:COL return; // scope 0 at $DIR/mem_replace.rs:+2:2: +2:2 } |
