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