This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix wrong code issue in ipa-devirt
- From: Martin Jambor <mjambor at suse dot cz>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 8 Apr 2014 18:28:08 +0200
- Subject: Re: Fix wrong code issue in ipa-devirt
- Authentication-results: sourceware.org; auth=none
- References: <20140408041327 dot GA25140 at kam dot mff dot cuni dot cz>
Hi,
On Tue, Apr 08, 2014 at 06:13:27AM +0200, Jan Hubicka wrote:
> Hi,
> while looking into devirtualization dumps, I noticed that I got one "false"
> typed out as "true". Not sure what I was thinking of.
>
> Martin, this may fix the wrong code issue you see in Firefox, hopefully.
it did not segfault the whole afternoon, so yes, I believe this is the
fix.
Thanks,
Martin
>
> Will commit it after x86_64-linux testing finishes tomorrow.
> Honza
>
> * ipa-devirt.c (maybe_record_node): Set completep to false
> instead of true when node is not recorded.
> Index: ipa-devirt.c
> ===================================================================
> --- ipa-devirt.c (revision 209170)
> +++ ipa-devirt.c (working copy)
> @@ -650,7 +650,7 @@ maybe_record_node (vec <cgraph_node *> &
> else if (completep
> && !type_in_anonymous_namespace_p
> (method_class_type (TREE_TYPE (target))))
> - *completep = true;
> + *completep = false;
> }
>
> /* See if BINFO's type match OUTER_TYPE. If so, lookup