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

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #12 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Patch for the original problem went in as r258452:
(I accidentally deleted the changelog from the commit message, so BZ didn't
pick this up).

    combine: Fix PR84780 (more LOG_LINKS trouble)

    There still are situations where we have stale LOG_LINKS.  This causes
    combine to try two-insn combinations I2->I3 where the register set by
    I2 is used before I3 as well.  Not good.

    This patch fixes it by checking for this situation in can_combine_p
    (similar to what we already do for three and four insn combinations).




Patch for #c10 went in as r258523.

    combine: Don't make log_links for pc_rtx (PR84780 #c10)

    distribute_links tries to place a log_link for whatever the destination
    of the modified instruction is.  It shouldn't do that when that dest
    is pc_rtx, which isn't actually a register.


        * combine.c (distribute_links): Don't make a link based on pc_rtx.


Closing as fixed.

Reply via email to