[Bug rtl-optimization/84780] [8 Regression] wrong code aarch64 with -O3 --param=tree-reassoc-width=32
segher at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Mar 27 17:39:00 GMT 2018
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.
More information about the Gcc-bugs
mailing list