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

--- Comment #4 from vries at gcc dot gnu.org ---
-funswitch-loops introduces a degenerate phi (.MEM_74) in the latch block (bb
13), which is not removed before parloops:
...
;;   basic block 11, loop depth 1, count 0, freq 2500, maybe hot
;;    prev block 10, next block 12, flags: (NEW, REACHABLE)
;;    pred:       10 [100.0%]  (FALLTHRU,EXECUTABLE)
;;                13 [100.0%]  (FALLTHRU,EXECUTABLE)
  # i_61 = PHI <num_4(D)(10), i_63(13)>
  # .MEM_62 = PHI <.MEM_5(D)(10), .MEM_74(13)>
  i_63 = i_61 + -1;
  if (i_61 != 0)
    goto <bb 13>;
  else
    goto <bb 12>;
;;    succ:       13 [91.0%]  (TRUE_VALUE,EXECUTABLE)
;;                12 [9.0%]  (FALSE_VALUE,EXECUTABLE)

;;   basic block 13, loop depth 1, count 0, freq 2275, maybe hot
;;    prev block 12, next block 14, flags: (NEW, REACHABLE)
;;    pred:       11 [91.0%]  (TRUE_VALUE,EXECUTABLE)
  # .MEM_74 = PHI <.MEM_62(11)>
  goto <bb 11>;
;;    succ:       11 [100.0%]  (FALLTHRU,EXECUTABLE)
...

Reply via email to