This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa][unit-at-a-time] bootstrap


Andrew,

First of all, thank you for looking into this.

I produced these using an ssa compiler from the last few hours. I hope this helps.

I used something like -fdump-tree-all. I didn't include dumps that
seemed identical to those prior.


It seems that rewrite_out_of_ssa() seems a likely culprit from examining
dumps .dce and .optimized.


Off Topic:

Pre seems to leave alot of (void)0;. Are these required? Do they
contribute negatively/positively to later stages?



Various Files:


// tc1.c

static int
foo(int n) {
    static int yy = 0;

yy = n;

    return yy;
}

int
main(void)
{
    int pp;

    pp = foo(3);
    return pp;
}

// tc1.c.t02.original

;; Function foo (foo)
;; enabled by -tree-original


{ static int yy = 0; yy = n; return <return-value> = yy; }



;; Function main (main)
;; enabled by -tree-original


{ int pp; pp = foo(3); return <return-value> = pp; }

// tc1.c.t03.generic

;; Function foo (foo)

foo (n)
{
  static int yy = 0;

  yy = n;
  return yy;;
}


;; Function main (main)


main ()
{
  int T.1;
  int pp;

  T.1 = foo (3);
  pp = T.1;
  return pp;;
}


// tc1.c.t05.gimple


;; Function main (main)

main ()
{
  int retval.2;
  int T.1;
  int pp;

  {
    int n;
    int <UVecb0>;

    n = 3;
    {
      static int yy = 0;

      yy = n;
      {
        <UVecb0> = yy;
        goto <ULec40>;;
      };
    };
    <ULec40>:;;
    retval.2 = <UVecb0>;
  };
  T.1 = retval.2;
  pp = T.1;
  return pp;;
}


// tc1.c.t09.ssa


;; Function main (main)

main ()
{
  int retval.2;
  int T.1;
  int pp;

  {
    int n;
    int <UVecb0>;

    n_1 = 3;
    {
      static int yy = 0;

      yy = 3;
      <UVecb0>_4 = 3;
      goto <ULec40>;;
    };
    <ULec40>:;;
    retval.2_5 = 3;
  };
  T.1_6 = 3;
  pp_7 = 3;
  return 3;;
}

// tc1.c.t13.pre

;; Function main (main)

main ()
{
  int retval.2;
  int T.1;
  int pp;

  {
    int n;
    int <UVecb0>;

    (void)0;
    {
      static int yy = 0;

      yy = 3;
      (void)0;
      goto <ULec40>;;
    };
    <ULec40>:;;
    (void)0;
  };
  (void)0;
  (void)0;
  return 3;;
}

// tc1.c.t17.optimized

;; Function main (main)

main ()
{
  {
    yy = 3;
    <ULec40>:;;
  };
  return 3;;
}


Judd


p.s. Incidentally, mainline ICE'd during bootstrap with '-O3 -g' earlier.
I will run '-O2 -funit-at-a-time -g' shortly.


/home/judd/gcc-dev/gcc-trunk/gcc/gengtype.c: In function `adjust_field_tree_exp':

/home/judd/gcc-dev/gcc-trunk/gcc/gengtype.c:803: internal compiler error: tree check: expected field_decl, have tree_list in gen_struct_or_union_type_die, at dwarf2out.c:11330


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]