This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Kill last use of ggc_push_context/ggc_pop_context
- From: Jan Hubicka <jh at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Tue, 5 Oct 2004 11:35:13 +0200
- Subject: Kill last use of ggc_push_context/ggc_pop_context
Hi,
after four days of testing, the attached patch has bootstrapped with
gcac. I believe the ggc_push_context is no longer necesary as it was
probably supposed to keep alias information working. This has been
fixed long time ago when varrays has been moved to varrays. Except
for aliasing information (that survive ggc on other places too afaik)
cse don't preserve much of datastructures:
/* Clean up. */
end_alias_analysis ();
free (uid_cuid);
free (reg_eqv_table);
free (val.path);
rtl_hooks = general_rtl_hooks;
None of the other datastructures points to RTL...
Bootstrapped/regtested i686-linux with gcac checking.
Honza
2004-10-05 Jan Hubicka <jh@suse.cz>
* cse.c (cse_main): Kill push/pop context.
Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.316
diff -c -3 -p -r1.316 cse.c
*** cse.c 28 Sep 2004 23:29:01 -0000 1.316
--- cse.c 1 Oct 2004 22:11:51 -0000
*************** cse_main (rtx f, int nregs, FILE *file)
*** 6706,6713 ****
INSN_CUID (insn) = i;
}
- ggc_push_context ();
-
/* Loop over basic blocks.
Compute the maximum number of qty's needed for each basic block
(which is 2 for each SET). */
--- 6706,6711 ----
*************** cse_main (rtx f, int nregs, FILE *file)
*** 6773,6780 ****
#endif
}
- ggc_pop_context ();
-
if (max_elements_made < n_elements_made)
max_elements_made = n_elements_made;
--- 6771,6776 ----