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] New testsuite regressions


> On Sun, 2003-11-30 at 14:26, Jan Hubicka wrote:
> 
> > I am looking into this now.  What architecture/flags did you used to
> > reproduce this?
> > 
> None other than --disable-multilib.  This is off of a vanilla bootstrap
> with checking enabled on x86_64.  
> 
> On x86 (bootstrapped with --disable-checking), the only new failures are
> 
> -------------------------------------------------------------------------------
> Testsuite differences between 20031129/gcc.sum.gz and 20031130/gcc.sum.gz
> -------------------------------------------------------------------------------
> 
> New regressions in 20031130/gcc.sum.gz:
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
>          FAIL: gcc.c-torture/execute/bcp-1.c execution
> 
> Fixed regressions in 20031130/gcc.sum.gz:
> -------------------------------------------------------------------------------

Hi,
I managed to reproduce the bcp-1.c failure that is caused by somewhat confused
code to clear DECL_SAVED_TREE I managed to update incorrectly.  This code is
redundant as callgraph code contains more strict logic, so I am removing it and
will commit the patch as obivous if thesting pases.   I also moved ggc_collect
to the very end of function as it clears some extra pointers.  This
change is not needed, but very trivial.

I believe that the other failures are caused by same problem (the code
was very wrong), but it would be great if you could try the patch.  I am
trying to reproduce it on x86-64 now.

In incremental patch I will remove rest of confusion and unify
cgraph/tree_rest_of_compilation memory management code.

Honza

2003-11-30  Jan Hubicka  <jh@suse.cz>
	* tree-optimize.c (tree_rest_of_compilation): Move ggc_collect call to the end
	of function; keep clearing of DECL_SAVED_TREE to the cgraph code.
Index: tree-optimize.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-optimize.c,v
retrieving revision 1.1.4.80
diff -c -3 -p -r1.1.4.80 tree-optimize.c
*** tree-optimize.c	29 Nov 2003 12:43:10 -0000	1.1.4.80
--- tree-optimize.c	30 Nov 2003 19:50:04 -0000
*************** tree_rest_of_compilation (tree fndecl, b
*** 408,414 ****
      }
    cfun = 0;
    DECL_SAVED_INSNS (fndecl) = 0;
-   ggc_collect ();
  
    /* If requested, warn about function definitions where the function will
       return a value (usually of some struct or union type) which itself will
--- 408,413 ----
*************** tree_rest_of_compilation (tree fndecl, b
*** 434,451 ****
  	}
      }
  
-   /* ??? Looks like some of this could be combined.  */
- 
- 
-   /* If possible, obliterate the body of the function so that it can
-      be garbage collected.  */
-   else if (dump_enabled_p (TDI_all))
-     /* Keep the body; we're going to dump it.  */
-     ;
-   else
-     /* We don't need the body; blow it away.  */
-     DECL_SAVED_TREE (fndecl) = NULL;
- 
    /* Since we don't need the RTL for this function anymore, stop pointing to
       it.  That's especially important for LABEL_DECLs, since you can reach all
       the instructions in the function from the CODE_LABEL stored in the
--- 433,438 ----
*************** tree_rest_of_compilation (tree fndecl, b
*** 472,476 ****
--- 459,464 ----
  
    input_location = saved_loc;
  
+   ggc_collect ();
    timevar_pop (TV_EXPAND);
  }


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