summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.h
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2014-05-17 07:00:02 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2014-05-17 07:00:02 +0000
commit23b33725083ba1a1c3340b81475f2940d8f2e436 (patch)
treed0bbc16685eb58141c00c2372960b318c757d524 /gcc/emit-rtl.h
parente16db39967ab6aaef964cae249087d37c18984a0 (diff)
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
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r--gcc/emit-rtl.h4
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, ...);