On Tue, 29 Aug 2023, Jiufu Guo wrote: > > Hi All! > > "rguenth at gcc dot gnu.org" <gcc-bugzi...@gcc.gnu.org> writes: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111166 > ... > > > > > > At RTL expansion time we store to D.2865 where it's DECL_RTL is r82:TI so > > we can hardly fix it there. Only a later pass could figure each of the > > insns fully define the reg. > > > > Jiufu Guo is working to improve what we choose for DECL_RTL, but for > > incoming params / outgoing return. This is a case where we could, > > with -fno-tree-vectorize, improve DECL_RTL for an automatic var and > > choose not TImode but something like a (concat:TI reg:DI reg:DI). > > Here is the patch about improving the parameters and returns in > registers. > https://gcc.gnu.org/pipermail/gcc-patches/2023-August/628213.html > > I have a question about how to bind an RTL to a TREE expression. > In this patch, a map TREE->RTL is used. But it would be better if > there was a faster way. > > We have DECL_RTL/INCOMING_RTL, but they can only be bound to > DECL(or PARM). In the above patch, the TREE can be an EXPR > (e.g. COMPONENT_REF/ARRAY_REF). > > Is there a way to achieve this? Thanks for suggestions!
No, but we don't need to bind RTL to COMPONENT_REF and friends, what we want to change is the DECL_RTL of the underlying DECL. Richard.