[Bug target/96015] [10/11 Regression] gcc-10.1.0 miscompiles Python on hppa

slyfox at inbox dot ru gcc-bugzilla@gcc.gnu.org
Thu Jul 2 06:58:42 GMT 2020


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

--- Comment #16 from Sergei Trofimovich <slyfox at inbox dot ru> ---
If I looks at bad-bug.c.190t.dse3 I see 'self' and 'other' refer to the same
.MEM_10 memory location in 'basic block 5'. I think it should not, 'basic block
4' jumps into bb5 only when self != other. Do I read it correctly?

;;   basic block 4, loop depth 0, count 346397698 (estimated locally), maybe
hot
;;    prev block 3, next block 5, flags: (NEW, REACHABLE, VISITED)
;;    pred:       3 [66.0% (guessed)]  count:346397697 (estimated locally)
(FALSE_VALUE,EXECUTABLE)
  if (self_11(D) == other_12(D))
    goto <bb 7>; [30.00%]
  else
    goto <bb 5>; [70.00%]
;;    succ:       7 [30.0% (guessed)]  count:103919308 (estimated locally)
(TRUE_VALUE,EXECUTABLE)
;;                5 [70.0% (guessed)]  count:242478390 (estimated locally)
(FALSE_VALUE,EXECUTABLE)

;;   basic block 5, loop depth 0, count 242478389 (estimated locally), maybe
hot
;;    prev block 4, next block 6, flags: (NEW, REACHABLE, VISITED)
;;    pred:       4 [70.0% (guessed)]  count:242478390 (estimated locally)
(FALSE_VALUE,EXECUTABLE)
  # VUSE <.MEM_10>
  _13 = *self_11(D);
  # VUSE <.MEM_10>
  _16 = *other_12(D);
  sign_17 = _13 - _16;
  if (sign_17 == 0)
    goto <bb 13>; [34.00%]
  else
    goto <bb 6>; [66.00%]
;;    succ:       13 [34.0% (guessed)]  count:82442653 (estimated locally)
(TRUE_VALUE,EXECUTABLE)
;;                6 [66.0% (guessed)]  count:160035736 (estimated locally)
(FALSE_VALUE,EXECUTABLE)


More information about the Gcc-bugs mailing list