summary refs log tree commit diff
path: root/tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-08-23 19:48:39 +0000
committerbors <bors@rust-lang.org>2023-08-23 19:48:39 +0000
commit5680fa18feaa87f3ff04063800aec256c3d4b4be (patch)
treef0daae2bd1d2aea53a44c261bd4f3e359a436567 /tests/mir-opt/pre-codegen/mem_replace.mem_replace.PreCodegen.after.mir
parentf155f8c3d9b6f63f1752dc205665869c475d3c1f (diff)
parent298ec5258f8e5f1211734bcb43c89aa184d3ca1b (diff)
downloadrust-1.72.0.tar.gz
rust-1.72.0.zip
Auto merge of #115140 - wesleywiser:turn_off_mir_sroa, r=cuviper 1.72.0
Disable MIR SROA optimization by default

Turn off the MIR SROA optimization by default to prevent incorrect debuginfo generation and rustc ICEs caused by invalid LLVM IR being created.

Related to #115113

r? `@cuviper`
cc `@saethlin`
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.mir10
1 files changed, 8 insertions, 2 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 dde7a618881..f8f4f5b9959 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
@@ -15,18 +15,20 @@ fn mem_replace(_1: &mut u32, _2: u32) -> u32 {
                 scope 7 (inlined std::ptr::write::<u32>) {
                     debug dst => _4;
                     debug src => _2;
+                    let mut _6: *mut u32;
                     scope 8 {
                         scope 9 (inlined std::ptr::write::runtime::<u32>) {
-                            debug dst => _4;
+                            debug dst => _6;
                         }
                     }
                 }
             }
             scope 4 (inlined std::ptr::read::<u32>) {
                 debug src => _3;
+                let mut _5: *const u32;
                 scope 5 {
                     scope 6 (inlined std::ptr::read::runtime::<u32>) {
-                        debug src => _3;
+                        debug src => _5;
                     }
                 }
             }
@@ -36,11 +38,15 @@ fn mem_replace(_1: &mut u32, _2: u32) -> u32 {
     bb0: {
         StorageLive(_3);
         _3 = &raw const (*_1);
+        StorageLive(_5);
         _0 = (*_3);
+        StorageDead(_5);
         StorageDead(_3);
         StorageLive(_4);
         _4 = &raw mut (*_1);
+        StorageLive(_6);
         (*_4) = _2;
+        StorageDead(_6);
         StorageDead(_4);
         return;
     }