combine: Fix problem with RTL checking
authorSegher Boessenkool <segher@kernel.crashing.org>
Fri, 16 Feb 2018 14:03:17 +0000 (15:03 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Fri, 16 Feb 2018 14:03:17 +0000 (15:03 +0100)
commit08223f7633e228cb4ab7a9125a50c4f8ce2e16bb
tree470a980952821c1d316a6e38bde85d66252e859f
parentd960ab7b8daceba84413b25d91c2410eec1bbde2
combine: Fix problem with RTL checking

As Jakub found, after my recent combine patch at least on x86 problems
show up with RTL checking enabled.  This is because the I2 generated
by a successful instruction combination can write not only a register
but it can also write a paradoxical subreg of one.

This fixes it.

* combine.c (try_combine): When adjusting LOG_LINKS for the destination
that moved to I2, also allow destinations that are a paradoxical
subreg (instead of a normal reg).

From-SVN: r257736
gcc/ChangeLog
gcc/combine.c