egcs/gcc Tag: egcs_gc_branch ChangeLog c-decl. ...
rth@egcs.cygnus.com
rth@egcs.cygnus.com
Sat Mar 27 19:40:00 GMT 1999
CVSROOT: /egcs/carton/cvsfiles
Module name: egcs
Changes by: rth@egcs.cygnus.com 99/03/27 19:40:18
Modified files:
gcc : Tag: egcs_gc_branch ChangeLog c-decl.c
emit-rtl.c function.c function.h gengenrtl.c
ggc-simple.c ggc.h integrate.c output.h
profile.c rtl.h varasm.c
Log message:
Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* c-decl.c (init_decl_processing): Don't mark global_binding_level.
* emit-rtl.c (gen_rtx_CONST_DOUBLE): New function.
(gen_rtx): Special case CONST_DOUBLEs.
* gengenrtl.c (special_rtx): Special case CONST_DOUBLEs.
* rtl.h (gen_rtx_CONST_DOUBLE): Declare.
* ggc-simple.c (ggc_mark_rtx): For CONST_DOUBLEs, walk
CONST_DOUBLE_CHAIN.
* function.h (struct function): Add new element VARASM. Delete the
varasm-specific fields.
(save_varasm_status): Delete declaration.
(restore_varasm_status): Delete declaration.
(init_varasm_status): Declare.
(init_const_rtx_hash_table): Declare here.
* output.h (init_const_rtx_hash_table): Don't declare here.
* function.c (push_function_context_to): Don't call
save_varasm_status.
(pop_function_context_from): Don't call restore_varasm_status.
(prepare_function_start): Call init_varasm_status instead of
init_const_rtx_hash_table.
(mark_function_chain): Call mark_varasm_state instead of marking
the relevant bits here.
* ggc.h (mark_pool_constant): Don't declare.
(mark_varasm_state): Declare.
* integrate.c (output_inline_function): init_const_rtx_hash_table now
takes an arg.
* varasm.c (struct varasm_status): Define; move global variables
into it and define accessor macros.
(const_double_chain): Moved into struct varasm_status.
(const_rtx_hash_table): Likewise.
(const_rtx_sym_hash_table): Likewise.
(first_pool): Likewise.
(last_pool): Likewise.
(pool_offset): Likewise.
(immed_double_const): Don't touch const_double_chain outside a
function.
Delete obstack nonsense.
Don't handle nested functions specially.
(immed_real_const_1): Likewise.
(clear_const_double_mem): Don't handle nested functions specially.
(init_const_rtx_hash_table): Take new arg, pointer to struct function,
and modify its contents.
Use xmalloc not oballoc.
(save_varasm_status): Delete.
(restore_varasm_status): Delete.
(init_varasm_status): New function.
(free_varasm_status): Free memory allocated in
init_const_rtx_hash_table.
(mark_pool_constant): Now static.
(mark_varasm_state): New function.
(force_const_mem): Don't handle nested functions specially.
(init_const_rtx_hash_table_once): Do nothing here.
* profile.c (output_func_start_profiler): Comment out apparently
nonsensical call to start_sequence.
More information about the Gcc-cvs
mailing list