r149275 - in /branches/lto/gcc: ChangeLog.lto M...
dnovillo@gcc.gnu.org
dnovillo@gcc.gnu.org
Mon Jul 6 04:53:00 GMT 2009
Author: dnovillo
Date: Mon Jul 6 04:53:07 2009
New Revision: 149275
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149275
Log:
* lto-tree-flags.def: Remove. Update all users.
* lto-cgraph.c (lto_output_edge): Use a bitpack to encode
all the edge flags.
(lto_output_node): Use a bitpack to encode all the node
flags.
(input_overwrite_node): Likewise.
(input_node): Likewise.
(input_edge): Likewise.
* ipa-pure-const.c (pure_const_write_summary): Use a
bitpack to encode function state flags.
(pure_const_read_summary): Likewise.
* lto-streamer-out.c: Include lto-symtab.h.
(lto_flags_needed_for): Remove.
(lto_types_needed_for): Remove.
(output_record_start): Remove.
(output_expr_operand): Remove.
(expr_to_tag): Remove.
(stmt_to_tag): Remove.
(eq_label_slot_node, string_slot, eq_string_slot_node,
string_slot_free): Tidy.
(create_output_block): Call lto_streamer_cache_create.
(destroy_output_block): Call lto_streamer_cache_delete.
(lto_output_bitpack): New.
(output_real): Remove.
(output_widest_uint_uleb128): Remove.
(output_integer): Remove.
(output_tree_flags): Remove.
(output_record_start): Remove arguments EXPR and VALUE.
Update all users.
(output_type_ref_1): Move into output_type_ref.
(output_local_decl_ref): Remove.
(output_label_ref): Tidy.
(pack_ts_base_value_fields): New.
(pack_ts_real_cst_value_fields): New.
(pack_ts_fixed_cst_value_fields): New.
(pack_ts_decl_common_value_fields): New.
(pack_ts_decl_wrtl_value_fields): New.
(pack_ts_decl_with_vis_value_fields): New.
(output_constructor): Remove.
(pack_ts_function_decl_value_fields): New.
(pack_ts_type_value_fields): New.
(output_block_or_decl): Remove.
(pack_ts_block_value_fields): New.
(output_tree_block): Remove.
(pack_value_fields): New.
(output_expr_operand): Remove.
(lto_output_location): New.
(tree_is_indexable): New.
(lto_output_tree_ref): New.
(lto_output_tree_or_ref): New.
(lto_output_chain): New.
(lto_output_ts_common_tree_pointers): New.
(lto_output_ts_vector_tree_pointers): New.
(output_local_var_decl): Remove.
(lto_output_ts_complex_tree_pointers): New.
(lto_output_ts_decl_minimal_tree_pointers): New.
(lto_output_ts_decl_common_tree_pointers): New.
(lto_output_ts_decl_non_common_tree_pointers): New.
(lto_output_ts_decl_with_vis_tree_pointers): New.
(lto_output_ts_field_decl_tree_pointers): New.
(lto_output_ts_function_decl_tree_pointers): New.
(lto_output_ts_type_tree_pointers): New.
(lto_output_ts_list_tree_pointers): New.
(lto_output_ts_vec_tree_pointers): New.
(lto_output_ts_exp_tree_pointers): New.
(lto_output_ts_block_tree_pointers): New.
(output_local_vars): Remove.
(lto_output_ts_binfo_tree_pointers): Remove.
(lto_output_ts_constructor_tree_pointers): Remove.
(lto_output_tree_pointers): New.
(lto_output_tree_header): New.
(lto_output_builtin_tree): New.
(lto_write_tree): New.
(lto_output_integer_cst): New.
(lto_output_tree): New.
(output_local_vars_index): Remove.
(output_stmt_location): Remove.
(initialized): Remove.
(initialized_local): Remove.
(lto_static_init): Remove.
(lto_init_writer): Remove.
(output_function): Use a bitpack to encode the function
flags.
(output_var_init): Remove.
(output_inits_in_decl_state): Remove.
(output_used_constructors_and_inits): Remove.
(output_remaining_constructors_and_inits): Remove.
(output_all_constructors_and_inits): Remove.
(output_unreferenced_globals): Rename from
output_constructors_and_inits.
Traverse varpool nodes, emit references to all public
VAR_DECLs.
(lto_writer_init): New.
(lto_output): Call it.
(output_global_record_start): Remove.
(output_const_decl): Remove.
(output_field_decl): Remove.
(output_function_decl): Remove.
(write_global_stream): In WPA mode, do not write the same
symbol more than once. Mark subsequent symbols as weak.
(output_var_decl): Remove.
(output_parm_decl): Remove.
(output_result_decl): Remove.
(output_type_decl): Remove.
(output_label_decl): Remove.
(output_imported_decl): Remove.
(output_binfo): Remove.
(output_type): Remove.
(output_global_record_start_1): Remove.
(output_global_constructor): Remove.
(output_tree_with_context): Remove.
(output_tree): Remove.
(output_type_tree): Remove.
* lto-tree-tags.def: Remove.
* lto-streamer-in.c (input_tree_operand): Remove.
(input_local_decl): Remove.
(input_expr_operand): Remove.
(tag_to_expr): Remove.
(flags_length_for_code): Remove.
(input_real): Remove.
(input_record_start): Read tag calling lto_input_uleb128.
(get_label_decl): Remove IB argument. Add argument IX.
(input_tree_flags): Remove.
(process_tree_flags): Remove.
(input_line_info): Remove.
(set_line_info): Remove.
(input_expr_operand): Remove.
(input_local_vars_index): Remove.
(input_local_var_decl): Remove.
(lto_input_tree_ref): New.
(input_local_decl): Remove.
(input_local_vars): Remove.
(input_stmt_location): Remove.
(lto_input_location): New.
(input_gimple_stmt): Call lto_tag_to_gimple_code.
(input_function_tree): Use a bitpack to read function
flags.
Call input_ssa_names.
(input_alias_pairs): Rename from input_constructors_or_inits.
(lto_init_reader): Remove.
(lto_read_body): Remove ib_ssa_names, ib_local_decls_index
and ib_local_decls.
(global_vector_enter): Remove.
(input_tree_with_context): Remove.
(input_field_decl): Remove.
(input_const_decl): Remove.
(input_function_decl): Remove.
(unpack_ts_base_value_fields): New.
(unpack_ts_real_cst_value_fields): New.
(unpack_ts_fixed_cst_value_fields): New.
(unpack_ts_decl_common_value_fields): New.
(unpack_ts_decl_wrtl_value_fields): New.
(unpack_ts_decl_with_vis_value_fields): New.
(unpack_ts_function_decl_value_fields): New.
(input_var_decl): Remove.
(unpack_ts_type_value_fields): New.
(unpack_ts_block_value_fields): New.
(unpack_value_fields): New.
(input_parm_decl): Remove.
(lto_input_bitpack): New.
(input_result_decl): Remove.
(input_type_decl): Remove.
(lto_input_chain): New.
(lto_input_ts_common_tree_pointers): New.
(input_label_decl): Remove.
(lto_input_ts_vector_tree_pointers): New.
(lto_input_ts_complex_tree_pointers): New.
(lto_input_ts_decl_minimal_tree_pointers): New.
(input_imported_decl): Remove.
(lto_input_ts_decl_common_tree_pointers): New.
(lto_input_ts_decl_non_common_tree_pointers): New.
(lto_input_ts_decl_with_vis_tree_pointers): New.
(input_binfo): Remove.
(lto_input_ts_field_decl_tree_pointers): New.
(lto_input_ts_function_decl_tree_pointers): New.
(lto_input_ts_type_tree_pointers): New.
(lto_input_ts_list_tree_pointers): New.
(input_type): Remove.
(lto_input_ts_vec_tree_pointers): New.
(lto_input_ts_exp_tree_pointers): New.
(input_type_tree): Remove.
(lto_input_ts_block_tree_pointers): New.
(input_block_or_decl): Remove.
(lto_input_ts_binfo_tree_pointers): New.
(input_tree_block): Remove.
(lto_input_ts_constructor_tree_pointers): New.
(lto_input_tree_pointers): New.
(lto_register_var_decl_in_symtab): New.
(input_tree_operand): Remove.
(lto_register_function_decl_in_symtab): New.
(lto_get_pickled_tree): New.
(lto_get_builtin_tree): New.
(lto_read_tree): New.
(lto_input_integer_cst): New.
(lto_input_tree): New.
(input_tree): Remove.
(lto_init_reader): New.
(lto_data_in_create): New.
(lto_data_in_delete): New.
* lto-section-in.c (lto_get_flag): Remove.
(lto_get_flags): Remove.
(lto_input_integer): Remove.
* lto-tags.h: Remove.
* lto-streamer.c: Include flags.h, tree-flow.h and
diagnostic.h
(lto_decl_flags): Remove.
(lto_tag_name): New.
(lto_get_decl_flags): Remove.
(lto_set_decl_flags): Remove.
(bitpack_create): New.
(bitpack_delete): New.
(bp_get_next_word): New.
(bp_pack_value): New.
(bp_unpack_value): New.
(check_handled_ts_structures): New.
(lto_streamer_cache_insert_1): New.
(lto_streamer_cache_insert): New.
(lto_streamer_cache_insert_at): New.
(lto_streamer_cache_lookup): New.
(lto_streamer_cache_get): New.
(lto_record_common_node): New.
(lto_get_common_nodes): New.
(preload_common_node): New.
(lto_streamer_cache_create): New.
(lto_streamer_cache_delete): New.
(lto_streamer_init): New.
(gate_lto_out): New.
(lto_orig_address_map): New.
(lto_orig_address_get): New.
(lto_orig_address_remove): New.
* lto-streamer.h: Include tree.h and gimple.h. Update
main comment on data structures.
(REDUNDANT_TYPE_SYSTEM): Remove.
(LTO_DECL_FLAG_DEFINED): Remove.
(LTO_DECL_FLAG_SUPPRESS_OUTPUT): Remove.
(BITS_PER_BITPACK_WORD): New.
(bitpack_word_t): New type.
(struct bitpack_d): Define.
(enum LTO_tags): Move from lto-tags.h. Add values
LTO_builtin_decl, LTO_field_decl_ref,
LTO_function_decl_ref, LTO_local_label_decl,
LTO_global_label_decl, LTO_result_decl_ref,
LTO_ssa_name_ref, LTO_type_decl_ref, LTO_type_ref and
LTO_global_decl_ref.
(struct lto_streamer_cache_d): New.
(struct lto_function_header): Remove fields
num_local_decls, ssa_name_size, local_decls_index_size,
local_decls_size, local_decl_index_stream,
local_decl_stream, ssa_names_stream.
(struct output_block): Remove fields local_decl_encoder,
local_decls_index, unexpanded_local_decls_index and
main_hash_table.
(struct output_block): Remove fields local_decl_encoder,
local_decls_index, unexpanded_local_decls_index and
main_hash_table.
Add field writer_cache.
(struct data_in): Remove fields local_decls_index,
local_decl_indexes, local_decls and globals_index.
Add field reader_cache.
(lto_tag_is_tree_code_p): New.
(lto_tag_is_gimple_code_p): New.
(lto_gimple_code_to_tag): New.
(lto_tag_to_gimple_code): New.
(lto_tree_code_to_tag): New.
(lto_tag_to_tree_code): New.
(lto_stream_as_builtin_p): New.
* varasm.c (default_binds_local_p_1): Ignore DECL_WEAK in
LTRANS mode.
* passes.c (init_optimization_passes): Tidy.
* lto-section-out.c: Do not include diagnostic.h nor
lto-symtab.h.
(lto_set_flag): Remove.
(lto_set_flags): Remove.
(lto_hash_global_slot_node): Remove.
(lto_eq_global_slot_node): Remove.
(lto_output_integer_stream): Remove.
(get_ref_idx_for): Remove.
(lto_record_common_node): Remove.
(lto_get_common_nodes): Move to lto-streamer.c.
(preload_common_node): Move to lto-streamer.c.
(preload_common_nodes): Remove.
(write_global_stream): Move to lto-streamer-out.c.
(write_global_references): Likewise.
(lto_output_decl_state_streams): Likewise.
(lto_output_decl_state_refs): Likewise.
(lto_out_decl_state_written_size): Likewise.
(write_symbol_vec): Likewise.
(write_symbols_of_kind): Likewise.
(produce_symtab): Likewise.
(produce_asm_for_decls): Likewise.
(gate_lto_out): Likewise.
(pass_ipa_lto_finish_out): Likewise.
* varasm.c (default_binds_local_p_1): Ignore DECL_WEAK in
LTRANS mode.
* passes.c (init_optimization_passes): Tidy.
* lto-section-out.c: Do not include diagnostic.h nor
lto-symtab.h.
(lto_set_flag): Remove.
(lto_set_flags): Remove.
(lto_hash_global_slot_node): Remove.
(lto_eq_global_slot_node): Remove.
(lto_output_integer_stream): Remove.
(get_ref_idx_for): Remove.
(lto_record_common_node): Remove.
(lto_get_common_nodes): Move to lto-streamer.c.
(preload_common_node): Move to lto-streamer.c.
(preload_common_nodes): Remove.
(write_global_stream): Move to lto-streamer-out.c.
(write_global_references): Likewise.
(lto_output_decl_state_streams): Likewise.
(lto_output_decl_state_refs): Likewise.
(lto_out_decl_state_written_size): Likewise.
(write_symbol_vec): Likewise.
(write_symbols_of_kind): Likewise.
(produce_symtab): Likewise.
(produce_asm_for_decls): Likewise.
(gate_lto_out): Likewise.
(pass_ipa_lto_finish_out): Likewise.
lto/ChangeLog:
* lto.c (preload_common_nodes): Remove.
(lto_read_in_decl_state): Call lto_streamer_cache_get.
(lto_read_decls): Call lto_data_in_create and
lto_data_in_delete.
(free_decl): Do not call ggc_free.
(lto_main): Call lto_init_reader.
* lto-lang.c (lto_type_for_size): Handle intTI_type_node.
(lto_init): Initialize main_identifier_node if needed.
Make ptrdiff_type_node be integer_type_node.
Removed:
branches/lto/gcc/lto-tags.h
branches/lto/gcc/lto-tree-flags.def
branches/lto/gcc/lto-tree-tags.def
Modified:
branches/lto/gcc/ChangeLog.lto
branches/lto/gcc/Makefile.in
branches/lto/gcc/ipa-pure-const.c
branches/lto/gcc/lto-cgraph.c
branches/lto/gcc/lto-section-in.c
branches/lto/gcc/lto-section-out.c
branches/lto/gcc/lto-streamer-in.c
branches/lto/gcc/lto-streamer-out.c
branches/lto/gcc/lto-streamer.c
branches/lto/gcc/lto-streamer.h
branches/lto/gcc/lto/ChangeLog
branches/lto/gcc/lto/lto-lang.c
branches/lto/gcc/lto/lto.c
branches/lto/gcc/passes.c
branches/lto/gcc/varasm.c
More information about the Gcc-cvs
mailing list