poly_int: REGMODE_NATURAL_SIZE
commit68cc7e7b9622524e0a422170bda7264c7f0e1ccf
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 07:17:33 +0000 (3 07:17 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 3 Jan 2018 07:17:33 +0000 (3 07:17 +0000)
treedd8b4417c22587406a00bbac5e052db18aa2d169
parentb1e7771450a956c534aa09032c1aae06fafb9c7e
poly_int: REGMODE_NATURAL_SIZE

This patch makes target-independent code that uses REGMODE_NATURAL_SIZE
treat it as a poly_int rather than a constant.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* combine.c (can_change_dest_mode): Handle polynomial
REGMODE_NATURAL_SIZE.
* expmed.c (store_bit_field_1): Likewise.
* expr.c (store_constructor): Likewise.
* emit-rtl.c (validate_subreg): Operate on polynomial mode sizes
and polynomial REGMODE_NATURAL_SIZE.
(gen_lowpart_common): Likewise.
* reginfo.c (record_subregs_of_mode): Likewise.
* rtlanal.c (read_modify_subreg_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256149 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/combine.c
gcc/emit-rtl.c
gcc/expmed.c
gcc/expr.c
gcc/reginfo.c
gcc/rtlanal.c