combine: Fix problem with RTL checking
commitad0959559ad5df2dc8f6dbebd5a39e529e9785e9
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2018 14:03:17 +0000 (16 14:03 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 Feb 2018 14:03:17 +0000 (16 14:03 +0000)
tree470a980952821c1d316a6e38bde85d66252e859f
parent5a73d351720fa2d6d94a300618050aa8bfa65352
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).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@257736 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c