This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
reg_equiv_memory_loc vs. garbage collection
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: gcc at gcc dot gnu dot org
- Date: Thu, 6 May 2004 16:02:06 +0100 (BST)
- Subject: reg_equiv_memory_loc vs. garbage collection
It appears that rtl referenced by reg_equiv_memory_loc lives across
a garbage collection point. I've observed a crash in a 3.2.1 based
compiler because of this, but from inspection it appears that the
problem is still around in 3.4 in rest_of_handle_old_regalloc .
We do
reg_equiv_memory_loc = xcalloc (max_regno, sizeof (rtx));
allocate_initial_values (reg_equiv_memory_loc);
...
ggc_collect ();
...
if (optimize)
failure = global_alloc (rtl_dump_file);