+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.
/* 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)
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
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;
-}
\f
/* Used by copy_insn_1 to avoid copying SCRATCHes more than once. */
static rtx copy_insn_scratch_in[MAX_RECOG_OPERANDS];
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;
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));