New data structure for function_summary introduced.

gcc/ChangeLog:

2014-11-12  Martin Liska  <mliska@suse.cz>

	* cgraph.h (symbol_table::allocate_cgraph_symbol): Summary UID
	is filled up.
	* symbol-summary.h: New file.
	* gengtype.c (open_base_files): Add symbol-summary.h.
	* toplev.c (general_init): Call constructor of symbol_table.
First usage of cgraph_summary in ipa-prop pass.

gcc/ChangeLog:

2014-11-12  Martin Liska  <mliska@suse.cz>

	* auto-profile.c: Include symbol-summary.h.
	* cgraph.c: Likewise.
	* cgraphbuild.c: Likewise.
	* cgraphclones.c: Likewise.
	* cgraphunit.c: Likewise.
	* ipa-cp.c: Likewise.
	* ipa-devirt.c: Likewise.
	* ipa-icf.c: Likewise.
	* ipa-inline-analysis.c (evaluate_properties_for_edge): Usage of
	ipa_node_params_vector is replaced with ipa_node_params_t.
	(inline_node_duplication_hook): Likewise.
	(estimate_function_body_sizes): Likewise.
	(remap_edge_change_prob): Likewise.
	(inline_merge_summary): Likewise.
	* ipa-inline-transform.c: Include of symbol-summary.h.
	* ipa-inline.c (early_inliner): Usage of
	ipa_node_params_vector is replaced with ipa_node_params_t.
	* ipa-polymorphic-call.c: Include of symbol-summary.h.
	* ipa-profile.c: Include of symbol-summary.h.
	* ipa-prop.c (ipa_node_params_t::duplicate): New function.
	(ipa_register_cgraph_hooks): Removal of old hooks.
	(ipa_unregister_cgraph_hooks): Likewise.
	* ipa-prop.h (struct ipa_node_params): Introduction of new class
	ipa_node_params_t.
	* ipa-split.c: Include symbol-summary.h.
	* ipa-utils.c: Likewise.
	* ipa.c: Likewise.
	* omp-low.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-sra.c: Likewise.
	* tree-ssa-pre.c: Likewise.

gcc/lto/ChangeLog:

2014-11-12  Martin Liska  <mliska@suse.cz>

	* lto-partition.c: Include symbol-summary.h.
	* lto-symtab.c: Likewise.
	* lto.c: Likewise.

Conflicts:
	gcc/symbol-summary.h
Data structure is used for inline_summary struct.

gcc/ChangeLog:

2014-11-12  Martin Liska  <mliska@suse.cz>

	* cgraphunit.c (symbol_table::process_new_functions):
	inline_summary_vec is replaced with inline_summary_t.
	* ipa-cp.c (ipcp_cloning_candidate_p): Usage of inline_summary_t::get.
	(devirtualization_time_bonus): Likewise.
	(estimate_local_effects): Likewise.
	(ipcp_propagate_stage): Likewise.
	* ipa-inline-analysis.c (evaluate_conditions_for_known_args): Likewise.
	(evaluate_properties_for_edge): Likewise.
	(inline_summary_alloc): Deletion of old hook holders.
	(reset_inline_summary): inline_summary is added as argument.
	(inline_summary_cgraph_summary::removal_hook): New function.
	(inline_summary_cgraph_summary::duplication_hook): Likewise.
	(dump_inline_edge_summary): Struct keyword removed.
	(dump_inline_summary): Likewise.
	(estimate_function_body_sizes): Usage of inline_summary_t::get.
	(compute_inline_parameters): Likewise.
	(estimate_edge_devirt_benefit): Struct keyword removed.
	(estimate_node_size_and_time): Likewise.
	(inline_update_callee_summaries): Likewise.
	(inline_merge_summary): Usage of inline_summary_t::get.
	(inline_update_overall_summary): Likewise.
	(simple_edge_hints): Likewise.
	(do_estimate_edge_time): Likewise.
	(estimate_time_after_inlining): Likewise.
	(estimate_size_after_inlining): Likewise.
	(do_estimate_growth): Likewise.
	(growth_likely_positive): Likewise.
	(inline_generate_summary): inline_summary_t is registered.
	(inline_read_section): Struct keyword removed.
	(inline_read_summary): Likewise.
	(inline_write_summary): Likewise.
	(inline_free_summary): Removal of old hook holders.
	* ipa-inline-transform.c (clone_inlined_nodes): Usage of
	inline_summary_t::get.
	(inline_call): Likewise.
	* ipa-inline.c (caller_growth_limits): Struct keyword is removed.
	(can_inline_edge_p): Usage of inline_summary_t::get.
	(want_early_inline_function_p): Struct keyword removed.
	(compute_uninlined_call_time): Usage of inline_summary_t::get.
	(compute_inlined_call_time): Likewise.
	(big_speedup_p): Likewise.
	(want_inline_small_function_p): Likewise.
	(edge_badness): Likewise.
	(update_caller_keys): Likewise.
	(update_callee_keys): Likewise.
	(recursive_inlining): Likewise.
	(inline_small_functions): Likewise.
	(inline_to_all_callers): Likewise.
	(dump_overall_stats): Likewise.
	(early_inline_small_functions): Likewise.
	* ipa-inline.h (inline_summary_t::get): New function.
	* ipa-split.c (execute_split_functions): Usage of inline_summary_t::get.
	* ipa.c (walk_polymorphic_call_targets): inline_summary_vec is replaced with inline_summary_t.
	* tree-sra.c (ipa_sra_preliminary_function_checks): Usage of inline_summary_t::get.

gcc/lto/ChangeLog:

2014-11-12  Martin Liska  <mliska@suse.cz>

	* lto-partition.c (add_symbol_to_partition_1): Usage of
	inline_summary_t::get.
	(undo_partition): Likewise.
	(lto_balanced_map): Likewise.