aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-10-28 09:26:25 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-10-28 09:26:25 -0700
commit9d80ef7c827fd5b4bc4ccfd772a10c36869aa4fd (patch)
tree06b58d61337f5b3e05ca35e21974ddc88d12f300 /gcc/cse.c
parentf3df9541367d65608af843d2a56f4519343e769e (diff)
downloadgcc-9d80ef7c827fd5b4bc4ccfd772a10c36869aa4fd.zip
gcc-9d80ef7c827fd5b4bc4ccfd772a10c36869aa4fd.tar.gz
gcc-9d80ef7c827fd5b4bc4ccfd772a10c36869aa4fd.tar.bz2
cse.c (memory_extend_rtx): Remove.
* cse.c (memory_extend_rtx): Remove. (cse_main): Don't set it. (cse_insn): Use a local buffer instead. From-SVN: r89765
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index 1313399..2b21852 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -400,12 +400,6 @@ static int recorded_label_ref;
static int do_not_record;
-#ifdef LOAD_EXTEND_OP
-
-/* Scratch rtl used when looking for load-extended copy of a MEM. */
-static rtx memory_extend_rtx;
-#endif
-
/* canon_hash stores 1 in hash_arg_in_memory
if it notices a reference to memory within the expression being hashed. */
@@ -5154,10 +5148,13 @@ cse_insn (rtx insn, rtx libcall_insn)
&& MEM_P (src) && ! do_not_record
&& LOAD_EXTEND_OP (mode) != UNKNOWN)
{
+ struct rtx_def memory_extend_buf;
+ rtx memory_extend_rtx = &memory_extend_buf;
enum machine_mode tmode;
/* Set what we are trying to extend and the operation it might
have been extended with. */
+ memset (memory_extend_rtx, 0, sizeof(*memory_extend_rtx));
PUT_CODE (memory_extend_rtx, LOAD_EXTEND_OP (mode));
XEXP (memory_extend_rtx, 0) = src;
@@ -6675,13 +6672,6 @@ cse_main (rtx f, int nregs, FILE *file)
reg_eqv_table = xmalloc (nregs * sizeof (struct reg_eqv_elem));
-#ifdef LOAD_EXTEND_OP
-
- /* Allocate scratch rtl here. cse_insn will fill in the memory reference
- and change the code and mode as appropriate. */
- memory_extend_rtx = gen_rtx_ZERO_EXTEND (VOIDmode, NULL_RTX);
-#endif
-
/* Reset the counter indicating how many elements have been made
thus far. */
n_elements_made = 0;