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

--- Comment #29 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
At least from eyeballing the dumps it looks like it probably it is r16-7756
In the problematic part of ccp2 dump I see (trunk with r16-7756 reverted to
trunk):
...
   if (_1079 ==
_ZThn24_N7mozilla3net13nsStandardURL16TemplatedMutatorIS1_E4InitEjiRK12nsTSubstringIcEPKcP6nsIURIPP13nsIURIMutator)
     goto <bb 112>; [100.00%]
   else
-    goto <bb 119>; [0.00%]
+    goto <bb 121>; [0.00%]

   <bb 112> [count: 46506]:
-  _1769 = _1074 + 18446744073709551592;
-  _1131 = MEM[(const struct RefPtr *)_1769 + 16B].mRawPtr;
+  _1770 = _1074 + 18446744073709551592;
+  _1131 = MEM[(const struct RefPtr *)_1770 + 16B].mRawPtr;
   if (_1131 != 0B)
     goto <bb 113>; [0.00%]
   else
     goto <bb 114>; [100.00%]

   <bb 113> [count: 0]:
-  MEM[(struct RefPtr *)_1769 + 16B].mRawPtr = 0B;
-  rv_1138 = Init (_1131, 2, 80, aSpec_5(D), _35, _34);
+  MEM[(struct RefPtr *)_1770 + 16B].mRawPtr = 0B;
+  goto <bb 116>; [100.00%]
+
+  <bb 114> [count: 46506]:
+  _1132 = MEM[(struct TemplatedMutator
*)_1770].D.5920.D.5700.D.5698.D.5695._vptr.nsISupports;
+  _1133 = MEM[(int (*__vtbl_ptr_type) () *)_1132 + 200B];
+  _1134 = OBJ_TYPE_REF(_1133;(struct TemplatedMutator)_1770->25B) (_1770);
+  if (_1134 != 0B)
+    goto <bb 115>; [100.00%]
+  else
+    goto <bb 116>; [0.00%]
+
+  <bb 115> [count: 46506]:
+  _1135 = _1134->D.5778.D.5729.D.5725.D.5674._vptr.nsISupports;
+  _1136 = MEM[(int (*__vtbl_ptr_type) () *)_1135 + 8B];
+  OBJ_TYPE_REF(_1136;(struct nsStandardURL)_1134->1B) (_1134);
+
+  <bb 116> [count: 46506]:
+  # uri$mRawPtr_1137 = PHI <_1131(113), 0B(114), _1134(115)>
+  rv_1138 = Init (uri$mRawPtr_1137, 2, 80, aSpec_5(D), _35, _34);
   _1139 = (signed int) rv_1138;
   _1140 = _1139 != 0;
   _1141 = (long int) _1140;
   _1142 = _1141;
   if (_1142 != 0)
-    goto <bb 117>; [0.00%]
+    goto <bb 119>; [0.00%]
   else
-    goto <bb 115>; [100.00%]
-
-  <bb 114> [count: 46506]:
-  _1132 = MEM[(struct TemplatedMutator
*)_1769].D.5920.D.5700.D.5698.D.5695._vptr.nsISupports;
-  _1133 = MEM[(int (*__vtbl_ptr_type) () *)_1132 + 200B];
-  __builtin_unreachable ();
+    goto <bb 117>; [100.00%]

-  <bb 115> [count: 46506]:
-  oldPtr_1143 = MEM[(struct RefPtr *)_1769 + 16B].mRawPtr;
-  MEM[(struct RefPtr *)_1769 + 16B].mRawPtr = _1131;
+  <bb 117> [count: 46506]:
+  oldPtr_1143 = MEM[(struct RefPtr *)_1770 + 16B].mRawPtr;
+  MEM[(struct RefPtr *)_1770 + 16B].mRawPtr = uri$mRawPtr_1137;
   if (oldPtr_1143 != 0B)
-    goto <bb 116>; [0.00%]
+    goto <bb 118>; [0.00%]
   else
-    goto <bb 117>; [100.00%]
+    goto <bb 119>; [100.00%]

-  <bb 116> [count: 0]:
+  <bb 118> [count: 0]:
   _1144 = oldPtr_1143->D.5778.D.5729.D.5725.D.5674._vptr.nsISupports;
   _1145 = MEM[(int (*__vtbl_ptr_type) () *)_1144 + 16B];
   OBJ_TYPE_REF(_1145;(struct nsStandardURL)oldPtr_1143->2B) (oldPtr_1143);
...

Reply via email to