This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r169327 - in /branches/gc-improv/gcc: ChangeLog...


Author: lauras
Date: Thu Jan 27 11:09:37 2011
New Revision: 169327

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169327
Log:
2011-01-27  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* vecir.h: Do not define rtx vector in GC.

	* varasm.c (object_block_htab): Remove GTY marker.
	(shared_constant_pool): Likewise.
	(get_block_for_section): Allocate block in heap.
	(create_block_symbol): Allocate symbol in RTL memory.
	(assemble_start_function): Use strdup_to_permanent_mem.
	(assemble_static_space): Use strdup_to_permanent_mem.
	(initial_trampoline(: Remove GTY marker.
	(assemble_trampoline_template): Use strdup_to_permanent_mem.
	(saved_constant_decls): New.
	(build_constant_decl)): Store decl in saved_constant_decls.  Use
	strdup_to_permanent_mem.
	(struct rtx_constant_pool): Remove GTY markers.
	(struct constant_descriptor_rtx): Remove GTY marker.
	(create_constant_pool): Use heap allocation.
	(force_const_mem): Use heap allocation for desc.  Use
	strdup_to_permanent_mem.
	(init_varasm_once): Create object_block_htab in heap.
	(place_block_symbol): Adjust for heap vector.
	(get_section_anchor): Use stdup_to_permanent_mem.  Adjust for heap
	vector.
	(make_debug_expr_from_rtl): Store ddecl in cfun->debug_decls.

	* tree.h (struct tree_decl_with_rtl): Skip GTY for field rtl.
	(struct tree_parm_decl): Skip GTY for field incoming_rtl.

	* tree-ssa-address.c: Do not include ggc.h and
	gt-tree-ssa-address.h
	(struct mem_addr_template): Remove GTY markers.
	(mem_addr_template): Declare heap vector.
	(mem_addr_template_list): Remove GTY marker.  Define as a heap
	vector.
	(addr_for_mem_ref): Adjust usage for heap vector.

	* toplev.c (backend_init): Call init_rtl.

	* stmt.c (expand_asm_operands): Use strdup_to_permanent_mem.

	* sel-sched.c (update_fence_and_insn): Adjust for heap vector.

	* sel-sched-ir.h (struct _fence): Define executing_insns as a heap
	vector.

	* sel-sched-ir.c (flist_add): Declare executing_insns as a heap
	vector.
	(merge_fences): Likewise.  Adjust usage.
	(add_to_fences): Likewise.
	(fence_clear): Use heap vector.

	* rtl.h (struct mem_attrs): Skip for GTY fields offset and size.
	(struct object_block): Remove GTY marker.  Declare objects and
	anchors as heap vectors.
	(struct rtx_def): Remove GTY options.
	(struct rtvec_def): Remove GTY options.
	(rtl_obstack): Declare.
	(init_rtl, allocate_in_rtl_mem): Declare.
	(allocate_in_rtl_function_mem, copy_rtx_to_permanent_mem): Declare.
	(strdup_to_permanent_mem): Declare.

	* rtl.c: Include obstack.h.
	(function_obstack, permanent_obstack, rtl_obstack): Define.
	(init_rtl, allocate_in_rtl_mem): New.
	(allocate_in_rtl_function_mem, copy_rtx_to_permanent_mem): New.
	(strdup_to_permanent_mem): New.
	(rtvec_alloc): Use obstack allocation.
	(rtx_alloc_stat): Use obstack allocation.
	(shallow_copy_rtx_stat): Call rtx_alloc.

	* reload1.c (reg_equiv_memory_loc_vec): Define as a heap vector.
	(replace_pseudos_in): Adjust regno_reg_rtx usage.
	(reload): Likewise.
	(alter_reg): Likewise.
	(free_reg_equiv): Adjust reg_equiv_memory_loc_vec usage.
	(do_input_reload): Adjust regno_reg_rtx usage.
	(emit_reload_insns): Likewise.

	* reload.h (reg_equiv_memory_loc_vec): Remove GTY marker, declare
	as a heap vector.
	(reg_equiv_init, reg_equiv_init_size): Remove GTY marker.

	* regs.h (PSEUDO_REGNO_MODE): Adjust regno_reg_rtx_usage.

	* lower-subreg.c (decompose_register): Adjust regno_reg_rtx
	usage.
	(decompose_multiword_subregs): Likewise.

	* lists.c: Do not include ggc.h and gt-lists.h.
	(unused_insn_list, unused_expr_list): Remove GTY marker.

	* libfuncs.h (struct libfunc_entry): Skip for GTY field libfunc.
	(struct target_libfuncs): Skip for GTY field x_libfunc_table.

	* ira.c (fix_reg_equiv_init): Adjust regno_reg_rtx usage.
	(setup_preferred_alternate_classes_for_new_pseudos): Likewise.
	(update_equiv_regs): Likewise.
	(init_live_subregs): Likewise.
	(init_reg_equiv_memory_loc): Adjust reg_equiv_memory_loc_vec
	usage.

	* ira-emit.c (ira_emit): Adjust regno_reg_rtx usage.

	* ira-costs.c (print_pseudo_costs): Adjust regno_reg_rtx usage.
	(find_costs_and_classes): Likewise.

	* ira-conflicts.c (ira_build_conflicts): Adjust regno_reg_rtx
	usage.

	* ira-color.c (allocno_reload_assign): Adjust regno_reg_rtx
	usage.

	* integrate.c: Do not include ggc.h and gt-integrate.h.
	(struct initial_value_pair): Remove GTY markers.
	(get_hard_reg_initial_val): Allocate ivs in RTL memory.

	* ggc.h (rtl_zone, ggc_alloc_rtvec_sized): Remove.

	* ggc-zone.c (rtl_zone): Remove.
	(ggc_alloc_typed_stat): Do not handle RTL allocation.
	(init_ggc): Do not create rtl_zone.

	* ggc-none.c (rtl_zone): Remove.

	* gcc-page.c (rtl_zone): Remove.

	* gensupport.c: (obstack, rtl_obstack): Remove.
	(init_rtx_reader_args_cb): Call init_rtl.  Do not initialize
	rtl_obstack.

	* gengtype.c (gen_rtx_next, write_rtx_next): Remove.
	(adjust_field_rtx_def, create_optional_field_): Remove.
	(create_optional_field, enum rtx_code, rtx_name): Remove.
	(rtx_format, rtx_next_new): Remove.
	(adjust_field_type): Do not handle special option value "rtx_def".
	(main): Do not call gen_rtx_next and write_rtx_next.

	* gcse.c: Do not include ggc.h and gt-gcse.h
	(test_insn): Remove GTY marker.

	* function.h (struct sequence_stack): Remove GTY marker.
	(struct emit_status): Likewise.  Move here free_sequence_stack and
	regno_reg_rtx from emit-rtl.c.  Remove GTY option from
	regno_pointer_align.
	(struct exr_status): Remove GTY marker.
	(call_site_record): Declare as heap vector.
	(struct rtl_eh): Remove GTY marker.  Define action_record_data and
	call_site_record as heap vectors.
	(temp_slot_p): Declare as heap vector.
	(struct varasm_status): Remove GTY marker.
	(struct incoming_args): Remove GTY marker.
	(struct frame_space): Remove GTY marker.
	(struct rtl_data): Remove GTY marker.  Define x_used_temp_slots as
	heap vector.
	(x_rtl): Remove GTY marker.
	(struct function): New field debug_decls.  Skip for GTY field
	machine.

	* function.c (prologue_insn_hash, epilogue_insn_hash): Remove GTY
	marker.
	(free_after_compilation): Free prologue_insn_hash,
	epilogue_insn_hash and crtl->emit.regno_reg_rtx.
	(add_frame_space): Allocate space in RTL memory.
	(struct temp_slot): Remove GTY marker.
	(temp_slot_address_table): Remove GTY marker.
	(temp_slot_address_entry): Remove GTY marker.
	(temp_slots_at_level): Adjust used_temp_slots usage.
	(insert_temp_slot_address): Allocate t in RTL memory.
	(assign_stack_temp_for_type): Allocate p in RTL memory.
	(init_temp_slots): Create temp_slot_address_table in heap.
	(assign_parm_setup_reg): Adjust regno_reg_rtx usage.
	(initial_trampoline): Removed.
	(record_insns): Create hashp in heap.

	* expr.c (use_regs): Adjut regno_reg_rtx usage.

	* explow.c: Do not include ggc.h and gt-explow.h.
	(stack_check_libfunc): Remove GTY marker.

	* except.h (struct eh_landing_pad_d): Skip for GTY field
	landing_pad.
	(struct eh_region_d): Skip for GTY fields exc_ptr_reg, filter_reg.

	* except.c (cal_site_record_d): Remove GTY marker.
	(push_sleb128): Pass heap vector.  Adjust data_area usage.
	(sjlj_assign_call_site_values): Allocate
	crtl->eh.action_record_data in heap.
	(add_call_site): Allocate record in RTL memory.  Adjust
	crtl->eh.call_site_record usage.
	(convert_to_eh_region_ranges): Adjust crtl->eh.action_record_data
	usage.
	(convert_to_eh_region_ranges): Adjust crtl->eh.call_site_record
	usage.

	* emit-rtl.c (regno_reg_rtx, free_sequence_stack): Move and make
	it a field in struct emit_status.
	(const_int_htab): Remove GTY marker.
	(mem_attrs_htab): Likewise.
	(reg_attrs_htab): Likewise.
	(const_double_htab): Likewise.
	(const_fixed_htab): Likewise.
	(mem_attr_exprs): New.
	(get_mem_attrs): Store expr in mem_attr_exprs.  Allocate *slot in
	heap.
	(get_reg_attrs): Allocate *slot in heap.
	(gen_rtx_REG): Adjust regno_reg_rtx usage.
	(gen_reg_rtx): Likewise.
	(start_sequence): Adjust free_sequence_stack usage.  Allocate tem
	in RTL memory.
	(end_sequence): Adjust free_sequence_stack usage.
	(init_virtual_regs): Adjust regno_reg_rtx usage.
	(init_emit): Adjust regno_reg_rtx and free_sequence_stack usage.
	Allocate crtl->emit.regno_reg_rtx in heap.
	(init_emit_once): Create hash tables in heap.
	(hard_reg_clobbers): Remove GTY marker.

	* dwarf2out.c (used_rtx_array): Remove.
	(current_unit_personality): Remove GTY marker.
	(queued_reg_save): Likewise.
	(queued_reg_saves): Likewise.
	(reg_saved_in_data): Likewise.
	(regs_saved_in_regs): Likewise.
	(num_regs_saved_in_regs): Likewise.
	(queue_reg_save): Allocate q in heap.
	(dwarf2out_flush_queued_reg_saves): Free queued_reg_saves.
	(struct dw_val_struct): Skip for GTY field v.val_addr.
	(struct var_loc_node): Skip for GTY field loc.
	(mem_loc_descriptor): Copy rtl to permanent RTL memory area
	instead of saving in used_rtx_array.
	(loc_descriptor): Likewise.
	(add_const_value_attribute): Likewise.
	(resolve_one_addr): Likewise.
	(dwarf2out_init): Do not allocate used_rtx_array.

	* dojump.c: Do not include ggc.h and gt-dojump.h
	(and_reg, and_test, shift_test): Remove GTY marker.

	* df-scan.c (df_ref_change_reg_with_loc_1): Adjust regno_reg_rtx
	usage.
	(df_ref_record): Likewise.
	(df_get_call_refs): Likewise.
	(df_insn_refs_collect): Likewise.
	(df_bb_refs_collect): Likewise.
	(df_entry_block_defs_collect): Likewise.
	(df_exit_block_uses_collect): Likewise.

	* df-problems.c (df_set_unused_notes_for_mw): Adjust regno_reg_rtx
	usage.
	(df_set_dead_notes_for_mw): Likewise.

	* cselib.c: Do not include ggc.h and gt-cselib.h
	(callmem): Remove GTY marker.

	* cse.c (canon_reg): Adjust regno_reg_rtx usage.
	(cse_insn): Likewise.

	* config/i386/i386.h (struct machine_frame_state): Skip for GTY
	field cfa_reg.
	(strcut machine_function): Remove GTY markers.

	* config/i386/i386.c (struct stack_local_entry): Remove GTY marker.
	(queued_cfa_restores, split_stack_fn): Likewise.
	(split_stack_fn_large): Likewise.
	(ix86_init_machine_status): Allocate f in RTL memory.
	(assign_386_stack_local): Allocate s in RTL memory.
	(ix86_tls_symbol): Remove GTY marker.
	(ix86_tls_module_base_symbol): Likewise.

	* combine.c (try_combine, find_split_point): Adjust regno_reg_rtx
	usage.
	(simplify_set): Likewise.
	(move_deaths): Likewise.
	(distribute_notes): Likewise.

	* cgraph.h (struct constant_descriptor_tree): Skip for GTY field
	rtl.

	* cfgrtl.c (init_rtl_bb_info): Allocate bb->il.rtl in RTL memory.

	* cfglayout.h (cfg_layout_function_header)
	(cfg_layout_function_footer): Remove GTY marker.

	* cfgexpand.c (expand_debug_locations): Store value in
	cfun->debug_decls.
	(expand_gimple_basic_block): Likewise.

	* cfg.c (dump_reg_info): Adjust regno_reg_rtx usage.

	* caller-save.c: Do not include ggc.h and gt-caller-save.h
	(savepat, restpat, test_reg, test_mem, saveinsn, restinsn): Remove
	GTY marker.
	(setup_save_areas): Adjust regno_reg_rtx usage.

	* bt-load.c (compute_defs_uses_and_gen): Adjust regno_reg_rtx
	usage.

	* basic-block.h (union edge_def_insns): Skip for GTY field r.
	(union basic_block_il_dependent): Skip for GTY field rtl.
	(rtl_bb_info): Remove GTY marker.

	* alias.c (reg_base_value): Use heap allocation, remove GTY marker.
	(old_reg_base_value): Likewise.
	(reg_known_value): Remove GTY marker.
	(reg_known_value_size): Likewise.
	(init_alias_analysis): Adjust allocation of reg_base_value and
	reg_known_value.  Adjust regno_reg_rtx usage.
	(end_alias_analysis): Adjust freeing of reg_known_value.

	* Makefile.in (tree-ssa-address.o): Adjust dependendencies.
	(rtl.o): Likewise.
	(dojump.o): Likewise.
	(explow.o): Likewise.
	(integrate.o): Likewise.
	(cselib.o): Likewise.
	(gcse.o): Likewise.
	(caller-save.o): Likewise.
	(lists.o): Likewise.
	(GTFILES): Remove caller-save.c, cselib.c, dojump.c, explow.c,
	gcse.c, integrate.c, lists.c, tree-ssa-address.c

Added:
    branches/gc-improv/gcc/ChangeLog.gc-improv
Modified:
    branches/gc-improv/gcc/Makefile.in
    branches/gc-improv/gcc/alias.c
    branches/gc-improv/gcc/basic-block.h
    branches/gc-improv/gcc/bt-load.c
    branches/gc-improv/gcc/caller-save.c
    branches/gc-improv/gcc/cfg.c
    branches/gc-improv/gcc/cfgexpand.c
    branches/gc-improv/gcc/cfglayout.h
    branches/gc-improv/gcc/cfgrtl.c
    branches/gc-improv/gcc/cgraph.h
    branches/gc-improv/gcc/combine.c
    branches/gc-improv/gcc/config/i386/i386.c
    branches/gc-improv/gcc/config/i386/i386.h
    branches/gc-improv/gcc/cse.c
    branches/gc-improv/gcc/cselib.c
    branches/gc-improv/gcc/df-problems.c
    branches/gc-improv/gcc/df-scan.c
    branches/gc-improv/gcc/dojump.c
    branches/gc-improv/gcc/dwarf2out.c
    branches/gc-improv/gcc/emit-rtl.c
    branches/gc-improv/gcc/except.c
    branches/gc-improv/gcc/except.h
    branches/gc-improv/gcc/explow.c
    branches/gc-improv/gcc/expr.c
    branches/gc-improv/gcc/function.c
    branches/gc-improv/gcc/function.h
    branches/gc-improv/gcc/gcse.c
    branches/gc-improv/gcc/gengtype.c
    branches/gc-improv/gcc/gensupport.c
    branches/gc-improv/gcc/ggc-none.c
    branches/gc-improv/gcc/ggc-page.c
    branches/gc-improv/gcc/ggc-zone.c
    branches/gc-improv/gcc/ggc.h
    branches/gc-improv/gcc/integrate.c
    branches/gc-improv/gcc/ira-color.c
    branches/gc-improv/gcc/ira-conflicts.c
    branches/gc-improv/gcc/ira-costs.c
    branches/gc-improv/gcc/ira-emit.c
    branches/gc-improv/gcc/ira.c
    branches/gc-improv/gcc/libfuncs.h
    branches/gc-improv/gcc/lists.c
    branches/gc-improv/gcc/lower-subreg.c
    branches/gc-improv/gcc/regs.h
    branches/gc-improv/gcc/reload.h
    branches/gc-improv/gcc/reload1.c
    branches/gc-improv/gcc/rtl.c
    branches/gc-improv/gcc/rtl.h
    branches/gc-improv/gcc/sel-sched-ir.c
    branches/gc-improv/gcc/sel-sched-ir.h
    branches/gc-improv/gcc/sel-sched.c
    branches/gc-improv/gcc/stmt.c
    branches/gc-improv/gcc/toplev.c
    branches/gc-improv/gcc/tree-ssa-address.c
    branches/gc-improv/gcc/tree.h
    branches/gc-improv/gcc/varasm.c
    branches/gc-improv/gcc/vecir.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]