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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
It's strange because the CFG looks fine in optimized dump:

g (int b, int c, int d)
{
  long int a.0_1;

  <bb 2> [local count: 1073741825]:
  if (b_5(D) > 0)
    goto <bb 3>; [50.00%]
  else
    goto <bb 5>; [50.00%]

  <bb 3> [local count: 1073741825]:
  switch (b_5(D)) <default: <L6> [75.00%], case 29: <L13> [25.00%], case 32:
<L13> [25.00%], case 40: <L13> [25.00%], case 42: <L13> [25.00%], case 48:
<L13> [25.00%]>

  <bb 4> [count: 0]:
<L6>:
  __builtin_unreachable ();

  <bb 5> [local count: 1073312327]:
  # c_2 = PHI <1(2), 2(3)>
<L13>:
  if (d_6(D) != 0)
    goto <bb 7>; [33.00%]
  else
    goto <bb 6>; [67.00%]

  <bb 6> [local count: 719119259]:
  a.0_1 = a;
  if (a.0_1 != 0)
    goto <bb 7>; [50.00%]
  else
    goto <bb 8>; [50.00%]

  <bb 7> [local count: 713752697]:
  f ();

  <bb 8> [local count: 1073312326]:
  if (c_2 == 1)
    goto <bb 9>; [20.24%]
  else
    goto <bb 10>; [79.76%]

  <bb 9> [local count: 217238415]:
  f (); [tail call]

  <bb 10> [local count: 1073312326]:
  return;

I'm adding Jakub and Richi, they are more familiar with GIMPLE representation.

Reply via email to