------- Comment #16 from ubizjak at gmail dot com  2009-09-10 08:50 -------
.optimized tree dump:

;; Function f4 (f4)

f4 (int i)
{
  long int D.2098;
  int * D.2097;
  long unsigned int D.2096;
  int * D.2095;
  int foo_arg.4;
  struct  ap;
  long int x.3;
  double D.2080;
  int D.2079;
  double * D.2078;
  long int D.2076;
  long unsigned int iftmp.2;
  double * D.2072;
  long int D.2071;
  int D.2070;
  void * D.2069;

<bb 2>:
  __builtin_va_start (&ap, 0);
  D.2069_2 = ap.__base;
  D.2070_3 = ap.__offset;
  D.2071_4 = (long int) D.2070_3;
  D.2072_5 = (double *) D.2069_2;
  if (D.2071_4 <= 47)
    goto <bb 3>;
  else
    goto <bb 4>;

<bb 3>:
  D.2076_6 = D.2071_4 + -48;
  iftmp.2_7 = (long unsigned int) D.2076_6;
  goto <bb 5>;

<bb 4>:
  iftmp.2_8 = (long unsigned int) D.2071_4;

<bb 5>:
  # iftmp.2_1 = PHI <iftmp.2_7(3), iftmp.2_8(4)>
  D.2078_9 = D.2072_5 + iftmp.2_1;
  D.2071_10 = D.2071_4 + 8;
  D.2079_11 = (int) D.2071_10;
  ap.__offset = D.2079_11;
  D.2080_12 = *D.2078_9;
  x.3_13 = (long int) D.2080_12;
  x = x.3_13;
  switch (i_14(D)) <default: <L4>, case 5: <L3>>

<L3>:
  D.2098_23 = (long int) D.2079_11;
  D.2097_24 = (int *) D.2069_2;
  D.2096_25 = (long unsigned int) D.2098_23;
  D.2095_26 = D.2097_24 + D.2096_25;
  foo_arg.4_27 = *D.2095_26;
  foo_arg = foo_arg.4_27;
  return;

<L4>:
  abort ();

}



;; Function main (main)

main ()
{
  int foo_arg.1;
  long int x.0;

<bb 2>:
  f4 (5, 1.6e+1, 128);
  x.0_1 = x;
  if (x.0_1 != 16)
    goto <bb 4>;
  else
    goto <bb 3>;

<bb 3>:
  foo_arg.1_2 = foo_arg;
  if (foo_arg.1_2 != 128)
    goto <bb 4>;
  else
    goto <bb 5>;

<bb 4>:
  abort ();

<bb 5>:
  return 0;

}


-- 


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

Reply via email to