diff options
author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-17 07:00:02 +0000 |
---|---|---|
committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-17 07:00:02 +0000 |
commit | 5cc04e45d5322fc06d63bf35be134819d7ae5c82 (patch) | |
tree | d0bbc16685eb58141c00c2372960b318c757d524 /gcc/emit-rtl.h | |
parent | 9c16315b6901674af7cd169ed3943364df5c67a3 (diff) | |
download | gcc-5cc04e45d5322fc06d63bf35be134819d7ae5c82.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210543 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r-- | gcc/emit-rtl.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h index fe68de94756..c72c24f4d88 100644 --- a/gcc/emit-rtl.h +++ b/gcc/emit-rtl.h @@ -52,10 +52,10 @@ extern tree get_spill_slot_decl (bool); ADDR. The caller is asserting that the actual piece of memory pointed to is the same, just the form of the address is being changed, such as by putting something into a register. */ -extern rtx replace_equiv_address (rtx, rtx); +extern rtx replace_equiv_address (rtx, rtx, bool = false); /* Likewise, but the reference is not required to be valid. */ -extern rtx replace_equiv_address_nv (rtx, rtx); +extern rtx replace_equiv_address_nv (rtx, rtx, bool = false); extern rtx gen_blockage (void); extern rtvec gen_rtvec (int, ...); |