https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117645

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra

--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to John David Anglin from comment #6)
> I believe this is a LRA bug.
> 
> The problem is the following insn generated by the LRA pass
> 
> (insn 181 178 59 9 (clobber (reg:TI 3 %r3 [111])) -1
>      (nil))
> 
> in the reload RTL dump.  This causes the initialization of reg:TI 3
> to be deleted by DCE.

yes that definitely looks like a bug, I wonder how LRA decided to add that
clobber.

> 
> The current implementation of addti3 on hppa only allows register
> operands.  The problem is avoided if we improve addti3 to support
> the addition of small integers.  The code needed to do this is
> similar to that used for adddi3 on 32-bit targets.  Have a patch
> which I will install soon.

I assume this works around the issue right?  And reverting the backend patch
will expose the issue again, right?  I might take a few minutes to debug where
inside LRA, the clobber is coming from.

Reply via email to