This is the mail archive of the gcc-patches@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: Annotations for SYMBOL_REF


On Fri, Apr 11, 2003 at 04:03:15PM -0700, Geoff Keating wrote:
> [I hope you saw my mail on gcc-regression about the bootstrap failure
> this causes on Darwin; I think it's because '0' fields are not
> initialised by gen_rtx.]

Ah, yes.  Unlike genrtl.c.  We really should kill all of these uses...
The attached should take care of that.

> Have you measured the performance impact of this patch?  SYMBOL_REFs
> are pretty common, and you're doubling their size.

No.  

I'm not worried though.  The eventual cleanups should make it worth it.
E.g, simply by avoiding having to mangle names in encode_section_info,
we recoup the space in the ggc_string table.  For the large strings
produced by the c++ front end for mangled template names, that's not
insignificant.


r~


Index: emit-rtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/emit-rtl.c,v
retrieving revision 1.318
diff -c -p -d -u -r1.318 emit-rtl.c
--- emit-rtl.c	4 Apr 2003 22:44:02 -0000	1.318
+++ emit-rtl.c	11 Apr 2003 23:24:36 -0000
@@ -755,7 +755,8 @@ gen_rtx VPARAMS ((enum rtx_code code, en
 	{
 	  switch (*fmt++)
 	    {
-	    case '0':		/* Unused field.  */
+	    case '0':		/* Field with unknown use.  Zero it.  */
+	      X0EXP (rt, 1) = NULL_RTX;
 	      break;
 
 	    case 'i':		/* An integer?  */


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