This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rs6000] Fix PR88845: ICE in lra_set_insn_recog_data


On 3/5/19 5:51 AM, Segher Boessenkool wrote:
> On Mon, Mar 04, 2019 at 06:41:16PM -0600, Peter Bergner wrote:
>> Like this.  This bootstraps and regtests with no regressions.  Do you prefer
>> this instead?  If so, we'll need Vlad or Jeff or ... to approve the LRA
>> changes.
> 
> Either solution is fine with me, whatever the LRA experts prefer.  Even
> your original patch is okay, just a bit shaky; I don't expect us to need
> more like this though, SF is a bit special, so I can just close my eyes
> and move on, no problem :-)

I'd like to hold off until Vlad and/or Jeff...or anyone else chimes in.
It seems like LRA is assuming the move insn it generates won't have a
scratch, since it replaces all scratches early, but as we can see for
our 32-bit GPR to FPR copy, we do need one.


> [ I do wonder why we are having these problems, it's not a very special
> problem, other targets should hit similar...  do they use secondary reloads
> maybe? ]

Secondary reload can't fix the problem of the scratch replacement, since
we try and immediately recog the move insn we just created and we ICE
because the scratch hasn't yet been replaced with a pseudo.

Peter




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]