This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Kill TYPE_METHODS rtl 3/9
- From: Jeff Law <law at redhat dot com>
- To: Nathan Sidwell <nathan at acm dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jason Merrill <jason at redhat dot com>, Richard Guenther <richard dot guenther at gmail dot com>, Jim Wilson <wilson at tuliptree dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Fri, 14 Jul 2017 22:43:23 -0600
- Subject: Re: [PATCH] Kill TYPE_METHODS rtl 3/9
- Authentication-results: sourceware.org; auth=none
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com
- Authentication-results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=law at redhat dot com
- Dkim-filter: OpenDKIM Filter v2.11.0 mx1.redhat.com C37CF83F3C
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com C37CF83F3C
- References: <8377f2cd-577c-60b2-63ac-f2619ebe63aa@acm.org> <c654a003-472f-4243-ea46-f2bbc6d96927@acm.org>
On 07/14/2017 10:54 AM, Nathan Sidwell wrote:
> This was the most surprising check of TYPE_METHODS. When not optimizing
> we use the non-nullness of TYPE_METHODS to figure out if we want to
> place a non BLKmode structure into a register. On the grounds that one
> can't call a member function with a register-located object.
>
> That seems overly enthusiastic -- if we're not optimizing, who cares?
>
> (When we zap TYHPE_METHODS we currently set it to error_mark_node, if it
> was non-null, so that this above check will work).
>
> I'd appreciate comment.
Definitely a surprise. I was hatching an idea this might be related to
the old stupid.c allocator, but it turns out this code is much newer
than that.
If I'm reading BZ39485 correctly, the issue is that when not optimizing,
we were shoving the value into a register rather than dumping it into
memory.
As a result gdb was unable to do an inferior call to its the object's
methods.
Egad.
jeff