1. 15 Jul, 2010 2 commits
  2. 08 Jul, 2010 1 commit
    • ipa.c: Include pointer-set.h · 5dde3b01
      	* ipa.c: Include pointer-set.h
      	(cgraph_externally_visible_p): New attribute ALIASED;
      	when in LTO, hidden symbols are local unless they are aliased.
      	(function_and_variable_visibility): Compute aliased nodes;
      	handle LTO and hidden symbol on functions and vars.
      	* cgraph.c (cgraph_make_decl_local): Clear NAMED_SECTION
      	for COMDAT symbols; handle COMDAT_GROUPS also at vars.
      
      From-SVN: r161957
      Jan Hubicka committed
  3. 28 Jun, 2010 1 commit
    • cgraph.h (struct varpool_node): new used_from_object_file flag. · 6d41cd02
      2010-06-28  Bingfeng Mei <bmei@broadcom.com>
      
              * cgraph.h (struct varpool_node): new used_from_object_file flag.
              (struct cgraph_local_info): new used_from_object_file flag.
              * cgraph.c (dump_cgraph_node): dump used_from_object_file flag.
              (cgraph_clone_node): initialize used_from_object_file.
              (cgraph_create_virtual_clone): initialize used_from_object_file.
              * lto-symbtab.c (lto_symtab_merge_decls_1): Set
              used_from_object_file flags for symbols of LDPR_PREVAILING_DEF
              when compiling with -fwhole-program.
              (lto_symtab_resolve_symbols) Use LDPR_PREVAILING_DEF_IRONLY for
      	internal resolver.
              * ipa.c (function_and_variable_visibility): Set externally_visible
              flag of varpool_node if used_from_object_file flag is set.
              (cgraph_externally_visible_p): check used_from_object_file flag.
              * doc/invoke.texi (-fwhole-program option): Change description of
              externally_visible attribute accordingly.
              * doc/extend.texi (externally_visible): Ditto.
      
      From-SVN: r161483
      Bingfeng Mei committed
  4. 08 Jun, 2010 1 commit
    • utils.c (init_gnat_to_gnu): Use typed GC allocation. · a9429e29
      gcc/ada:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
      	allocation.
      	(init_dummy_type): Likewise.
      	(gnat_pushlevel): Likewise.
      
      	* gcc-interface/trans.c (Attribute_to_gnu): Likewise.
      	(Subprogram_Body_to_gnu): Likewise.
      	(Compilation_Unit_to_gnu): Likewise.
      	(start_stmt_group): Likewise.
      	(extract_encoding): Likewise.
      	(decode_name): Likewise.
      
      	* gcc-interface/misc.c (gnat_printable_name): Likewise.
      
      	* gcc-interface/decl.c (annotate_value): Likewise.
      
      	* gcc-interface/ada-tree.h (struct lang_type): Add variable_size
      	GTY option.
      	(struct lang_decl): Likewise.
      	(SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
      	(SET_DECL_LANG_SPECIFIC): Likewise.
      
      gcc/c-family:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* c-pragma.c (push_alignment): Use typed GC allocation.
      	(handle_pragma_push_options): Likewise.
      
      	* c-common.c (parse_optimize_options): Likewise.
      
      	* c-common.h (struct sorted_fields_type): Add variable_size GTY
      	option.
      
      gcc/cp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* typeck2.c (abstract_virtuals_error): Likewise.
      
      	* pt.c (maybe_process_partial_specialization): Likewise.
      	(register_specialization): Likewise.
      	(add_pending_template): Likewise.
      	(lookup_template_class): Likewise.
      	(push_tinst_level): Likewise.
      
      	* parser.c (cp_lexer_new_main): Likewise.
      	(cp_lexer_new_from_tokens): Likewise.
      	(cp_token_cache_new): Likewise.
      	(cp_parser_context_new): Likewise.
      	(cp_parser_new): Likewise.
      	(cp_parser_nested_name_specifier_opt): Likewise.
      	(cp_parser_template_id): Likewise.
      
      	* name-lookup.c (binding_entry_make): Likewise.
      	(binding_table_construct): Likewise.
      	(binding_table_new): Likewise.
      	(cxx_binding_make): Likewise.
      	(pushdecl_maybe_friend): Likewise.
      	(begin_scope): Likewise.
      	(push_to_top_level): Likewise.
      
      	* lex.c (init_reswords): Likewise.
      	(retrofit_lang_decl): Likewise.
      	(cxx_dup_lang_specific_decl): Likewise.
      	(copy_lang_type): Likewise.
      	(cxx_make_type): Likewise.
      
      	* decl.c (make_label_decl): Likewise.
      	(check_goto): Likewise.
      	(start_preparsed_function): Likewise.
      	(save_function_data): Likewise.
      
      	* cp-tree.h (TYPE_SET_PTRMEMFUNC_TYPE): Likewise.
      
      	* cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
      
      	* class.c (finish_struct_1): Likewise.
      
      	* cp-tree.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      	* parser.c (cp_parser_new): Update comment to not reference
      	ggc_alloc.
      
      gcc/fortran:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* trans-types.c (gfc_get_nodesc_array_type): Use typed GC
      	allocation.
      	(gfc_get_array_type_bounds): Likewise.
      
      	* trans-decl.c (gfc_allocate_lang_decl): Likewise.
      	(gfc_find_module): Likewise.
      
      	* f95-lang.c (pushlevel): Likewise.
      
      	* trans.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      gcc/java:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* jcf-reader.c (jcf_parse_constant_pool): Use typed GC allocation.
      
      	* jcf-parse.c (java_parse_file): Likewise.
      	(process_zip_dir): Likewise.
      
      	* java-tree.h (MAYBE_CREATE_VAR_LANG_DECL_SPECIFIC): Likewise.
      	(MAYBE_CREATE_TYPE_TYPE_LANG_SPECIFIC): Likewise.
      
      	* expr.c (add_type_assertion): Likewise.
      
      	* decl.c (make_binding_level): Likewise.
      	(java_dup_lang_specific_decl): Likewise.
      
      	* constants.c (set_constant_entry): Likewise.
      	(cpool_for_class): Likewise.
      
      	* class.c (add_method_1): Likewise.
      	(java_treetreehash_new): Likewise.
      
      	* java-tree.h (struct lang_type): Add variable_size GTY option.
      	(struct lang_decl): Likewise.
      
      	* jch.h (struct cpool_entry): Likewise.
      
      	* java-tree.h (java_treetreehash_create): Remove parameter ggc.
      
      	* except.c (prepare_eh_table_type): Update
      	java_treetreehash_create call.
      
      	* class.c (add_method_1): Update java_treetreehash_create call.
      	(java_treetreehash_create): Remove parameter gc.  Use
      	htab_create_ggc.
      
      gcc/lto:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* lto.c (lto_read_in_decl_state): Use typed GC allocation.
      	(lto_file_read): Likewise.
      	(new_partition): Likewise.
      	(read_cgraph_and_symbols): Likewise.
      
      gcc/objc:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
      	allocation.
      
      	* objc-act.c (objc_volatilize_decl): Likewise.
      	(objc_build_string_object): Likewise.
      	(hash_init): Likewise.
      	(hash_enter): Likewise.
      	(hash_add_attr): Likewise.
      	(add_class): Likewise.
      	(start_class): Likewise.
      
      gcc/objcp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
      	allocation.
      
      gcc:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* doc/tm.texi (Per-Function Data): Do not reference ggc_alloc.
      
      	* doc/gty.texi (GTY Options): Document typed GC allocation and
      	variable_size GTY option.
      
      	* ggc-internal.h: New.
      
      	* ggc.h: Update copyright year.
      	(digit_string): Move to stringpool.c.
      	(ggc_mark_stringpool, ggc_purge_stringpool, ggc_mark_roots)
      	(gt_pch_save_stringpool, gt_pch_fixup_stringpool)
      	(gt_pach_restore_stringpool, gt_pch_p_S, gt_pch_note_object)
      	(init_ggc_pch, ggc_pch_count_object, ggc_pch_total_size)
      	(ggc_pch_this_base, ggc_pch_alloc_object, ggc_pch_prepare_write)
      	(ggc_pch_write_object, ggc_pch_finish, ggc_pch_read)
      	(ggc_force_collect, ggc_get_size, ggc_statistics)
      	(ggc_print_common_statistics): Move to ggc-internal.h.
      	(digit_vector, new_ggc_zone, destroy_ggc_zone, ggc_alloc_stat)
      	(ggc_alloc, ggc_alloc_cleared, ggc_realloc, ggc_calloc, GGC_NEW)
      	(GGC_CNEW, GGC_NEWVEC, GGC_CNEWVEC, GGC_NEWVAR, ggc_alloc_rtvec)
      	(ggc_alloc_tree, gt_pch_save, ggc_min_expand_heuristic)
      	(ggc_min_heapsize_heuristic, ggc_alloc_zone)
      	(ggc_alloc_zone_pass_stat): Remove.
      	(ggc_internal_alloc_stat, ggc_internal_alloc)
      	(ggc_internal_cleared_alloc_stat): New.
      	(GGC_RESIZEVEC, GGC_RESIZEVAR): Redefine.
      	(ggc_internal_vec_alloc_stat)
      	(ggc_internal_cleared_vec_alloc_stat)
      	(ggc_internal_vec_alloc_stat, ggc_internal_cleared_vec_alloc)
      	(ggc_alloc_atomic_stat, ggc_alloc_atomic)
      	(ggc_alloc_cleared_atomic, ggc_cleared_alloc_htab_ignore_args)
      	(ggc_cleared_alloc_ptr_array_two_args): New.
      	(htab_create_ggc, splay_tree_new_ggc): Redefine.
      	(ggc_splay_alloc): Change the type of the first argument to
      	enum gt_types_enum.
      	(ggc_alloc_string): Make macro.
      	(ggc_alloc_string_stat): New.
      	(ggc_strdup): Redefine.
      	(rtl_zone, tree_zone, tree_id_zone): Declare unconditionally.
      	(ggc_alloc_rtvec_sized): New.
      	(ggc_alloc_zone_stat): Rename to ggc_internal_alloc_zone_stat.
      	(ggc_internal_alloc_zone_pass_stat, ggc_internal_alloc_zone_stat)
      	(ggc_internal_cleared_alloc_zone_stat)
      	(ggc_internal_zone_alloc_stat)
      	(ggc_internal_zone_cleared_alloc_stat)
      	(ggc_internal_zone_vec_alloc_stat)
      	(ggc_alloc_zone_rtx_def_stat)
      	(ggc_alloc_zone_tree_node_stat)
      	(ggc_alloc_zone_cleared_tree_node_stat)
      	(ggc_alloc_cleared_gimple_statement_d_stat): New.
      
      	* ggc-common.c: Include ggc-internal.h.
      	(ggc_internal_cleared_alloc_stat): Rename from
      	ggc_alloc_cleared_stat.
      	(ggc_realloc_stat): Use ggc_internal_alloc_stat.
      	(ggc_calloc): Remove.
      	(ggc_cleared_alloc_htab_ignore_args): New.
      	(ggc_cleared_alloc_ptr_array_two_args): New.
      	(ggc_splay_alloc): Add obj_type parameter.
      	(init_ggc_heuristics): Formatting fixes.
      
      	* ggc-none.c: Update copyright year.
      	(ggc_alloc_stat): Rename to ggc_alloc_stat.
      	(ggc_alloc_cleared_stat): Rename to
      	ggc_internal_cleared_alloc_stat.
      	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
      
      	* ggc-page.c: Update copyright year.  Include ggc-internal.h.
      	Remove references to ggc_alloc in comments.
      	(ggc_alloc_typed_stat): Call ggc_internal_alloc_stat.
      	(ggc_alloc_stat): Rename to ggc_internal_alloc_stat.
      	(new_ggc_zone, destroy_ggc_zone): Remove.
      	(struct alloc_zone, rtl_zone, tree_zone, tree_id_zone): New.
      
      	* ggc-zone.c: Include ggc-internal.h.  Remove references to
      	ggc_alloc in comments.
      	(ggc_alloc_zone_stat): ggc_internal_alloc_zone_stat.
      	(ggc_internal_alloc_zone_pass_stat): New.
      	(ggc_internal_cleared_alloc_zone_stat): New.
      	(ggc_alloc_typed_stat): Use ggc_internal_alloc_zone_pass_stat.
      	(ggc_alloc_stat): Rename ggc_internal_alloc_stat.
      	(new_ggc_zone, destroy_ggc_zone): Remove.
      
      	* stringpool.c: Update copyright year.  Include ggc-internal.h
      	(digit_vector): Make static.
      	(digit_string): Moved from ggc.h.
      	(stringpool_ggc_alloc): Use ggc_alloc_atomic.
      	(ggc_alloc_string): Rename to ggc_alloc_string_stat.
      
      	* Makefile.in (GGC_INTERNAL_H): New.
      	(ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
      	$(GGC_INTERNAL_H) to dependencies.
      
      	* gentype.c: Update copyright year.
      	(walk_type): Accept variable_size GTY option.
      	(USED_BY_TYPED_GC_P): New macro.
      	(write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output
      	whitespace at the end of strings.
      	(get_type_specifier, variable_size_p): New functions.
      	(alloc_quantity, alloc_zone): New enums.
      	(write_typed_alloc_def): New function.
      	(write_typed_struct_alloc_def): Likewise.
      	(write_typed_typed_typedef_alloc_def): Likewise.
      	(write_typed_alloc_defns): Likewise.
      	(output_typename, write_splay_tree_allocator_def): Likewise.
      	(write_splay_tree_allocators): Likewise.
      	(main): Call write_typed_alloc_defns and
      	write_splay_tree_allocators.
      
      	* lto-streamer.h (lto_file_decl_data_ptr): New.
      
      	* passes.c (order): Define using cgraph_node_ptr.
      
      	* strinpool.c (struct string_pool_data): Declare nested_ptr using
      	ht_identifier_ptr.
      
      	* gimple.h (union gimple_statement_d): Likewise.
      
      	* rtl.h (struct rtx_def): Likewise.
      	(struct rtvec_def): Likewise.
      
      	* tree.h (union tree_node): Likewise.
      
      	* tree-ssa-operands.h (struct ssa_operand_memory_d): Likewise.
      
      	* cfgloop.c (record_loop_exits): Use htab_create_ggc.
      
      	* tree-scalar-evolution.c (scev_initialize): Likewise.
      
      	* alias.c (record_alias_subset): Update splay_tree_new_ggc call.
      
      	* dwarf2asm.c (dw2_force_const_mem): Likewise.
      
      	* omp-low.c (lower_omp_critical): Likewise.
      
      	* bitmap.h (struct bitmap_head_def): Update comment to not
      	reference ggc_alloc.
      
      	* config/pa/pa.c (get_deferred_label): Use GGC_RESIZEVEC.
      
      	* ira.c (fix_reg_equiv_init): Use GGC_RESIZEVEC.
      
      	* ipa-prop.c (duplicate_ggc_array): Rename to
      	duplicate_ipa_jump_func_array.  Use typed GC allocation.
      	(ipa_edge_duplication_hook): Call duplicate_ipa_jump_func_array.
      
      	* gimple.c (gimple_alloc_stat): Use
      	ggc_alloc_cleared_gimple_statement_d_stat.
      
      	* varasm.c (create_block_symbol): Use ggc_alloc_zone_rtx_def.
      
      	* tree.c (make_node_stat): Use
      	ggc_alloc_zone_cleared_tree_node_stat.
      	(make_tree_vec_stat): Likewise.
      	(build_vl_exp_stat): Likewise.
      	(copy_node_stat): Use ggc_alloc_zone_tree_node_stat.
      	(make_tree_binfo_stat): Likewise.
      	(tree_cons_stat): Likewise.
      
      	* rtl.c (rtx_alloc_stat): Use ggc_alloc_zone_rtx_def_stat.
      	(shallow_copy_rtx_stat): Likewise.
      	(make_node_stat): Likewise.
      
      	* lto-symtab.c: Fix comment.
      
      	* tree-cfg.c (create_bb): Update comment to not reference
      	ggc_alloc_cleared.
      	* tree-ssa-structalias.c (struct heapvar_for_stmt): Fix param_is
      	value.
      
      	* varpool.c (varpool_node): Use typed GC allocation.
      	(varpool_extra_name_alias): Likewise.
      
      	* varasm.c (emutls_decl): Likewise.
      	(get_unnamed_section): Likewise.
      	(get_noswitch_section): Likewise.
      	(get_section): Likewise.
      	(get_block_for_section): Likewise.
      	(build_constant_desc): Likewise.
      	(create_constant_pool): Likewise.
      	(force_const_mem): Likewise.
      
      	* tree.c (build_vl_exp_stat): Likewise.
      	(build_real): Likewise.
      	(build_string): Likewise.
      	(decl_debug_expr_insert): Likewise.
      	(decl_value_expr_insert): Likewise.
      	(type_hash_add): Likewise.
      	(build_omp_clause): Likewise.
      
      	* tree-ssanames.c (duplicate_ssa_name_ptr_info): Likewise.
      
      	* tree-ssa.c (init_tree_ssa): Likewise.
      
      	* tree-ssa-structalias.c (heapvar_insert): Likewise.
      
      	* tree-ssa-operands.c (ssa_operand_alloc): Likewise.
      
      	* tree-ssa-loop-niter.c (record_estimate): Likewise.
      
      	* tree-ssa-alias.c (get_ptr_info): Likewise.
      
      	* tree-scalar-evolution.c (new_scev_info_str): Likewise.
      
      	* tree-phinodes.c (allocate_phi_node): Likewise.
      
      	* tree-iterator.c (tsi_link_before): Likewise.
      	(tsi_link_after): Likewise.
      
      	* tree-eh.c (add_stmt_to_eh_lp_fn): Likewise.
      
      	* tree-dfa.c (create_var_ann): Likewise.
      
      	* tree-cfg.c (create_bb): Likewise.
      
      	* toplev.c (alloc_for_identifier_to_locale): Likewise.
      	(general_init): Likewise.
      
      	* stringpool.c (stringpool_ggc_alloc): Likewise.
      	(gt_pch_save_stringpool): Likewise.
      
      	* sese.c (if_region_set_false_region): Likewise.
      
      	* passes.c (do_per_function_toporder): Likewise.
      
      	* optabs.c (set_optab_libfunc): Likewise.
      	(set_conv_libfunc): Likewise.
      
      	* lto-symtab.c (lto_symtab_register_decl): Likewise.
      
      	* lto-streamer-in.c (lto_input_eh_catch_list): Likewise.
      	(input_eh_region): Likewise.
      	(input_eh_lp): Likewise.
      	(make_new_block): Likewise.
      	(unpack_ts_real_cst_value_fields): Likewise.
      
      	* lto-section-in.c (lto_new_in_decl_state): Likewise.
      
      	* lto-cgraph.c (input_node_opt_summary): Likewise.
      
      	* loop-init.c (loop_optimizer_init): Likewise.
      
      	* lambda.h (lambda_vector_new): Likewise.
      
      	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
      
      	* ira.c (update_equiv_regs): Likewise.
      
      	* ipa.c (cgraph_node_set_new): Likewise.
      	(cgraph_node_set_add): Likewise.
      	(varpool_node_set_new): Likewise.
      	(varpool_node_set_add): Likewise.
      
      	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Likewise.
      	(duplicate_ipa_jump_func_array): Likewise.
      	(ipa_read_node_info): Likewise.
      
      	* ipa-cp.c (ipcp_create_replace_map): Likewise.
      
      	* integrate.c (get_hard_reg_initial_val): Likewise.
      
      	* gimple.c (gimple_alloc_stat): Likewise.
      	(gimple_build_omp_for): Likewise.
      	(gimple_seq_alloc): Likewise.
      	(gimple_copy): Likewise.
      
      	* gimple-iterator.c (gsi_insert_before_without_update): Likewise.
      	(gsi_insert_after_without_update): Likewise.
      
      	* function.c (add_frame_space): Likewise.
      	(insert_temp_slot_address): Likewise.
      	(assign_stack_temp_for_type): Likewise.
      	(allocate_struct_function): Likewise.
      	(types_used_by_var_decl_insert): Likewise.
      
      	* except.c (init_eh_for_function): Likewise.
      	(gen_eh_region): Likewise.
      	(gen_eh_region_catch): Likewise.
      	(gen_eh_landing_pad): Likewise.
      	(add_call_site): Likewise.
      
      	* emit-rtl.c (get_mem_attrs): Likewise.
      	(get_reg_attrs): Likewise.
      	(start_sequence): Likewise.
      	(init_emit): Likewise.
      
      	* dwarf2out.c (new_cfi): Likewise.
      	(queue_reg_save): Likewise.
      	(dwarf2out_frame_init): Likewise.
      	(new_loc_descr): Likewise.
      	(find_AT_string): Likewise.
      	(new_die): Likewise.
      	(add_var_loc_to_decl): Likewise.
      	(clone_die): Likewise.
      	(clone_as_declaration): Likewise.
      	(break_out_comdat_types): Likewise.
      	(new_loc_list): Likewise.
      	(loc_descriptor): Likewise.
      	(add_loc_descr_to_each): Likewise.
      	(add_const_value_attribute): Likewise.
      	(tree_add_const_value_attribute): Likewise.
      	(add_comp_dir_attribute): Likewise.
      	(add_name_and_src_coords_attributes): Likewise.
      	(lookup_filename): Likewise.
      	(store_vcall_insn): Likewise.
      	(dwarf2out_init): Likewise.
      
      	* dbxout.c (dbxout_init): Likewise.
      
      	* config/xtensa/xtensa.c (xtensa_init_machine_status): Likewise.
      
      	* config/sparc/sparc.c (sparc_init_machine_status): Likewise.
      
      	* config/score/score7.c (score7_output_external): Likewise.
      
      	* config/score/score3.c (score3_output_external): Likewise.
      
      	* config/s390/s390.c (s390_init_machine_status): Likewise.
      
      	* config/rs6000/rs6000.c (builtin_function_type): Likewise.
      	(rs6000_init_machine_status): Likewise.
      	(output_toc): Likewise.
      
      	* config/pa/pa.c (pa_init_machine_status): Likewise.
      	(get_deferred_plabel): Likewise.
      
      	* config/moxie/moxie.c (moxie_init_machine_status): Likewise.
      
      	* config/mmix/mmix.c (mmix_init_machine_status): Likewise.
      
      	* config/mips/mips.c (mflip_mips16_use_mips16_p): Likewise.
      
      	* config/mep/mep.c (mep_init_machine_status): Likewise.
      	(mep_note_pragma_flag): Likewise.
      
      	* config/m32c/m32c.c (m32c_init_machine_status): Likewise.
      
      	* config/iq2000/iq2000.c (iq2000_init_machine_status): Likewise.
      
      	* config/ia64/ia64.c (ia64_init_machine_status): Likewise.
      
      	* config/i386/winnt.c (i386_pe_record_external_function): Likewise.
      	(i386_pe_maybe_record_exported_symbol): Likewise.
      
      	* config/i386/i386.c (get_dllimport_decl): Likewise.
      	(ix86_init_machine_status): Likewise.
      	(assign_386_stack_local): Likewise.
      
      	* config/frv/frv.c (frv_init_machine_status): Likewise.
      
      	* config/darwin.c (machopic_indirection_name): Likewise.
      
      	* config/cris/cris.c (cris_init_machine_status): Likewise.
      
      	* config/bfin/bfin.c (bfin_init_machine_status): Likewise.
      
      	* config/avr/avr.c (avr_init_machine_status): Likewise.
      
      	* config/arm/arm.c (arm_init_machine_status): Likewise.
      
      	* config/alpha/alpha.c (alpha_init_machine_status): Likewise.
      	(alpha_need_linkage): Likewise.
      	(alpha_use_linkage): Likewise.
      
      	* cgraph.c (cgraph_allocate_node): Likewise.
      	(cgraph_create_edge_1): Likewise.
      	(cgraph_create_indirect_edge): Likewise.
      	(cgraph_add_asm_node): Likewise.
      
      	* cfgrtl.c (init_rtl_bb_info): Likewise.
      
      	* cfgloop.c (alloc_loop): Likewise.
      	(rescan_loop_exit): Likewise.
      
      	* cfg.c (init_flow): Likewise.
      	(alloc_block): Likewise.
      	(unchecked_make_edge): Likewise.
      
      	* c-parser.c (c_parse_init): Likewise.
      	(c_parse_file): Likewise.
      
      	* c-decl.c (bind): Likewise.
      	(record_inline_static): Likewise.
      	(push_scope): Likewise.
      	(make_label): Likewise.
      	(lookup_label_for_goto): Likewise.
      	(finish_struct): Likewise.
      	(finish_enum): Likewise.
      	(c_push_function_context): Likewise.
      
      	* bitmap.c (bitmap_element_allocate): Likewise.
      	(bitmap_gc_alloc_stat): Likewise.
      
      	* alias.c (record_alias_subset): Likewise.
      	(init_alias_analysis): Likewise.
      
      include:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* splay-tree.h: Update copyright years.
      	(splay_tree_s): Document fields.
      	(splay_tree_new_typed_alloc): New.
      
      	* hashtab.h: Update copyright years.
      	(htab_create_typed_alloc): New.
      
      libcpp:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* include/symtab.h (ht_identifier_ptr): New.
      
      libiberty:
      
      2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
      
      	* splay-tree.c: Update copyright years.
      	(splay_tree_new_typed_alloc): New.
      	(splay_tree_new_with_allocator): Use it.
      
      	* hashtab.c: Update copyright years.
      	(htab_create_typed_alloc): New.
      	(htab_create_alloc): Use it.
      
      	* functions.texi: Regenerate.
      
      From-SVN: r160425
      Laurynas Biveinis committed
  5. 07 Jun, 2010 1 commit
    • cgraph.c (cgraph_edge_cannot_lead_to_return): Also check if caller is noreturn. · f10ea640
      	* cgraph.c (cgraph_edge_cannot_lead_to_return): Also check
      	if caller is noreturn.
      	* ipa-reference.c (analyze_function): Use ipa_ref_cannot_lead_to_return
      	* ipa-ref.h (ipa_ref_cannot_lead_to_return): New function.
      	* ipa-ref.c (ipa_ref_cannot_lead_to_return): New function.
      	* ipa-pure-const.c (check_decl): Add IPA parameter.
      	(state_from_flags): New function.
      	(better_state, worse_state): New functions.
      	(check_call): When in IPA mode, do not care about callees.
      	(check_load, check_store): Update.
      	(check_ipa_load, check_ipa_store): New.
      	(check_stmt): When in IPA mode, use IPA checkers.
      	(analyze_function): Use state_from_flags.
      	(propagate): Check indirect edges and references.
      
      From-SVN: r160380
      Jan Hubicka committed
  6. 30 May, 2010 2 commits
  7. 29 May, 2010 1 commit
    • tree-vrp.c (debug_value_range, [...]): Annotate with DEBUG_FUNCTION. · 24e47c76
      	* tree-vrp.c (debug_value_range, debug_all_value_ranges,
      	debug_asserts_for, debug_all_asserts): Annotate with DEBUG_FUNCTION.
      	* tree-into-ssa.c (debug_decl_set, debug_defs_stack, debug_currdefs,
      	debug_tree_ssa, debug_tree_ssa_stats, debug_def_blocks,
      	debug_names_replaced_by, debug_update_ssa): Likewise.	
      	* sbitmap.c (debug_sbitmap): Likewise.
      	* genrecog.c (debug_decision, debug_decision_list): Likewise.
      	* tree-pretty-print.c (debug_generic_expr, debug_generic_stmt,
      	debug_tree_chain): Likewise.
      	* tree-loop-distribution.c (debug_rdg_partitions): Likewise.
      	* cgraph.c (debug_cgraph_node, debug_cgraph): Likewise.
      	* optabs.c  (debug_optab_libfuncs): Likewise.
      	(verify_loop_closed_ssa): Likewise.
      	* value-prof.c (verify_histograms): Likewise.
      	* reload.c (debug_reload_to_stream, debug_reload): Likewise.
      	* bitmap.c (debug_bitmap_file, debug_bitmap, bitmap_print): Likewise.
      	* cfghooks.c (verify_flow_info): Likewise.
      	* fold-const.c (debug_fold_checksum): Likewise.
      	* omp-low.c (debug_omp_region, debug_all_omp_regions): Likewise.
      	* cfg.c (debug_regset, debug_flow_info, debug_bb, debug_bb_n):
      	Likewise.
      	* omega.c (debug_omega_problem): Likewise.
      	* cgraphunit.c (verify_cgraph_node, verify_cgraph): Likewise.
      	* tree-ssa-ccp.c (debug_lattice_value): Likewise.
      	* dominance.c (verify_dominators, debug_dominance_info,
      	debug_dominance_tree): Likewise.
      	* df-core.c (df_insn_uid_debug, df_insn_debug, df_insn_debug_regno,
      	* df_regno_debug, df_ref_debug,
      	debug_df_insn, debug_df_reg, debug_df_regno, debug_df_ref,
      	debug_df_defno, debug_df_useno, debug_df_chain): Likewise.
      	* tree-ssa-dom.c (debug_dominator_optimization_stats): Likewise.
      	* sel-sched.c (debug_state): Likewise.
      	* tree-ssa-alias.c (debug_alias_info, debug_points_to_info_for): Likewise.
      	* cfganal.c (print_edge_list, verify_edge_list): Likewise.
      	* dwarf2out.c (debug_dwarf_die, debug_dwarf): Likewise.
      	* tree-eh.c (verify_eh_edges, verify_eh_dispatch_edge): Likewise.
      	* gimple-pretty-print.c (debug_gimple_stmt, debug_gimple_seq): Likewise.
      	* c-pretty-print.c (debug_c_tree): Likewise.
      	* sel-sched-dump.c (debug_insn_rtx, debug_vinsn, debug_expr, debug_insn
      	debug_av_set, debug_lv_set, debug_ilist, debug_blist, debug_insn_vector,
      	debug_hard_reg_set, debug_mem_addr_value): Likewise.
      	* ebitmap.c (debug_ebitmap): Likewise.
      	* function.c (debug_find_var_in_block_tree): Likewise.
      	* print-rtl.c (debug_rtx): Likewise.
      	(debug_rtx_count): Likewise.
      	(debug_rtx_list, debug_rtx_range, debug_rtx_find): Likewise.
      	* stor-layout.c (debug_rli): Likewise.
      	* ipa.c (debug_cgraph_node_set, debug_varpool_node_set): Likewise.
      	* tree-data-ref.c (debug_data_references, debug_data_dependence_relations,
      	debug_data_reference, debug_data_dependence_relation, debug_rdg_vertex,
      	debug_rdg_component, debug_rdg): Likewise.
      	* tree-affine.c (debug_aff): Likewise.
      	* tree-dfa.c (debug_referenced_vars, debug_variable, debug_dfa_stats): Likewise.
      	* except.c (debug_eh_tree, verify_eh_tree): Likewise.
      	* emit-rtl.c (verify_rtl_sharing): Likewise.
      	* tree-ssa-pre.c (debug_pre_expr, debug_bitmap_set,
      	debug_value_expressions): Likewise.
      	* tree-ssa-live.c (debug_scope_block, debug_scope_blocks): Likewise.
      	* sese.c (debug_rename_map, debug_ivtype_map): Likewise.
      	* print-tree.c (debug_tree, debug_vec_tree): Likewise.
      	* cfglayout.c (verify_insn_chain): Likewise.
      	* graphite-clast-to-gimple.c (debug_clast_name_indexes,
      	debug_clast_stmt, debug_generated_program): Likewise.
      	* ggc-page.c (debug_print_page_list): Likewise.
      	* tree-ssa-ter.c (debug_ter): Likewise.
      	* graphite-dependences.c (debug_pddr): Likewise.
      	* sched-deps.c (debug_ds): Likewise.
      	* tree-ssa.c (verify_ssa): Likewise.
      	* graphite-poly.c (debug_scattering_function, debug_iteration_domain,
      	debug_scattering_functions, debug_iteration_domains, debug_pdr,
      	debug_pdrs, debug_pbb_domain, debug_pbb, debug_scop_context, debug_scop,
      	debug_cloog, debug_scop_params, debug_lst): Likewise.
      	* tree-inline.c (debug_find_tree): Likewise.
      	* graphite-ppl.c (debug_ppl_linear_expr, debug_ppl_polyhedron_matrix,
      	debug_ppl_powerset_matrix): Likewise.
      	* var-tracking.c (debug_dv): Likewise.
      	* system.h (DEBUG_FUNCTION, DEBUG_VARIABLE): Define.
      	* cfgloop.c (verify_loop_structure): Likewise.
      	* plugin.c (dump_active_plugins, debug_active_plugins): Likewise.
      	* c-common.c (verify_sequence_points): Likewise.
      	* sched-rgn.c (debug_regions, debug_region, debug_candidate,
      	debug_candidates, debug_rgn_dependencies): Likewise.
      	* tree-ssa-structalias.c (debug_constraint, debug_constraints,
      	* debug_constraint_graph, debug_solution_for_var,
      	debug_sa_points_to_info): Likewise.
      	* sched-vis.c (debug_insn_slim, debug_bb_slim, debug_bb_n_slim):
      	Likewie.
      	* tree-cfg.c (debug_cfg_stats, verify_stmts, debug_function,
      	debug_loops, debug_loop, debug_loop_num): Likewise.
      	* passes.c (debug_pass): Likewise.
      	(dump_properties): Likewise; add cfglayout property.
      	(debug_properties): Likewise.
      	* tree-ssa-reassoc.c (debug_ops_vector): Likewise.
      	* varpool.c (debug_varpool): Likewise.
      	* regcprop.c (debug_value_data): Likewise.
      	* tree-ssa-operands.c (verify_imm_links, debug_immediate_uses,
      	debug_immediate_uses_for): Likewise.
      
      From-SVN: r160036
      Jan Hubicka committed
  8. 22 May, 2010 1 commit
    • decl2.c (maybe_emit_vtables): Produce same comdat group when outputting comdat vtables. · 9f90e80a
      	* decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
      	comdat vtables.
      	(cxx_callgraph_analyze_expr): Remove code marking vtables needed.
      
      	* cgraph.h (struct varpool_node): Add same_comdat_group.
      	* lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
      	pointer.
      	(output_varpool): Update call of lto_output_varpool_node.
      	(input_varpool): Read same_comdat_group pointer.
      	(input_varpool_1): Fixup same_comdat_group pointer.
      	* ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
      	group is needed, all are.
      	* varpool.c (varpool_remove_node): Remove node from same comdat group
      	linklist too.
      	(varpool_analyze_pending_decls): Walk same comdat groups.
      
      From-SVN: r159699
      Jan Hubicka committed
  9. 16 May, 2010 1 commit
  10. 14 May, 2010 3 commits
  11. 13 May, 2010 1 commit
    • cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag. · bd3cdcc0
      	* cgraph.c (cgraph_mark_address_taken_node): No longer imply needed flag.
      	* cgraph.h (cgraph_only_called_directly_p,
      	cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
      	(cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
      	* cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
      	(assemble
      	* ipa.c (cgraph_remove_unreachable_nodes): Use
      	cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken flags.
      	* tree-inline.c (copy_bb): Check address_taken flag.
      	* tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
      	externally_visible flag.
      
      	* tree-ssa/unreachable.c: New test.
      
      From-SVN: r159354
      Jan Hubicka committed
  12. 12 May, 2010 1 commit
    • cgraph.h (struct varpool_node): Add aux. · b34fd25c
      	* cgraph.h (struct varpool_node): Add aux.
      	* varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
      	* varpool.c (varpool_remove_node): Do not remove initializer.
      	(varpool_reset_queue): Export.
      	(varpool_finalize_decl): Volatile vars are forced to be output.
      	* lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
      	replaced decl.
      	* ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
      	process_references, varpool_can_remove_if_no_refs): New functions.
      	(cgraph_remove_unreachable_nodes): Handle variables too.
      
      From-SVN: r159321
      Jan Hubicka committed
  13. 29 Apr, 2010 2 commits
    • gengtype.c (open_base_files): Add lto-streamer.h · 49ba8180
      	* gengtype.c (open_base_files): Add lto-streamer.h
      	* cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
      	(pass_ipa_cp): GGC collect.
      	* toplev. (compile_file): Do not output symbols.
      	* ipa-inline.c (pass_ipa_inline): Add ggc collect.
      	* timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
      	TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
      	* lto-section-in.c: Include ggc.h
      	(lto_new_in_decl_state): Alloc in GGC.
      	(lto_delete_in_decl_state): Likewise.
      	* ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): Collect.
      
      	* lto/lto.c (lto_read_in_decl_state): Use GGC.
      	(lto_wpa_write_files): Announce what we are writting.
      	(all_file_decl_data): New.
      	(read_cgraph_and_symbols): Use GGC; correct timevars.
      	(do_whole_program_analysis): Collect.
      	* lto/Make-lang.in (lto.o): Fix dependency.
      	* Makefile.in (GTFILES): Add lto-streamer.h.
      	* varpool.c (varpool_analyze_pending_decls): Use TV_VARPOOL.
      	(varpool_assemble_pending_decls): Use VAROUT.
      	* lto-streamer.h (lto_tree_ref_table): Annotate.
      	(lto_in_decl_state): Annotate.
      	(lto_file_decl_data): Annotate.
      
      From-SVN: r158912
      Jan Hubicka committed
    • * lto-symtab.c (lto_symtab_entry_def) Add vnode. · 2942c502
      	(lto_varpool_replace_node): New.
      	(lto_symtab_resolve_symbols): Resolve varpool nodes.
      	(lto_symtab_merge_decls_1): Prefer decls with varpool node.
      	(lto_symtab_merge_cgraph_nodes_1): Merge varpools.
      	* cgraph.h (varpool_node_ptr): New type.
      	(varpool_node_ptr): New vector.
      	(varpool_node_set_def): New structure.
      	(varpool_node_set): New type.
      	(varpool_node_set): New vector.
      	(varpool_node_set_element_def): New structure.
      	(varpool_node_set_element, const_varpool_node_set_element): New types.
      	(varpool_node_set_iterator): New type.
      	(varpool_node): Add prev pointers, add used_from_other_partition,
      	in_other_partition.
      	(varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
      	varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
      	varpool_get_node, varpool_remove_node): Declare.
      	(vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
      	varpool_node_set_size): New inlines.
      	* cgraph.c (dump_cgraph_node): Dump asm names of aliases.
      	* tree-pass.h (varpool_node_set_def): Forward declare.
      	(ipa_opt_pass_d): Summary writting takes vnode sets too.
      	(ipa_write_optimization_summaries): Update prototype.
      	* ipa-cp.c (ipcp_write_summary): Update.
      	* ipa-reference.c (ipa_reference_write_summary): Update.
      	* lto-cgraph.c (lto_output_varpool_node): New static function.
      	(output_varpool): New function.
      	(input_varpool_node): New static function.
      	(input_varpool_1): New function.
      	(input_cgraph): Input varpool.
      	* ipa-pure-const.c (pure_const_write_summary): Update.
      	* lto-streamer-out.c (lto_output): Update, output varpool too.
      	(write_global_stream): Kill WPA hack.
      	(produce_asm_for_decls): Update.
      	(output_alias_pair_p): Handle variables.
      	(output_unreferenced_globals): Output only needed partition of varpool.
      	* ipa-inline.c (inline_write_summary): Update.
      	* lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph.
      	* lto-section-in.c (lto_section_name): Add varpool and jump funcs.
      	* ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
      	varpool_node_set_new, varpool_node_set_add,
      	varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
      	debug_varpool_node_set): New functions.
      	* passes.c (rest_of_decl_compilation): when in LTO do not finalize.
      	(execute_one_pass): Process new decls too.
      	(ipa_write_summaries_2): Pass around vsets.
      	(ipa_write_summaries_1): Likewise.
      	(ipa_write_summaries): Build vset; be more selective about cgraph nodes
      	to add.
      	(ipa_write_optimization_summaries_1): Pass around vsets.
      	(ipa_write_optimization_summaries): Likewise.
      	* varpool.c (varpool_get_node): New.
      	(varpool_node): Update doubly linked lists.
      	(varpool_remove_node): New.
      	(dump_varpool_node): More dumping.
      	(varpool_enqueue_needed_node): Update doubly linked lists.
      	(decide_is_variable_needed): Kill ltrans hack.
      	(varpool_finalize_decl): Kill lto hack.
      	(varpool_assemble_decl): Skip decls in other partitions.
      	(varpool_assemble_pending_decls): Update doubly linkes lists.
      	(varpool_empty_needed_queue): Likewise.
      	(varpool_extra_name_alias): Likewise.
      	* lto-streamer.c (lto_get_section_name): Add vars section.
      	* lto-streamer.h (lto_section_type): Update.
      	(output_varpool, input_varpool): Declare.
      
      	* lto.c (lto_varpool_node_sets): New.
      	(lto_1_to_1_map): Partition varpool too.
      	(globalize_context_t, globalize_cross_file_statics,
      	lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node,
      	lto_scan_statics_in_remaining_global_vars): Remove.
      	(lto_promote_cross_file_statics): Rewrite.
      	(get_filename_for_set): Take vset argument.
      	(lto_wpa_write_files): Pass around vsets.
      
      From-SVN: r158854
      Jan Hubicka committed
  14. 27 Apr, 2010 2 commits
    • invoke.texi (-fipa-profile): Document. · e65bb9be
      	* doc/invoke.texi (-fipa-profile): Document.
      	* opts.c (decode_options): Enable ipa-profile at -O1.
      	* timevar.def (TV_IPA_PROFILE): Define.
      	* common.opt (fipa-profile): Add.
      	* cgraph.c (cgraph_clone_node): Set local flag and clear vtable method flag
      	for clones.
      	(cgraph_propagate_frequency): Handle only local ones.
      	* tree-pass.h (pass_ipa_profile): Declare.
      	* ipa-profile.c (gate_profile): Use flag_ipa_profile.
      	(pass_ipa_profile): Use TV_IPA_PROFILE.
      	* ipa.c (ipa_profile): New function.
      	(gate_ipa_profile): Likewise.
      	(pass_ipa_profile): New global variable.
      	* passes.c (pass_ipa_profile): New.
      
      From-SVN: r158788
      Jan Hubicka committed
    • re PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE,… · 78eaf7bf
      re PR middle-end/43812 (compiling .cc file with -fwhole-program results in ICE, in ipcp_iterate_stage, at ipa-cp.c:760)
      
      2010-04-27  Martin Jambor  <mjambor@suse.cz>
      
      	PR middle-end/43812
      	* ipa.c (dissolve_same_comdat_group_list): New function.
      	(function_and_variable_visibility): Call
      	dissolve_same_comdat_group_list when comdat group contains external or
      	newly local nodes.
      	* cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
      	lists are circular and that they contain only DECL_ONE_ONLY nodes.
      
      	* testsuite/g++.dg/ipa/pr43812.C: New test.
      
      From-SVN: r158777
      Martin Jambor committed
  15. 21 Apr, 2010 1 commit
    • tree-pass.h (ipa_opt_pass_d): Rename function_read_summary... · e792884f
      	* tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
      	add write_optimization_summary, read_optimization_summary.
      	(ipa_write_summaries_of_cgraph_node_set): Remove.
      	(ipa_write_optimization_summaries): Declare.
      	(ipa_read_optimization_summaries): Declare.
      	* ipa-cp.c (pass_ipa_cp): Update.
      	* ipa-reference.c (pass_ipa_reference): Update.
      	* ipa-pure-const.c (pass_ipa_pure_const): Update.
      	* lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
      	Update.
      	* ipa-inline.c (pass_ipa_inline): Update.
      	* ipa.c (pass_ipa_whole_program): Update.
      	* lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
      	* passes.c (ipa_write_summaries_1): Do not test wpa.
      	(ipa_write_optimization_summaries_1): New.
      	(ipa_write_optimization_summaries): New.
      	(ipa_read_summaries): Do not test ltrans.
      	(ipa_read_optimization_summaries_1): New.
      	(ipa_read_optimization_summaries): New.
      
      	* lto.c (lto_wpa_write_files): Update.
      	(read_cgraph_and_symbols): Be more verbose.
      	(materialize_cgraph): Likewise.
      	(do_whole_program_analysis): Likewise.
      
      From-SVN: r158616
      Jan Hubicka committed
  16. 12 Apr, 2010 1 commit
    • ipa.c (cgraph_postorder): Adjust postorder to guarantee single-iteration always-inline inlining. · af961c7f
      2010-04-12  Richard Guenther  <rguenther@suse.de>
      
      	* ipa.c (cgraph_postorder): Adjust postorder to guarantee
      	single-iteration always-inline inlining.
      	* ipa-inline.c (cgraph_mark_inline): Do not return anything.
      	(cgraph_decide_inlining): Do not handle always-inline
      	specially.
      	(try_inline): Remove always-inline cycle detection special case.
      	Do not recurse on always-inlines.
      	(cgraph_early_inlining): Do not iterate if not optimizing.
      	(cgraph_gate_early_inlining): remove.
      	(pass_early_inline): Run unconditionally.
      	(gate_cgraph_decide_inlining): New function.
      	(pass_ipa_inline): Use it.  Do not run the IPA inliner if
      	not inlining or optimizing.
      	(cgraph_decide_inlining_of_small_functions): Also consider
      	always-inline functions.
      	(cgraph_default_inline_p): Return true for nodes which should
      	disregard inline limits.
      	(estimate_function_body_sizes): Assume zero size and time for
      	nodes which are marked as disregarding inline limits.
      	(cgraph_decide_recursive_inlining): Do not perform recursive
      	inlining on always-inline nodes.
      
      	* gcc.dg/torture/inline-2.c: New testcase.
      
      From-SVN: r158225
      Richard Guenther committed
  17. 02 Apr, 2010 1 commit
    • Make-lang.in, [...]: Update copyright years. · c75c517d
      	* ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c, 
      	basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
      	collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
      	config/alpha/predicates.md, config/arm/arm.md,
      	config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
      	config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
      	config/darwin9.h, config/darwin.c, config/darwin.h,
      	config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
      	config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
      	config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
      	config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
      	config/mips/mips.md, config/mn10300/mn10300.c,
      	config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
      	config/rs6000/aix.h, config/rs6000/dfp.md,
      	config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
      	config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
      	config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
      	config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
      	config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
      	config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
      	c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
      	diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
      	doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
      	doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
      	fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
      	gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
      	graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
      	graphite-dependences.c, graphite-poly.c, graphite-poly.h,
      	graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
      	graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
      	intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
      	ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
      	ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
      	loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
      	objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
      	opt-functions.awk, opth-gen.awk, params.def, passes.c,
      	postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
      	rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
      	store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
      	tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
      	tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
      	tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
      	tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
      	tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
      	tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
      	tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
      	tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
      	tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
      	tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
      	unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
      
      From-SVN: r157950
      Steven Bosscher committed
  18. 27 Mar, 2010 1 commit
  19. 18 Mar, 2010 1 commit
    • re PR middle-end/42450 (another GCC 4.5 ICE on C++ templated code) · 8132a837
      2010-03-18  Martin Jambor  <mjambor@suse.cz>
      
      	PR middle-end/42450
      	* cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
      	* cgraphunit.c (cgraph_materialize_all_clones): Update calls in
      	all non-clones.  Moved call redirection...
      	(cgraph_redirect_edge_call_stmt_to_callee): ...to this new
      	function.
      	(cgraph_materialize_all_clones): Dispose of all
      	combined_args_to_skip bitmaps.
      	(verify_cgraph_node): Do not check for edges pointing to wrong
      	nodes in inline clones.
      	* tree-inline.c (copy_bb): Call
      	cgraph_redirect_edge_call_stmt_to_callee.
      	* ipa.c (cgraph_remove_unreachable_nodes): Call
      	cgraph_node_remove_callees even when there are used clones.
      
      	* testsuite/g++.dg/torture/pr42450.C: New test.
      
      From-SVN: r157546
      Martin Jambor committed
  20. 10 Mar, 2010 1 commit
  21. 19 Feb, 2010 1 commit
  22. 17 Dec, 2009 1 commit
  23. 10 Dec, 2009 2 commits
    • re PR c++/42317 (Issues with comdat virtual dtors) · b66887e4
      	PR c++/42317
      	* cgraph.h (struct cgraph_node): Add same_comdat_group field.
      	* cgraph.c (cgraph_remove_node): Unchain node from same_comdat_group
      	circular list.
      	(cgraph_node_can_be_local_p): Return false for DECL_COMDAT with
      	node->same_comdat_group.
      	* ipa.c (cgraph_remove_unreachable_nodes): For any reachable node
      	mark all its same_comdat_group nodes as also reachable.
      	(cgraph_externally_visible_p): Return true even if any of
      	same_comdat_group nodes has address taken.
      	* lto-cgraph.c (lto_output_node): Stream out same_comdat_group.
      	(output_cgraph): Ensure other same_comdat_group nodes are also
      	included.
      	(input_node): Stream in same_comdat_group.
      	(input_cgraph_1): Fix up same_comdat_group fields from references
      	to pointers.
      	* cgraphunit.c (cgraph_analyze_functions): Mark all other
      	same_comdat_group nodes as reachable.
      	(cgraph_mark_functions_to_output): For each node->process process
      	also other same_comdat_group nodes.
      	* ipa-inline.c (cgraph_clone_inlined_nodes): Don't reuse nodes
      	with same_comdat_group non-NULL.
      	(cgraph_mark_inline_edge): Likewise.
      
      	* decl2.c (cp_write_global_declarations): Clear DECL_EXTERNAL
      	also on all other functions in the same comdat group.
      	* optimize.c (maybe_clone_body): Also optimize virtual implicit
      	dtors.  For virtual comdat dtors tell cgraph that base and deleting
      	dtor are in the same comdat group.
      
      	* config/abi/pre/gnu.ver: Don't export certain base dtors that
      	weren't previously exported.
      
      	* g++.dg/opt/dtor2.C: New test.
      	* g++.dg/opt/dtor2.h: New file.
      	* g++.dg/opt/dtor2-aux.cc: New file.
      
      From-SVN: r155143
      Jakub Jelinek committed
    • re PR middle-end/42228 (verify_cgraph_node failed:node has wrong clone_of) · 47cb0d7d
      	PR middle-end/42228
      	PR middle-end/42110
      	* cgraph.c (cgraph_create_edge_including_clones): Add old_stmt parameter;
      	update edge if it already exists.
      	(cgraph_remove_node): Handle correctly cases where we are removing node having
      	clones.
      	* cgraph.h (cgraph_create_edge_including_clones): Declare.
      	(verify_cgraph_node): Add missing error_found = true code.
      	(cgraph_materialize_all_clones): Remove call edges of dead nodes.
      	* ipa.c (cgraph_remove_unreachable_nodes): Correctly look for master
      	clone; fix double linked list removal.
      	* tree-inline.c (copy_bb): Update cgraph_create_edge_including_clones call;
      	fix frequency of newly created edge.
      
      	* g++.dg/torture/pr42110.C: new file.
      
      From-SVN: r155140
      Jan Hubicka committed
  24. 25 Nov, 2009 1 commit
    • Remove trailing white spaces. · b8698a0f
      2009-11-25  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* alias.c: Remove trailing white spaces.
      	* alloc-pool.c: Likewise.
      	* alloc-pool.h: Likewise.
      	* attribs.c: Likewise.
      	* auto-inc-dec.c: Likewise.
      	* basic-block.h: Likewise.
      	* bb-reorder.c: Likewise.
      	* bt-load.c: Likewise.
      	* builtins.c: Likewise.
      	* builtins.def: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-cppbuiltin.c: Likewise.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-omp.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-parser.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* c-tree.h: Likewise.
      	* c-typeck.c: Likewise.
      	* caller-save.c: Likewise.
      	* calls.c: Likewise.
      	* cfg.c: Likewise.
      	* cfganal.c: Likewise.
      	* cfgexpand.c: Likewise.
      	* cfghooks.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cfglayout.c: Likewise.
      	* cfgloop.c: Likewise.
      	* cfgloop.h: Likewise.
      	* cfgloopmanip.c: Likewise.
      	* cfgrtl.c: Likewise.
      	* cgraph.c: Likewise.
      	* cgraph.h: Likewise.
      	* cgraphbuild.c: Likewise.
      	* cgraphunit.c: Likewise.
      	* cif-code.def: Likewise.
      	* collect2.c: Likewise.
      	* combine.c: Likewise.
      	* convert.c: Likewise.
      	* coverage.c: Likewise.
      	* crtstuff.c: Likewise.
      	* cse.c: Likewise.
      	* cselib.c: Likewise.
      	* dbgcnt.c: Likewise.
      	* dbgcnt.def: Likewise.
      	* dbgcnt.h: Likewise.
      	* dbxout.c: Likewise.
      	* dce.c: Likewise.
      	* ddg.c: Likewise.
      	* ddg.h: Likewise.
      	* defaults.h: Likewise.
      	* df-byte-scan.c: Likewise.
      	* df-core.c: Likewise.
      	* df-problems.c: Likewise.
      	* df-scan.c: Likewise.
      	* df.h: Likewise.
      	* dfp.c: Likewise.
      	* diagnostic.c: Likewise.
      	* diagnostic.h: Likewise.
      	* dominance.c: Likewise.
      	* domwalk.c: Likewise.
      	* double-int.c: Likewise.
      	* double-int.h: Likewise.
      	* dse.c: Likewise.
      	* dwarf2asm.c: Likewise.
      	* dwarf2asm.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* ebitmap.c: Likewise.
      	* ebitmap.h: Likewise.
      	* emit-rtl.c: Likewise.
      	* et-forest.c: Likewise.
      	* except.c: Likewise.
      	* except.h: Likewise.
      	* expmed.c: Likewise.
      	* expr.c: Likewise.
      	* expr.h: Likewise.
      	* final.c: Likewise.
      	* flags.h: Likewise.
      	* fold-const.c: Likewise.
      	* function.c: Likewise.
      	* function.h: Likewise.
      	* fwprop.c: Likewise.
      	* gcc.c: Likewise.
      	* gcov-dump.c: Likewise.
      	* gcov-io.c: Likewise.
      	* gcov-io.h: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genattr.c: Likewise.
      	* genattrtab.c: Likewise.
      	* genautomata.c: Likewise.
      	* genchecksum.c: Likewise.
      	* genconfig.c: Likewise.
      	* genflags.c: Likewise.
      	* gengtype-parse.c: Likewise.
      	* gengtype.c: Likewise.
      	* gengtype.h: Likewise.
      	* genmddeps.c: Likewise.
      	* genmodes.c: Likewise.
      	* genopinit.c: Likewise.
      	* genpreds.c: Likewise.
      	* gensupport.c: Likewise.
      	* ggc-common.c: Likewise.
      	* ggc-page.c: Likewise.
      	* ggc-zone.c: Likewise.
      	* ggc.h: Likewise.
      	* gimple-iterator.c: Likewise.
      	* gimple-low.c: Likewise.
      	* gimple-pretty-print.c: Likewise.
      	* gimple.c: Likewise.
      	* gimple.def: Likewise.
      	* gimple.h: Likewise.
      	* gimplify.c: Likewise.
      	* graphds.c: Likewise.
      	* graphite-clast-to-gimple.c: Likewise.
      	* gthr-nks.h: Likewise.
      	* gthr-posix.c: Likewise.
      	* gthr-posix.h: Likewise.
      	* gthr-posix95.h: Likewise.
      	* gthr-single.h: Likewise.
      	* gthr-tpf.h: Likewise.
      	* gthr-vxworks.h: Likewise.
      	* gthr.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* hard-reg-set.h: Likewise.
      	* hooks.c: Likewise.
      	* hooks.h: Likewise.
      	* hosthooks.h: Likewise.
      	* hwint.h: Likewise.
      	* ifcvt.c: Likewise.
      	* incpath.c: Likewise.
      	* init-regs.c: Likewise.
      	* integrate.c: Likewise.
      	* ipa-cp.c: Likewise.
      	* ipa-inline.c: Likewise.
      	* ipa-prop.c: Likewise.
      	* ipa-pure-const.c: Likewise.
      	* ipa-reference.c: Likewise.
      	* ipa-struct-reorg.c: Likewise.
      	* ipa-struct-reorg.h: Likewise.
      	* ipa-type-escape.c: Likewise.
      	* ipa-type-escape.h: Likewise.
      	* ipa-utils.c: Likewise.
      	* ipa-utils.h: Likewise.
      	* ipa.c: Likewise.
      	* ira-build.c: Likewise.
      	* ira-color.c: Likewise.
      	* ira-conflicts.c: Likewise.
      	* ira-costs.c: Likewise.
      	* ira-emit.c: Likewise.
      	* ira-int.h: Likewise.
      	* ira-lives.c: Likewise.
      	* ira.c: Likewise.
      	* jump.c: Likewise.
      	* lambda-code.c: Likewise.
      	* lambda-mat.c: Likewise.
      	* lambda-trans.c: Likewise.
      	* lambda.h: Likewise.
      	* langhooks.c: Likewise.
      	* lcm.c: Likewise.
      	* libgcov.c: Likewise.
      	* lists.c: Likewise.
      	* loop-doloop.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-invariant.c: Likewise.
      	* loop-iv.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* lower-subreg.c: Likewise.
      	* lto-cgraph.c: Likewise.
      	* lto-compress.c: Likewise.
      	* lto-opts.c: Likewise.
      	* lto-section-in.c: Likewise.
      	* lto-section-out.c: Likewise.
      	* lto-streamer-in.c: Likewise.
      	* lto-streamer-out.c: Likewise.
      	* lto-streamer.c: Likewise.
      	* lto-streamer.h: Likewise.
      	* lto-symtab.c: Likewise.
      	* lto-wpa-fixup.c: Likewise.
      	* matrix-reorg.c: Likewise.
      	* mcf.c: Likewise.
      	* mode-switching.c: Likewise.
      	* modulo-sched.c: Likewise.
      	* omega.c: Likewise.
      	* omega.h: Likewise.
      	* omp-low.c: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* opts-common.c: Likewise.
      	* opts.c: Likewise.
      	* params.def: Likewise.
      	* params.h: Likewise.
      	* passes.c: Likewise.
      	* plugin.c: Likewise.
      	* postreload-gcse.c: Likewise.
      	* postreload.c: Likewise.
      	* predict.c: Likewise.
      	* predict.def: Likewise.
      	* pretty-print.c: Likewise.
      	* pretty-print.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* reg-stack.c: Likewise.
      	* regcprop.c: Likewise.
      	* reginfo.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* regstat.c: Likewise.
      	* reload.c: Likewise.
      	* reload1.c: Likewise.
      	* resource.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.def: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      	* sbitmap.c: Likewise.
      	* sched-deps.c: Likewise.
      	* sched-ebb.c: Likewise.
      	* sched-int.h: Likewise.
      	* sched-rgn.c: Likewise.
      	* sched-vis.c: Likewise.
      	* sdbout.c: Likewise.
      	* sel-sched-dump.c: Likewise.
      	* sel-sched-dump.h: Likewise.
      	* sel-sched-ir.c: Likewise.
      	* sel-sched-ir.h: Likewise.
      	* sel-sched.c: Likewise.
      	* sel-sched.h: Likewise.
      	* sese.c: Likewise.
      	* sese.h: Likewise.
      	* simplify-rtx.c: Likewise.
      	* stack-ptr-mod.c: Likewise.
      	* stmt.c: Likewise.
      	* stor-layout.c: Likewise.
      	* store-motion.c: Likewise.
      	* stringpool.c: Likewise.
      	* stub-objc.c: Likewise.
      	* sync-builtins.def: Likewise.
      	* target-def.h: Likewise.
      	* target.h: Likewise.
      	* targhooks.c: Likewise.
      	* targhooks.h: Likewise.
      	* timevar.c: Likewise.
      	* tlink.c: Likewise.
      	* toplev.c: Likewise.
      	* toplev.h: Likewise.
      	* tracer.c: Likewise.
      	* tree-affine.c: Likewise.
      	* tree-affine.h: Likewise.
      	* tree-browser.def: Likewise.
      	* tree-call-cdce.c: Likewise.
      	* tree-cfg.c: Likewise.
      	* tree-cfgcleanup.c: Likewise.
      	* tree-chrec.c: Likewise.
      	* tree-chrec.h: Likewise.
      	* tree-complex.c: Likewise.
      	* tree-data-ref.c: Likewise.
      	* tree-data-ref.h: Likewise.
      	* tree-dfa.c: Likewise.
      	* tree-dump.c: Likewise.
      	* tree-dump.h: Likewise.
      	* tree-eh.c: Likewise.
      	* tree-flow-inline.h: Likewise.
      	* tree-flow.h: Likewise.
      	* tree-if-conv.c: Likewise.
      	* tree-inline.c: Likewise.
      	* tree-into-ssa.c: Likewise.
      	* tree-loop-distribution.c: Likewise.
      	* tree-loop-linear.c: Likewise.
      	* tree-mudflap.c: Likewise.
      	* tree-nested.c: Likewise.
      	* tree-nomudflap.c: Likewise.
      	* tree-nrv.c: Likewise.
      	* tree-object-size.c: Likewise.
      	* tree-optimize.c: Likewise.
      	* tree-outof-ssa.c: Likewise.
      	* tree-parloops.c: Likewise.
      	* tree-pass.h: Likewise.
      	* tree-phinodes.c: Likewise.
      	* tree-predcom.c: Likewise.
      	* tree-pretty-print.c: Likewise.
      	* tree-profile.c: Likewise.
      	* tree-scalar-evolution.c: Likewise.
      	* tree-ssa-address.c: Likewise.
      	* tree-ssa-alias.c: Likewise.
      	* tree-ssa-ccp.c: Likewise.
      	* tree-ssa-coalesce.c: Likewise.
      	* tree-ssa-copy.c: Likewise.
      	* tree-ssa-copyrename.c: Likewise.
      	* tree-ssa-dce.c: Likewise.
      	* tree-ssa-dom.c: Likewise.
      	* tree-ssa-dse.c: Likewise.
      	* tree-ssa-forwprop.c: Likewise.
      	* tree-ssa-ifcombine.c: Likewise.
      	* tree-ssa-live.c: Likewise.
      	* tree-ssa-live.h: Likewise.
      	* tree-ssa-loop-ch.c: Likewise.
      	* tree-ssa-loop-im.c: Likewise.
      	* tree-ssa-loop-ivcanon.c: Likewise.
      	* tree-ssa-loop-ivopts.c: Likewise.
      	* tree-ssa-loop-manip.c: Likewise.
      	* tree-ssa-loop-niter.c: Likewise.
      	* tree-ssa-loop-prefetch.c: Likewise.
      	* tree-ssa-loop-unswitch.c: Likewise.
      	* tree-ssa-loop.c: Likewise.
      	* tree-ssa-math-opts.c: Likewise.
      	* tree-ssa-operands.c: Likewise.
      	* tree-ssa-operands.h: Likewise.
      	* tree-ssa-phiopt.c: Likewise.
      	* tree-ssa-phiprop.c: Likewise.
      	* tree-ssa-pre.c: Likewise.
      	* tree-ssa-propagate.c: Likewise.
      	* tree-ssa-reassoc.c: Likewise.
      	* tree-ssa-sccvn.c: Likewise.
      	* tree-ssa-sink.c: Likewise.
      	* tree-ssa-structalias.c: Likewise.
      	* tree-ssa-ter.c: Likewise.
      	* tree-ssa-threadedge.c: Likewise.
      	* tree-ssa-threadupdate.c: Likewise.
      	* tree-ssa-uncprop.c: Likewise.
      	* tree-ssa.c: Likewise.
      	* tree-ssanames.c: Likewise.
      	* tree-switch-conversion.c: Likewise.
      	* tree-tailcall.c: Likewise.
      	* tree-vect-data-refs.c: Likewise.
      	* tree-vect-generic.c: Likewise.
      	* tree-vect-loop-manip.c: Likewise.
      	* tree-vect-loop.c: Likewise.
      	* tree-vect-patterns.c: Likewise.
      	* tree-vect-slp.c: Likewise.
      	* tree-vect-stmts.c: Likewise.
      	* tree-vectorizer.c: Likewise.
      	* tree-vectorizer.h: Likewise.
      	* tree-vrp.c: Likewise.
      	* tree.c: Likewise.
      	* tree.def: Likewise.
      	* tree.h: Likewise.
      	* treestruct.def: Likewise.
      	* unwind-compat.c: Likewise.
      	* unwind-dw2-fde-glibc.c: Likewise.
      	* unwind-dw2.c: Likewise.
      	* value-prof.c: Likewise.
      	* value-prof.h: Likewise.
      	* var-tracking.c: Likewise.
      	* varasm.c: Likewise.
      	* varpool.c: Likewise.
      	* vec.c: Likewise.
      	* vec.h: Likewise.
      	* vmsdbgout.c: Likewise.
      	* web.c: Likewise.
      	* xcoffout.c: Likewise.
      
      From-SVN: r154645
      H.J. Lu committed
  25. 16 Nov, 2009 1 commit
    • cgraph.c (cgraph_release_function_body): Update use of ipa_transforms_to_apply. · 0e3776db
      	* cgraph.c (cgraph_release_function_body): Update use of
      	ipa_transforms_to_apply.
      	(cgraph_remove_node): Remove ipa_transforms_to_apply.
      	* cgraph.h (struct cgraph_node): Add ipa_transforms_to_apply.
      	* cgraphunit.c (save_inline_function_body): Clear ipa_transforms for
      	copied body.
      	(cgraph_materialize_clone): Remove original if dead.
      	* lto-streamer-in.c (lto_read_body): Remove FIXME and
      	ipa_transforms_to_apply hack.
      	* function.h (struct function): Add ipa_transforms_to_apply.
      	* ipa.c (cgraph_remove_unreachable_nodes): Handle dead clone originals.
      	* tree-inline.c (copy_bb): Update sanity check.
      	(initialize_cfun): Do not copy ipa_transforms_to_apply.
      	(expand_call_inline): remove dead clone originals.
      	(tree_function_versioning): Merge transformation queues.
      	* passes.c (add_ipa_transform_pass): Remove.
      	(execute_one_ipa_transform_pass): Update ipa_transforms_to_apply
      	tracking.
      	(execute_all_ipa_transforms): Update.
      	(execute_one_pass): Update.
      
      	* lto.c (read_cgraph_and_symbols): Set also ipa_transforms_to_apply.
      
      From-SVN: r154200
      Jan Hubicka committed
  26. 13 Nov, 2009 1 commit
  27. 12 Nov, 2009 3 commits
  28. 11 Nov, 2009 1 commit
  29. 10 Nov, 2009 1 commit
    • tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field. · 2c5721d9
      2009-11-10  Martin Jambor  <mjambor@suse.cz>
      
      	* tree-pass.h (struct ipa_opt_pass_d): Added stmt_fixup field.
      	(execute_all_ipa_stmt_fixups): Declare.
      	* ipa-cp.c (pass_ipa_cp): Added stmt_fixup value.
      	* ipa-inline.c (pass_ipa_inline): Likewise.
      	* ipa-pure-const.c (pass_ipa_pure_cons): Likewise.
      	* ipa-reference.c (pass_ipa_reference): Likewise.
      	* ipa.c (pass_ipa_whole_program_visibility): Likewise.
      	* lto-streamer-out.c (pass_ipa_lto_gimple_out): Likewise.
      	(pass_ipa_lto_finish_out): Likewise.
      	* lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Likewise.
      	* passes.c (execute_ipa_stmt_fixups): New function.
      	(execute_all_ipa_stmt_fixups): New function.
      	* lto-streamer-in.c (input_function): Call execute_all_ipa_stmt_fixups.
      
      From-SVN: r154064
      Martin Jambor committed
  30. 08 Oct, 2009 1 commit
  31. 07 Oct, 2009 1 commit
    • lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has no address taken. · b20996ff
      	* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
      	no address taken.
      	* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
      	never needed.
      	(cgraph_clone_node): Clear externally_visible flag for clones.
      	* cgraph.h (cgraph_only_called_directly_p,
      	cgraph_can_remove_if_no_direct_calls_p): New predicates.
      	* tree-pass.h (pass_ipa_whole_program_visibility): Declare.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
      	(ipcp_initialize_node_lattices, ipcp_estimate_growth,
      	ipcp_insert_stage): Likwise.
      	* cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
      	externally_visible flag.
      	(verify_cgraph_node): Verify that inline clones look right.
      	(process_function_and_variable_attributes): Do not set
      	externally_visible flags.
      	(ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
      	been already run.
      	* lto-cgraph.c (lto_output_node): Assert that inline clones are not
      	boundaries.
      	* ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
      	clear externally_visible when turning into inline clones
      	(cgraph_mark_inline_edge): Use new predicates.
      	(cgraph_estimate_growth): Likewise.
      	(cgraph_decide_inlining): Likewise.
      	* ipa.c (cgraph_postorder): Likewise.
      	(cgraph_remove_unreachable_nodes): Likewise; sanity check
      	that inline clones are not needed.
      	(cgraph_externally_visible_p): New predicate.
      	(function_and_variable_visibility): Add whole_program parameter;
      	always set externally_visible flag; handle COMDAT function
      	privatization.
      	(local_function_and_variable_visibility): New function.
      	(gate_whole_program_function_and_variable_visibility): New function.
      	(whole_program_function_and_variable_visibility): New function.
      	(pass_ipa_whole_program_visibility): New function.
      	* passes.c  (init_optimization_passes): Add whole program visibility
      	pass.
      	(do_per_function_toporder, function_called_by_processed_nodes_p): Do
      	not care about needed/reachable flags.
      	* varpool.c: Include flags.h
      	(decide_is_variable_needed): When doing LTO assume whole-program mode.
      	(varpool_finalize_decl): When we are in LTO read-back, all variables
      	are analyzed.
      	(varpool_analyze_pending_decls): Skip analyzis of analyzed vars.
      
      	* lto/lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
      	ltrans stage; explain why this is needed and should not.
      
      From-SVN: r152520
      Jan Hubicka committed