This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Edges, predictions, and GC crashes ...
> Hello,
>
> I'm seeing compiler crashes during garbage collection when using mudflap.
>
> The problem appears to be that some basic_block_def structures point to
> edge_prediction structures which point to edge_def structures that have
> already been ggc_free()'d.
>
> Now, looking at remove_edge (cfg.c) is does indeed appear that it is
> possible for edges to get deleted without the corresponding prediction
> structure being removed as well ...
>
> How is this supposed to work?
I didn't have any cleanup_cfg in between earliest place putting
predictions and the profiling pass consuming them, so this scenario
didn't happen. This has however changed a long time ago. I guess just
teaching remove_edge to walk prediction list if it is present and kill
now dead predictions would not be perfomrance overkill as the
predictions are rare, I can implement that if you pass me some testcase.
Honza
>
> Bye,
> Ulrich
>
> --
> Dr. Ulrich Weigand
> Linux on zSeries Development
> Ulrich.Weigand@de.ibm.com