Hi,

Jeff Law <jeffreya...@gmail.com> writes:

> On 5/10/23 19:20, Jiufu Guo wrote:
>>
>> Hi,
>>
>> I would like to ping:
>> https://gcc.gnu.org/pipermail/gcc-patches/2023-January/609396.html
>>
>> We know there are a few issues related to aggregate parameter and
>> returns.  I'm thinking if it is ok for trunk to use this patch to
>> resolve part of those issues.
> It looks like the patch is focused on emitting a load of the object
> from memory into a GPR, then copying the GPR into pseudo (which
> hopefully gets allocated into an FPR).  That would seem to indicate
> the value got flushed to memory at some point.  Presumably because the
> type of the object it not one that we would typically allow in
> registers, except for some special cases for parameter passing and
> return values?

Yes.  The the object would be in a different mode as the nature mode
of the register of the parameter/returns.

>
> If that's the case, then is there any value in finding the flush to
> the stack and just emitting a copy from the GPR into the destination
> pseudo at that point?
>
> Or is it just easier to construct a load from the flushback area and
> let CSE/DCE/DSE clean things up?
Right! The idea of this patch is to construct a load that can expose the
opportunity for CSE/DCE/DSE passes to optimize the code.

And I'm also trying to use another solution to handle this issue: like
light-sra in expander for struct parameter.  Sorry for missing a recall
of this patch.

Thank you very much for your comments!!


BR,
Jeff (Jiufu)

>
> Jeff
>
> I

Reply via email to