On 1/20/2014, 4:12 AM, Eric Botcazou wrote:
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.
I've just started to work on fixing this in LRA. But I am not going to
work on fixing this in reload. It would be just wasting enormous amount
of time.