diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-03 19:44:20 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-03 19:44:20 +0000 |
commit | eafc6604ee60b98aca48ea0cb212501416ec2def (patch) | |
tree | 081c8c15685a2597ef47710962db021ebdc66c2a /gcc/recog.c | |
parent | 9abd2cd79da82c4e0d0dfb36eb87ff600ace51df (diff) | |
download | gcc-eafc6604ee60b98aca48ea0cb212501416ec2def.tar.gz |
* explow.c (plus_constant_wide, case PLUS): Call find_constant_term
and avoid checking for constant as first operand.
* recog.c (find_constant_term_loc): No longer static.
(adj_offettable_operand): Delete.
* rtl.h (adj_offsettable_operand): Delete declaration.
(find_constant_term): Add declaration.
* caller-save.c: Replace calls to adj_offsettable_operand with calls
to adjust_address.
* config/arm/arm.c, config/c4x/c4x.c: Likewise.
* config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
* config/i386/i386.c, config/i386/i386.md: Likewise.
* config/i860/i860.c, config/i960/i960.c: Likewise.
* config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
* config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
* config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
* config/mips/mips.c, config/mips/mips.md: Likewise.
* config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
* config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
* config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
* config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
* config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
* config/ns32k/ns32k.md: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43733 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/recog.c')
-rw-r--r-- | gcc/recog.c | 49 |
1 files changed, 1 insertions, 48 deletions
diff --git a/gcc/recog.c b/gcc/recog.c index 10230d5be12..e3472a53aea 100644 --- a/gcc/recog.c +++ b/gcc/recog.c @@ -55,7 +55,6 @@ Boston, MA 02111-1307, USA. */ static void validate_replace_rtx_1 PARAMS ((rtx *, rtx, rtx, rtx)); static rtx *find_single_use_1 PARAMS ((rtx, rtx *)); -static rtx *find_constant_term_loc PARAMS ((rtx *)); static void validate_replace_src_1 PARAMS ((rtx *, void *)); static rtx split_insn PARAMS ((rtx)); @@ -1829,7 +1828,7 @@ asm_operand_ok (op, constraint) return the location (type rtx *) of the pointer to that constant term. Otherwise, return a null pointer. */ -static rtx * +rtx * find_constant_term_loc (p) rtx *p; { @@ -2015,52 +2014,6 @@ mode_independent_operand (op, mode) lose: ATTRIBUTE_UNUSED_LABEL return 0; } - -/* Given an operand OP that is a valid memory reference which - satisfies offsettable_memref_p, return a new memory reference whose - address has been adjusted by OFFSET. OFFSET should be positive and - less than the size of the object referenced. */ - -rtx -adj_offsettable_operand (op, offset) - rtx op; - int offset; -{ - register enum rtx_code code = GET_CODE (op); - - if (code == MEM) - { - register rtx y = XEXP (op, 0); - register rtx new; - - if (CONSTANT_ADDRESS_P (y)) - { - new = gen_rtx_MEM (GET_MODE (op), plus_constant (y, offset)); - MEM_COPY_ATTRIBUTES (new, op); - return new; - } - - if (GET_CODE (y) == PLUS) - { - rtx z = y; - register rtx *const_loc; - - op = copy_rtx (op); - z = XEXP (op, 0); - const_loc = find_constant_term_loc (&z); - if (const_loc) - { - *const_loc = plus_constant (*const_loc, offset); - return op; - } - } - - new = gen_rtx_MEM (GET_MODE (op), plus_constant (y, offset)); - MEM_COPY_ATTRIBUTES (new, op); - return new; - } - abort (); -} /* Like extract_insn, but save insn extracted and don't extract again, when called again for the same insn expecting that recog_data still contain the |