r132210 - in /branches/lto/gcc: ChangeLog.lto M...
zadeck@gcc.gnu.org
zadeck@gcc.gnu.org
Sun Feb 10 04:03:00 GMT 2008
Author: zadeck
Date: Sun Feb 10 04:03:15 2008
New Revision: 132210
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132210
Log:
2008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
* lto.c (lto_read_variable_formal_parameter_const): Remove code to
reconstruct static initializers.
(lto_get_body, lto_materialize_function): Add lto_section_type as
a parameter.
(lto_materialize_constructors_and_inits,
lto_materialize_file_data): New function.
(lto_materialize_function,
lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
unmap_section and map_fn_body to map_section.
(lto_set_cu_context): Process functions and static inits
differently.
* Make-lang.in (LTO_H, lto/lto-function-in.o,
lto/lto-section-in.o): Update dependencies.
* lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
lto_section_type parameter.
(lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
* lto.h (lto_file_vtable_struct): Removed two of the fields and
renamed the other two so that there is only one map function and
one unmap function and each takes a section type parameter.
(lto_read_function_body): Renamed to lto_input_function_body and
added file_data parameter.
(lto_read_var_init): Removed.
(lto_input_constructors_and_inits): New function.
* lto-section-in.c (lto_read_decls): New function.
* lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
var_decls, type_decls, types to lto_file_decl_data.
(input_type_ref, input_expr_operand, lto_read_body): Get
field_decls, fn_decls, var_decls, type_decls, types from different
structure.
(input_globals, input_constructor, lto_read_var_init): Removed.
(input_constructors_or_inits): New function.
(lto_read_function_body, lto_input_constructors_and_inits):
Renamed to lto_input_function_body and takes file_data parameter.
* lto-section-in.h (lto_file_decl_data): New structure.
2008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
* tree-pass.h: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
(pass_ipa_lto_finish_out): New pass.
* lto-function-out.c (decl_slot, hash_decl_slot_node, eq_decl_slot_node,
hash_type_slot_node, eq_type_slot_node, output_decl_index): Moved to
lto-section-out.c, made public and and renamed to have "lto_"
prefix.
(eq_label_slot_node, hash_label_slot_node): Uses lto_decl_slot rather than
decl_slot.
(output_block): Deleted these fields: field_decl_hash_table,
next_field_decl_index, field_decls, fn_decl_hash_table,
next_fn_decl_index, fn_decls, var_decl_hash_table,
next_var_decl_index, var_decls, type_decl_hash_table,
next_type_decl_index, type_decls, type_hash_table,
next_type_index, types.
Added cgraph_node and current_stmt_id.
(create_output_block): Now takes lto_section_type. Removed code
to init hash tables moved to lto_section_out.c.
(destroy_output_block): Removed is_function parameter.
Removed code to destroy tables moved to lto_section_out.c
(output_type_ref, output_local_decl_ref, output_label_ref,
output_expr_operand): Modified to call functions moved to lto_section_out.
(output_bb): Properly set current_stmt_id.
(write_references): Moved to lto_section_out.c.
(produce_asm): tripped of all of the function that was moved
to lto_section_out.c.
(output_constructor_or_init): Renamed
output_constructors_and_inits and writes all initializers in a
single section rather than one per section.
(lto_output): Moved loop over all constructors to
output_constructors_and_inits.
(gate_lto_out): Moved to lto-section-out.c.
* tree-ssa-sccvn.c (init_scc_vn): Removed unused bb var.
* lto-header.h (lto_section_type): Changed prefix of all
elements to "LTO_section".
(lto_get_section_name): New function.
(lto_get_section): Move from lto-section.h.
(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN,
LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
lto_debug_context, lto_debug_out): Moved from lto-tags.h.
* lto-section.h: New file.
* lto-tags.h (lto_function_header): Moved fields num_field_decls,
num_fn_decls, num_var_decls, num_type_decls, num_types. to
lto_decl_header in lto-section.h.
(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN,
LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
lto_debug_context, lto_debug_out): Moved to lto-tags.h.
* lto-stream-debug.c: Include lto-header.h.
* Makefile.in (LTO_TAGS_H, lto-stream-debug.o, lto-function-out.o,
lto-section-out.o): Updated dependencies.
(LTO_SECTION_H): New.
* passes.c: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
(pass_ipa_lto_finish_out): New pass.
* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node,
lto_hash_type_slot_node, lto_eq_type_slot_node,
lto_output_decl_index): Moved from lto-function-out.c and
renamed with "lto_" prefix.
(lto_get_section_name, lto_get_out_decl_state, produce_asm_for_decls): New function.
(write_references, gate_lto_out): Moved from lto-function-out.c.
* lto-section-out.h (lto_out_decl_state): New structure.
Added:
branches/lto/gcc/lto-section.h
Modified:
branches/lto/gcc/ChangeLog.lto
branches/lto/gcc/Makefile.in
branches/lto/gcc/lto-function-out.c
branches/lto/gcc/lto-header.h
branches/lto/gcc/lto-section-out.c
branches/lto/gcc/lto-section-out.h
branches/lto/gcc/lto-stream-debug.c
branches/lto/gcc/lto-tags.h
branches/lto/gcc/lto/ChangeLog
branches/lto/gcc/lto/Make-lang.in
branches/lto/gcc/lto/lto-elf.c
branches/lto/gcc/lto/lto-function-in.c
branches/lto/gcc/lto/lto-section-in.c
branches/lto/gcc/lto/lto-section-in.h
branches/lto/gcc/lto/lto.c
branches/lto/gcc/lto/lto.h
branches/lto/gcc/passes.c
branches/lto/gcc/tree-pass.h
branches/lto/gcc/tree-ssa-sccvn.c
More information about the Gcc-cvs
mailing list