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?
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?
Jeff
I