[Bug bootstrap/56689] internal compiler error: in get_loop_body, at cfgloop.c:841

krebbel at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 25 09:15:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56689

--- Comment #4 from Andreas Krebbel <krebbel at gcc dot gnu.org> 2013-03-25 09:14:52 UTC ---
phicprop2:
  <bb 9>:
  switch (fixed_11(D)) <default: <L15>, case 0: <L6>, case 1: <L12>>

vrp2:
  <bb 9>:
  switch (fixed_13(D)) <default: <L15>, case 1: <L12>>

<L6>: (bb 10)
  switch (call_used_12(D)) <default: <L8>, case 1: <L7>>


VRP optimizes the "case 0: <L6>" away. So there is no edge between bb9 and bb10
anymore. Due to that dfs_enumerate_from does not consider bb9 to be part of the
loop anymore. It counts 7 instead of 8 bbs for the loop due to this.



More information about the Gcc-bugs mailing list