diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-07-04 17:43:18 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-07-04 13:43:18 -0400 |
commit | 792760b9e9c015cabd3d5f1f7cf4942081f646d6 (patch) | |
tree | df66055b376252d4e98b02a6a2492ca9f4731ad2 /gcc/expr.h | |
parent | 861c44d0c94742492ae78c5ed6c1fc5b6364501c (diff) | |
download | gcc-792760b9e9c015cabd3d5f1f7cf4942081f646d6.zip gcc-792760b9e9c015cabd3d5f1f7cf4942081f646d6.tar.gz gcc-792760b9e9c015cabd3d5f1f7cf4942081f646d6.tar.bz2 |
emit-rtl.c (replace_equiv_address): New function.
* 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.
From-SVN: r43762
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -1154,6 +1154,12 @@ extern rtx change_address PARAMS ((rtx, enum machine_mode, rtx)); to MODE and its address offset by OFFSET bytes. */ extern rtx adjust_address PARAMS ((rtx, enum machine_mode, HOST_WIDE_INT)); +/* Return a memory reference like MEMREF, but with its address changed to + 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 PARAMS ((rtx, rtx)); + /* Return a memory reference like MEMREF, but which is known to have a valid address. */ extern rtx validize_mem PARAMS ((rtx)); |