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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
VRP2/DOM3 produces the wrong folding for some reason:
Folding statement: _27 = b.6_9 * 2;
Queued stmt for removal.  Folds to: 2147483647

I don't uinderstand how it could get that from:
  # RANGE [irange] long unsigned int [0, 2147483647][18446744071562067968,
+INF]
  _8 = (long unsigned intD.10) c.5_7;
  # VUSE <.MEM_18(D)>
  b.6_9 = bD.2751;
  # RANGE [irange] long unsigned int [0, 2147483647][18446744071562067968,
+INF]
  _10 = (long unsigned intD.10) b.6_9;
  # RANGE [irange] long unsigned int [0, 4294967294][18446744069414584320,
+INF]
  _11 = _8 + _10;
  # RANGE [irange] long unsigned int [0, 813160647][18446744065932777673, +INF]
  _12 = _11 + 18446744070227744969;
  if (_12 <= 2)
    goto <bb 3>; [50.00%]
  else
    goto <bb 9>; [50.00%]
;;    succ:       3 [50.0% (guessed)]  count:357878153 (estimated locally)
(TRUE_VALUE,EXECUTABLE)
;;                9 [50.0% (guessed)]  count:357878153 (estimated locally)
(FALSE_VALUE,EXECUTABLE)

;;   basic block 3, loop depth 0, count 357878153 (estimated locally), maybe
hot
;;    prev block 2, next block 4, flags: (NEW, REACHABLE, VISITED)
;;    pred:       2 [50.0% (guessed)]  count:357878153 (estimated locally)
(TRUE_VALUE,EXECUTABLE)
  _28 = b.6_9 * 2;

Reply via email to