summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-15 04:10:54 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-15 04:10:54 +0000
commitffe35668043bd50a0bd867eab35804910159bd56 (patch)
treec7b3ab1210534dd92e64e99073c22a00c3da9193
parentd8dc42542644ef4b61aa1c3be1646a52e5f13c6b (diff)
downloadgcc-ffe35668043bd50a0bd867eab35804910159bd56.tar.gz
* explow.c (copy_all_reg, stabilize): Remove.
* expr.h: Remove the corresponding prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93683 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/explow.c54
-rw-r--r--gcc/expr.h8
3 files changed, 5 insertions, 62 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 750379d5a9a..25b2a9bb921 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 a3e28ff16ec..6460bb9bbd7 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
diff --git a/gcc/expr.h b/gcc/expr.h
index a7eb1e397dc..b624413e080 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -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);