This is the mail archive of the gcc-patches@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]

Re: [PATCH] Kill TYPE_METHODS rtl 3/9


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


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