summaryrefslogtreecommitdiff
path: root/gcc/regmove.c
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-04 17:43:18 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-04 17:43:18 +0000
commit537ffcfc50a329aa4be838127266a1cb06083133 (patch)
treedf66055b376252d4e98b02a6a2492ca9f4731ad2 /gcc/regmove.c
parentda31bd92c01701e2bf94aa2cdaf5a57e5ce21f42 (diff)
downloadgcc-537ffcfc50a329aa4be838127266a1cb06083133.tar.gz
* emit-rtl.c (replace_equiv_address): New function.
* expr.h (replace_equiv_address): New declaration. * explow.c (validize_mem): Call it instead of change_address and also call if -fforce-addr and address is constant. * expr.c: Replace more calls to change_address with adjust_address and/or replace_equiv_address or to validize_mem. * function.c, regmove.c, config/alpha/alpha.c: Likewise. * config/arm/arm.md, config/clipper/clipper.md: Likewise. * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise. * config/i370/i370.md, config/i860/i860.md: Likewise. * config/i960/i960.md, config/mips/mips.c: Likewise. * config/mips/mips.md, config/pa/pa.md: Likewise. * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise. * config/rs6000/rs6000.md, config/sh/sh.md: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43762 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/regmove.c')
-rw-r--r--gcc/regmove.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/regmove.c b/gcc/regmove.c
index 85ca4efaa7d..5d3f18eba84 100644
--- a/gcc/regmove.c
+++ b/gcc/regmove.c
@@ -2458,8 +2458,9 @@ combine_stack_adjustments_for_block (bb)
&& ! reg_mentioned_p (stack_pointer_rtx, src)
&& memory_address_p (GET_MODE (dest), stack_pointer_rtx)
&& validate_change (insn, &SET_DEST (set),
- change_address (dest, VOIDmode,
- stack_pointer_rtx), 0))
+ replace_equiv_address (dest,
+ stack_pointer_rtx),
+ 0))
{
if (last_sp_set == bb->head)
bb->head = NEXT_INSN (last_sp_set);