emit-rtl.h (replace_equiv_address, [...]): Add an inplace argument.
authorRichard Sandiford <rdsandiford@googlemail.com>
Sat, 17 May 2014 07:00:02 +0000 (07:00 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Sat, 17 May 2014 07:00:02 +0000 (07:00 +0000)
commit23b33725083ba1a1c3340b81475f2940d8f2e436
treed0bbc16685eb58141c00c2372960b318c757d524
parente16db39967ab6aaef964cae249087d37c18984a0
emit-rtl.h (replace_equiv_address, [...]): Add an inplace argument.

gcc/
* emit-rtl.h (replace_equiv_address, replace_equiv_address_nv): Add an
inplace argument.  Store the new address in the original MEM when true.
* emit-rtl.c (change_address_1): Likewise.
(adjust_address_1, adjust_automodify_address_1, offset_address):
Update accordingly.
* rtl.h (plus_constant): Add an inplace argument.
* explow.c (plus_constant): Likewise.  Try to reuse the original PLUS
when true.  Avoid generating (plus X (const_int 0)).
* function.c (instantiate_virtual_regs_in_rtx): Adjust the PLUS
in-place.  Pass true to plus_constant.
(instantiate_virtual_regs_in_insn): Pass true to replace_equiv_address.

From-SVN: r210543
gcc/ChangeLog
gcc/emit-rtl.c
gcc/emit-rtl.h
gcc/explow.c
gcc/function.c
gcc/rtl.h