X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=4cc9d9d2edbce68f9de2da40ed272562e731f76a;hp=09043fd2ccf971429b2bee9c0cf767c73bea23cd;hb=0a3ec5974156d5d40dc84497a62aff6e71ac48cf;hpb=084da569974ef36696e03e72b3356d10ea63d104 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 09043fd2ccf..4cc9d9d2edb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,162 @@ +2010-05-13 Andreas Schwab + + * config/rs6000/rs6000-protos.h + (rs6000_mode_dependent_address_ptr): Change argument to const_rtx. + * config/rs6000/rs6000.c (rs6000_mode_dependent_address) + (rs6000_debug_mode_dependent_address) + (rs6000_mode_dependent_address_ptr): Likewise. + +2010-05-13 Jakub Jelinek + + PR debug/43983 + * var-tracking.c (track_expr_p): Allow tracking of variables optimized + by SRA. + * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H). + * tree-sra.c (create_access_replacement): Call unshare_expr before + passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from + it. + * dwarf2out.c: Include tree-flow.h. + (struct var_loc_node): Rename var_loc_note field to loc, add comment. + (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): + Handle DW_OP_bit_piece. + (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node, + construct_piece_list, adjust_piece_list): New functions. + (add_var_loc_to_decl): Handle SRA optimized variables. + Adjust for var_loc_note to loc field renaming. + (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl + in VAR_LOCATION note. + (new_loc_descr_op_bit_piece): New function. + (dw_sra_loc_expr): New function. + (dw_loc_list): Use it. Don't handle the last range after the + loop, handle it inside of the loop. Adjust for var_loc_note + to loc field renaming. + (add_location_or_const_value_attribute): Only special case + single entry loc lists if loc is NOTE_P. Adjust for + var_loc_note to loc field renaming. + (dwarf2out_var_location): Don't set newloc->var_loc_note + and newloc->next here. + +2010-05-12 Jan Hubicka + + * 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. + +2010-05-12 Jason Merrill + + PR bootstrap/44048 + PR target/44099 + * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling. + * sdbout.c (plain_type_1): Likewise. + * dwarf2out.c (is_base_type): Likewise. + (gen_type_die_with_usage): Likewise. Generate + DW_TAG_unspecified_type for any LANG_TYPE. + +2010-05-12 Jan Hubicka + + * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build + indrect edges too. + * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument. + (cgraph_clone_edge): Update. + (cgraph_node_remove_callees): Remove indirect calls too. + * cgraph.h (cgraph_indirect_call_info): Add ecf_flags. + (cgraph_create_indirect_edge): Update prototype. + * ipa-reference.c (has_proper_scope_for_analysis): Rename to + is_proper_for_analysis. + (add_new_function, visited_nodes, function_insertion_hook_holder, + get_local_reference_vars_info, mark_address_taken, mark_address, + mark_load, mark_store, check_asm_memory_clobber, check_call, + scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove. + (ipa_init): Do not initialize visited_nodes; + function_insertion_hook_holder. + (analyze_variable): Rewrite. + (analyze_function): Rewrite. + (copy_local_bitmap): Remove. + (duplicate_node_dat): Do not duplicate local info. + (generate_summary): Simplify to only walk cgraph. + (write_node_summary_p, ipa_reference_write_summary, + ipa_reference_read_summary): Remove. + (propagate): Do not remove function insertion; + generate summary. + (pass_ipa_reference): NULLify summary handling fields. + * lto-cgraph.c (lto_output_edge): Output ecf_flags. + (input_edge): Input ecf_flags. + * ipa-prop.c (ipa_note_parm_call): Expect edge to be around. + (update_indirect_edges_after_inlining): Ignore edges with unknown + param. + +2010-05-12 Sriraman Tallam + + * implicit-zee.c: New file. + * tree-pass.h (pass_implicit_zee): Declare. + * passes.c (init_optimization_passes): Add zee pass. + * common.opt (fzee): New flag. + * timevar.def (TV_ZEE): Define. + * config/i386/i386.c (optimization_options): Turn on ZEE for level 2 + and beyond. + * Makefile.in (implicit-zee.o): Add new build file. + +2010-05-12 Kazu Hirata + Nathan Froyd + + * c-common.c (sync_resolve_params): Remove write-only variable. + +2010-05-12 Anatoly Sokolov + + * target.h (struct gcc_target): Add mode_dependent_address_p field. + * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New. + (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P. + * targhooks.c (default_mode_dependent_address_p): New function. + * targhooks.h (default_mode_dependent_address_p): Declare function. + * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New. + (GO_IF_MODE_DEPENDENT_ADDRESS): Update. + * recog.c: (mode_dependent_address_p): Call mode_dependent_address_p + target hook. Change return type to bool. + * recog.h: (mode_dependent_address_p): Change return type to bool. + +2010-05-12 Kazu Hirata + Nathan Froyd + + * tree-mudflap.c (build_function_type_0, build_function_type_1, + build_function_type_2, build_function_type_3): Remove. + (mudflap_init): Use build_function_type_list. + +2010-05-12 Kazu Hirata + Nathan Froyd + + * coverage.c (build_fn_info_value): Call build_constructor instead of + build_constructor_from_list. + (build_ctr_info_value): Likewise. + (build_gcov_info): Likewise. + +2010-05-12 Nathan Froyd + + * tree.c (build_constructor): Compute TREE_CONSTANT for the + resultant constructor. + (build_constructor_single): Don't set TREE_CONSTANT. + (build_constructor_from_list): Don't compute TREE_CONSTANT. + +2010-05-12 Jan Hubicka + + * 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. + 2010-05-12 H.J. Lu PR target/44088 @@ -123,13 +282,13 @@ 2010-05-11 Christian Borntraeger - * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset + * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset prefetch_before to PREFETCH_ALL if to accesses "meet" beyond cache size. 2010-05-11 Christian Borntraeger - * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches. + * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches. 2010-05-11 Jakub Jelinek