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]

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);


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