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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Reassoc does

   <bb 4> [local count: 530374774]:
-  # b.9_28 = PHI <b.9_48(13), prephitmp_59(9)>
+  # b.9_28 = PHI <b.9_48(12), prephitmp_59(8)>
   # RANGE [-83, 1] NONZERO 173
-  # k_32 = PHI <k_47(13), k_12(9)>
-  # c_lsm.11_10 = PHI <pretmp_22(13), c_lsm.11_6(9)>
-  # c_lsm.12_24 = PHI <0(13), c_lsm.12_25(9)>
+  # k_32 = PHI <k_47(12), k_12(8)>
+  # c_lsm.11_10 = PHI <pretmp_22(12), c_lsm.11_6(8)>
+  # c_lsm.12_24 = PHI <0(12), c_lsm.12_25(8)>
   _4 ={v} s.a;
   # RANGE [-2147483647, 2147483647]
   _42 = b.9_28 + 1;
-  if (k_32 >= 0)
-    goto <bb 5>; [26.46%]
-  else
-    goto <bb 9>; [73.54%]
-
-  <bb 5> [local count: 140323371]:
-  # RANGE [0, 1] NONZERO 1
   _5 = (int) k_32;
-  # RANGE [0, 4] NONZERO 4
   _20 = _5 << 2;
-  # RANGE [0, 4] NONZERO 4
   iftmp.0_44 = (char) _20;
-  if (k_32 < iftmp.0_44)
-    goto <bb 6>; [84.48%]
+  _14 = (unsigned char) k_32;
+  _8 = (unsigned char) iftmp.0_44;
+  if (_8 > _14)

likely the reset_flow_sensitive_info_in_bb call is too late for the
simplification bits it does.

Reply via email to