diff options
author | Kazu Hirata <kazu@cs.umass.edu> | 2005-01-15 04:10:54 +0000 |
---|---|---|
committer | Kazu Hirata <kazu@gcc.gnu.org> | 2005-01-15 04:10:54 +0000 |
commit | bbc8fb000beb5e5308d4bd9f4a76ac63db7d09f4 (patch) | |
tree | c7b3ab1210534dd92e64e99073c22a00c3da9193 | |
parent | 165a5bad872543b77cd9519127d96d0c18e93e11 (diff) | |
download | gcc-bbc8fb000beb5e5308d4bd9f4a76ac63db7d09f4.zip gcc-bbc8fb000beb5e5308d4bd9f4a76ac63db7d09f4.tar.gz gcc-bbc8fb000beb5e5308d4bd9f4a76ac63db7d09f4.tar.bz2 |
explow.c (copy_all_reg, stabilize): Remove.
* explow.c (copy_all_reg, stabilize): Remove.
* expr.h: Remove the corresponding prototypes.
From-SVN: r93683
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/explow.c | 54 | ||||
-rw-r--r-- | gcc/expr.h | 8 |
3 files changed, 5 insertions, 62 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 750379d..25b2a9b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-01-15 Kazu Hirata <kazu@cs.umass.edu> + + * explow.c (copy_all_reg, stabilize): Remove. + * expr.h: Remove the corresponding prototypes. + 2005-01-14 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6k_nonimmediate_operand): Rename diff --git a/gcc/explow.c b/gcc/explow.c index a3e28ff..6460bb9 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -390,44 +390,6 @@ convert_memory_address (enum machine_mode to_mode ATTRIBUTE_UNUSED, x, POINTERS_EXTEND_UNSIGNED); #endif /* defined(POINTERS_EXTEND_UNSIGNED) */ } - -/* Given a memory address or facsimile X, construct a new address, - currently equivalent, that is stable: future stores won't change it. - - X must be composed of constants, register and memory references - combined with addition, subtraction and multiplication: - in other words, just what you can get from expand_expr if sum_ok is 1. - - Works by making copies of all regs and memory locations used - by X and combining them the same way X does. - You could also stabilize the reference to this address - by copying the address to a register with copy_to_reg; - but then you wouldn't get indexed addressing in the reference. */ - -rtx -copy_all_regs (rtx x) -{ - if (REG_P (x)) - { - if (REGNO (x) != FRAME_POINTER_REGNUM -#if HARD_FRAME_POINTER_REGNUM != FRAME_POINTER_REGNUM - && REGNO (x) != HARD_FRAME_POINTER_REGNUM -#endif - ) - x = copy_to_reg (x); - } - else if (MEM_P (x)) - x = copy_to_reg (x); - else if (GET_CODE (x) == PLUS || GET_CODE (x) == MINUS - || GET_CODE (x) == MULT) - { - rtx op0 = copy_all_regs (XEXP (x, 0)); - rtx op1 = copy_all_regs (XEXP (x, 1)); - if (op0 != XEXP (x, 0) || op1 != XEXP (x, 1)) - x = gen_rtx_fmt_ee (GET_CODE (x), Pmode, op0, op1); - } - return x; -} /* Return something equivalent to X but valid as a memory address for something of mode MODE. When X is not itself valid, this @@ -576,22 +538,6 @@ validize_mem (rtx ref) return replace_equiv_address (ref, XEXP (ref, 0)); } -/* Return a modified copy of X with its memory address copied - into a temporary register to protect it from side effects. - If X is not a MEM, it is returned unchanged (and not copied). - Perhaps even if it is a MEM, if there is no need to change it. */ - -rtx -stabilize (rtx x) -{ - if (!MEM_P (x) - || ! rtx_unstable_p (XEXP (x, 0))) - return x; - - return - replace_equiv_address (x, force_reg (Pmode, copy_all_regs (XEXP (x, 0)))); -} - /* Copy the value or contents of X to a new temp reg and return that reg. */ rtx @@ -642,14 +642,6 @@ extern void set_mem_attributes_minus_bitpos (rtx, tree, int, HOST_WIDE_INT); /* Assemble the static constant template for function entry trampolines. */ extern rtx assemble_trampoline_template (void); -/* Given rtx, return new rtx whose address won't be affected by - any side effects. It has been copied to a new temporary reg. */ -extern rtx stabilize (rtx); - -/* Given an rtx, copy all regs it refers to into new temps - and return a modified copy that refers to the new temps. */ -extern rtx copy_all_regs (rtx); - /* Copy given rtx to a new temp reg and return that. */ extern rtx copy_to_reg (rtx); |