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.