poly_int: fold_indirect_ref_1
authorRichard Sandiford <richard.sandiford@linaro.org>
Wed, 3 Jan 2018 07:17:12 +0000 (07:17 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Wed, 3 Jan 2018 07:17:12 +0000 (07:17 +0000)
commitfece509bf196d58d9b31e04d816bb4ecd3f73e89
tree38b9238d900975a5bb481499b05bec97aa54c328
parentd8f860ef70b33d0c49f31114c433b6c654c5a588
poly_int: fold_indirect_ref_1

This patch makes fold_indirect_ref_1 handle polynomial offsets in
a POINTER_PLUS_EXPR.  The specific reason for doing this now is
to handle:

    (tree_to_uhwi (part_width) / BITS_PER_UNIT
     * TYPE_VECTOR_SUBPARTS (op00type));

when TYPE_VECTOR_SUBPARTS becomes a poly_int.

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

gcc/
* fold-const.c (fold_indirect_ref_1): Handle polynomial offsets
in a POINTER_PLUS_EXPR.

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