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

--- Comment #23 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-21 
16:01:30 UTC ---
Another fun (well ...) patch that is worth trying is

Index: gcc/gimple.c
===================================================================
--- gcc/gimple.c        (revision 182590)
+++ gcc/gimple.c        (working copy)
@@ -4488,16 +4488,7 @@ gimple_register_type_1 (tree t, bool reg
 tree
 gimple_register_type (tree t)
 {
-  gcc_assert (TYPE_P (t));
-
-  if (!gimple_type_leader)
-    gimple_type_leader = ggc_alloc_cleared_vec_gimple_type_leader_entry_s
-                               (GIMPLE_TYPE_LEADER_SIZE);
-
-  if (gimple_types == NULL)
-    gimple_types = htab_create_ggc (16381, gimple_type_hash, gimple_type_eq,
0);
-
-  return gimple_register_type_1 (t, false);
+  return t;
 }

 /* The TYPE_CANONICAL merging machinery.  It should closely resemble

where you need to configure with --disable-werror (because of now unused
functions in gimple.c).  The above will simply disable all type merging
and thus may in theory increase memory usage a lot (I think so more for
ltrans stage than wpa stage, it also may increase ltrans file size a lot).
It also probably increases the size of the emitted debug information.

Reply via email to