> I think the problem is still either a missed feature in LRA/reload > (split live-ranges), a problem in how we represent calls & argument > setup (magic hard-reg uses), or a backend problem (should spill > itself if necessary, via a post-reload splitter or always spill > and undo via a peephole2). > > Of course papering over in combine might be the best at this > stage. So the above was just observations from the less experienced > people in this area.
Yes, this is ultimately a RA issue, but an ancient and hard one as far as I understand so papering over it makes sense I think. That being said, while Joern's machinery was IMO acceptable because relatively simple and localized, Jakub's looks more complicated and far-reaching (that's why I suggested to try to extend the existing machinery if possible) so I think that we ought to try something simpler first. -- Eric Botcazou