poly_int: instantiate_virtual_regs
authorRichard Sandiford <richard.sandiford@linaro.org>
Thu, 21 Dec 2017 07:00:52 +0000 (07:00 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 21 Dec 2017 07:00:52 +0000 (07:00 +0000)
commite6715081eddeb808bc2c8f2fa84b2f436d86a0e5
tree2eff5af01ca6c65c6232ba9e366ab22902ec09a7
parent68184180f25f3c89ebcb9202ff3235f936bcdc78
poly_int: instantiate_virtual_regs

This patch makes the instantiate virtual regs pass track offsets
as poly_ints.

2017-12-21  Richard Sandiford  <richard.sandiford@linaro.org>
    Alan Hayward  <alan.hayward@arm.com>
    David Sherwood  <david.sherwood@arm.com>

gcc/
* function.c (in_arg_offset, var_offset, dynamic_offset)
(out_arg_offset, cfa_offset): Change from int to poly_int64.
(instantiate_new_reg): Return the new offset as a poly_int64_pod
rather than a HOST_WIDE_INT.
(instantiate_virtual_regs_in_rtx): Track polynomial offsets.
(instantiate_virtual_regs_in_insn): Likewise.

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