aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/emit-rtl.c33
-rw-r--r--gcc/integrate.c1
-rw-r--r--gcc/rtl.h1
4 files changed, 8 insertions, 35 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2905664..03903a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2002-05-29 David S. Miller <davem@redhat.com>
+
+ * rtl.h (clear_emit_caches): Delete.
+ * integrate.c (output_inline_function): Don't call it.
+ * emit-rtl.c (restore_emit_status, init_emit): Likewise.
+ (clear_emit_caches): Delete definition.
+ (SEQUENCE_RESULT_SIZE, sequence_result, free_insn): Likewise.
+
2002-05-30 Hans-Peter Nilsson <hp@bitrange.com>
* config/mmix/mmix.c: Include real.h.
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 963946a..8f8f701e 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -151,26 +151,6 @@ static htab_t mem_attrs_htab;
/* A hash table storing all CONST_DOUBLEs. */
static htab_t const_double_htab;
-/* start_sequence and gen_sequence can make a lot of rtx expressions which are
- shortly thrown away. We use two mechanisms to prevent this waste:
-
- For sizes up to 5 elements, we keep a SEQUENCE and its associated
- rtvec for use by gen_sequence. One entry for each size is
- sufficient because most cases are calls to gen_sequence followed by
- immediately emitting the SEQUENCE. Reuse is safe since emitting a
- sequence is destructive on the insn in it anyway and hence can't be
- redone.
-
- We do not bother to save this cached data over nested function calls.
- Instead, we just reinitialize them. */
-
-#define SEQUENCE_RESULT_SIZE 5
-
-static rtx sequence_result[SEQUENCE_RESULT_SIZE];
-
-/* During RTL generation, we also keep a list of free INSN rtl codes. */
-static rtx free_insn;
-
#define first_insn (cfun->emit->x_first_insn)
#define last_insn (cfun->emit->x_last_insn)
#define cur_insn_uid (cfun->emit->x_cur_insn_uid)
@@ -2256,7 +2236,6 @@ restore_emit_status (p)
struct function *p ATTRIBUTE_UNUSED;
{
last_label_num = 0;
- clear_emit_caches ();
}
/* Clear out all parts of the state in F that can safely be discarded
@@ -4656,16 +4635,6 @@ init_virtual_regs (es)
ptr[VIRTUAL_CFA_REGNUM] = virtual_cfa_rtx;
}
-void
-clear_emit_caches ()
-{
- int i;
-
- /* Clear the start_sequence/gen_sequence cache. */
- for (i = 0; i < SEQUENCE_RESULT_SIZE; i++)
- sequence_result[i] = 0;
- free_insn = 0;
-}
/* Used by copy_insn_1 to avoid copying SCRATCHes more than once. */
static rtx copy_insn_scratch_in[MAX_RECOG_OPERANDS];
@@ -4860,8 +4829,6 @@ init_emit ()
last_label_num = 0;
seq_stack = NULL;
- clear_emit_caches ();
-
/* Init the tables that describe all the pseudo regs. */
f->emit->regno_pointer_align_length = LAST_VIRTUAL_REGISTER + 101;
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 2ea46c9..cf9413e 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -2976,7 +2976,6 @@ output_inline_function (fndecl)
cfun = f;
current_function_decl = fndecl;
- clear_emit_caches ();
set_new_last_label_num (f->inl_max_label_num);
diff --git a/gcc/rtl.h b/gcc/rtl.h
index eac532e..f4adc1da 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1985,7 +1985,6 @@ extern void reorder_insns_nobb PARAMS ((rtx, rtx, rtx));
extern int get_max_uid PARAMS ((void));
extern int in_sequence_p PARAMS ((void));
extern void force_next_line_note PARAMS ((void));
-extern void clear_emit_caches PARAMS ((void));
extern void init_emit PARAMS ((void));
extern void init_emit_once PARAMS ((int));
extern void push_topmost_sequence PARAMS ((void));