Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-20 Thread Eric Botcazou
> 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. Yes, fixing it in LRA only would be sufficient for PR rtl-optimization/59477, since it's an x86-specific issue. Other architectures aren

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-20 Thread Vladimir Makarov
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 alw

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-20 Thread Eric Botcazou
> 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).

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-16 Thread Joern Rennecke
On 16 January 2014 08:26, Jakub Jelinek wrote: > I wonder if instead of not creating the LOG_LINKS we could just somehow taint > them, add a flag to struct insn_link that we need to be careful about > combining across that link, then in combine_instructions or the flags together > from all the us

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-16 Thread Richard Biener
On Wed, 15 Jan 2014, Jakub Jelinek wrote: > Hi! > > As discussed in the PR, when combine combines something across a setter > of a likely spilled non-fixed hard register, we may get RA ICE, as the > combined insn might need for reload a hard reg that is live at the point > where combiner has comb

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-16 Thread Jakub Jelinek
On Thu, Jan 16, 2014 at 03:41:57AM +, Joern Rennecke wrote: > On 15 January 2014 21:55, Jakub Jelinek wrote: > ... > > The patch removes the likely_spilled_retval stuff Joern wrote a few years > > ago because I believe this change should obsolete that. But, have tried to > > reproduce the ICE

Re: [PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-15 Thread Joern Rennecke
On 15 January 2014 21:55, Jakub Jelinek wrote: ... > The patch removes the likely_spilled_retval stuff Joern wrote a few years > ago because I believe this change should obsolete that. But, have tried to > reproduce the ICE using sh-elf target and haven't managed to do so, 4.9 is > quite a differ

[PATCH] Don't combine across likely spilled hard reg setters (PR rtl-optimization/59477)

2014-01-15 Thread Jakub Jelinek
Hi! As discussed in the PR, when combine combines something across a setter of a likely spilled non-fixed hard register, we may get RA ICE, as the combined insn might need for reload a hard reg that is live at the point where combiner has combined the insn. The following patch attempts to fix tha