diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 33 | ||||
-rw-r--r-- | gcc/integrate.c | 1 | ||||
-rw-r--r-- | gcc/rtl.h | 1 |
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); @@ -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)); |