https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100263

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-04-26
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
            Summary|Wrong removal of statement  |[11/12 Regression] Wrong
                   |in copyprop3                |removal of statement in
                   |                            |copyprop3
   Target Milestone|---                         |11.2
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
           Priority|P3                          |P2

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
In can confirm it is r11-39-gf9e1ea10e657af9fb02fafecf1a600740fd34409
Before lim2 the dump is identical, lim2 dump difference between r11-38 and
r11-39
is:
--- pr100263.c.131t.lim2.r11-38       2021-04-26 15:54:38.623719858 +0200
+++ pr100263.c.131t.lim2.r11-39        2021-04-26 15:54:53.982545411 +0200
@@ -165,26 +165,23 @@ main ()
   j_lsm_flag.23_69 = 0;
   k_lsm.24_70 = k;
   k_lsm_flag.25_71 = 0;
-  l_lsm.26_72 = l;
-  l_lsm_flag.27_73 = 0;
-  c__lsm.20_74 = MEM[(char *)&c + 107B];
-  c__lsm_flag.21_75 = 0;
+  l_lsm_flag.27_72 = 0;
+  c__lsm_flag.21_73 = 0;
   h.4_5 = h;
-  b_lsm.28_76 = b;
-  b_lsm_flag.29_77 = 0;
+  b_lsm_flag.29_74 = 0;

   <bb 3> [local count: 10321168952]:
   # b.12_44 = PHI <b.0_1(18), _32(23)>
-  # c__lsm.20_50 = PHI <c__lsm.20_74(18), c__lsm.20_51(23)>
-  # c__lsm_flag.21_52 = PHI <c__lsm_flag.21_75(18), c__lsm_flag.21_53(23)>
+  # c__lsm.20_50 = PHI <c__lsm.20_75(D)(18), c__lsm.20_51(23)>
+  # c__lsm_flag.21_52 = PHI <c__lsm_flag.21_73(18), c__lsm_flag.21_53(23)>
   # j_lsm.22_54 = PHI <j_lsm.22_68(18), j_lsm.22_55(23)>
   # j_lsm_flag.23_56 = PHI <j_lsm_flag.23_69(18), j_lsm_flag.23_57(23)>
   # k_lsm.24_58 = PHI <k_lsm.24_70(18), k_lsm.24_59(23)>
   # k_lsm_flag.25_60 = PHI <k_lsm_flag.25_71(18), k_lsm_flag.25_61(23)>
-  # l_lsm.26_62 = PHI <l_lsm.26_72(18), l_lsm.26_63(23)>
-  # l_lsm_flag.27_64 = PHI <l_lsm_flag.27_73(18), l_lsm_flag.27_65(23)>
-  # b_lsm.28_66 = PHI <b_lsm.28_76(18), b_lsm.28_101(23)>
-  # b_lsm_flag.29_67 = PHI <b_lsm_flag.29_77(18), b_lsm_flag.29_102(23)>
+  # l_lsm.26_62 = PHI <l_lsm.26_76(D)(18), l_lsm.26_63(23)>
+  # l_lsm_flag.27_64 = PHI <l_lsm_flag.27_72(18), l_lsm_flag.27_65(23)>
+  # b_lsm.28_66 = PHI <b_lsm.28_77(D)(18), b_lsm.28_101(23)>
+  # b_lsm_flag.29_67 = PHI <b_lsm_flag.29_74(18), b_lsm_flag.29_102(23)>
   if (a.1_7 != 0)
     goto <bb 4>; [50.00%]
   else

I can reproduce the same problem even when replacing
      char *n = &c[3][8][2];
      *n = 1;
with
      c[3][8][2] = 1;

Reply via email to