Use df_read_modify_subreg_p in cprop.c
authorRichard Sandiford <richard.sandiford@arm.com>
Wed, 16 Nov 2016 13:07:08 +0000 (13:07 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 16 Nov 2016 13:07:08 +0000 (13:07 +0000)
commit41c7cac56c4e6fd1f65281ae3a49bc2308be5191
tree1acc46013971eef5f7ea5a8dbc857b58f238086d
parentd964ba07c74523684f25cc9f4860ea2f8dba2513
Use df_read_modify_subreg_p in cprop.c

local_cprop_find_used_regs punted on all multiword registers,
with the comment:

          /* Setting a subreg of a register larger than word_mode leaves
             the non-written words unchanged.  */

But this only applies if the outer mode is smaller than the
inner mode.  If they're the same size then writes to the subreg
are a normal full update.

This patch uses df_read_modify_subreg_p instead.  A later patch
adds more uses of the same routine, but this part had a (positive)
effect on code generation for the testsuite whereas the others
seemed to be simple clean-ups.

gcc/
2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

* cprop.c (local_cprop_find_used_regs): Use df_read_modify_subreg_p.

Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
Co-Authored-By: David Sherwood <david.sherwood@arm.com>
From-SVN: r242488
gcc/ChangeLog
gcc/cprop.c