This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH, PR 58389] Do not attempt to use reference descriptions associated with removed edges
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Thu, 12 Sep 2013 14:32:20 +0200
- Subject: Re: [PATCH, PR 58389] Do not attempt to use reference descriptions associated with removed edges
- Authentication-results: sourceware.org; auth=none
- References: <20130912114950 dot GH6732 at virgil dot suse>
> PR 58389 is another case where the reference removal code, which is
> now also called from the edge removal hook, ICEs when inlined edges
> are not removed in topological order, which ins not the case when we
> are removing unreachable nodes.
> I'd like to fix it by the patch below. When removing an edge which
> has a reference descriptor pointing back to it, we set that pointer to
> NULL and check for non-NULLness when we want to use it. Reference
> descriptors die only when their allocation pool does so that pointer
> is never stale.
> Bootstrapped and tested on x86_64-linux, OK for trunk?
> 2013-09-11 Martin Jambor <firstname.lastname@example.org>
> PR ipa/58389
> * ipa-prop.c (remove_described_reference): Give up if the edge in the
> reference descriptor is NULL.
> (ipa_edge_removal_hook): If owning a reference descriptor, set its
> edge to NULL.