X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=f6b155464b6271b477780605efbb84cce8885056;hp=b4b9a65d099485859e15d4eda8f8f34d82c545f9;hb=cdedc7400d8cfdcd7517180421ae4cc3b636d806;hpb=a33890d064f843e2d810f02b80c0e049df944e51 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b4b9a65d099..f6b155464b6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,287 @@ +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 + * config/i386/sse.md (*avx_vmmaskcmp3): New. + +2010-05-12 Jakub Jelinek + + PR middle-end/44085 + * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK, + change value of ORT_TASK. + (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK. + (omp_notice_threadprivate_variable): New function. + (omp_notice_variable): Call it for threadprivate variables. + If enclosing ctx is a task, print enclosing task rather than + enclosing parallel. Handle ORT_UNTIED_TASK like ORT_TASK. + (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK + if task has untied clause. + + PR debug/42278 + * dwarf2out.c (base_type_die): Don't add name attribute here. + (modified_type_die): Instead of sizetype use + its underlying original type. If a DW_TAG_base_type doesn't + have name added, add __unknown__. + (dwarf2out_imported_module_or_decl_1): Don't call base_type_die, + always call force_type_die instead. + +2010-05-12 Maxim Kuvyrkov + + * targhooks.c (default_stack_protect_guard): Avoid sharing RTL + for __stack_chk_guard. + +2010-05-11 Jakub Jelinek + + * c-opts.c (c_common_parse_file): If start_end_main_source_file, + don't call start_source_file debug hook here... + (finish_options): ... but here, after outputting predefined and + command line defines and undefs. + + PR middle-end/44071 + * cfglayout.c (fixup_reorder_chain): Allow asm goto to have + no fallthru edge. + * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode + optimizing away empty bb with no successors, move over its + footer chain to fallthru predecessor. + * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND. + (rtl_split_edge): For asm goto call patch_jump_insn even if + splitting fallthru edge. + + PR c++/44059 + * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object + even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls. + * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise. + * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY + on DW.ref.* decls. + + PR c++/44062 + * c-parser.c (c_parser_expression): Mark LHS of a comma + expression as read if it is a decl, handled component or + COMPOUND_EXPR with that on the RHS. + * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR + if it is a decl or handled component. + +2010-05-11 Jan Hubicka + + * lto-symtab.c (lto_symtab_free): New function. + * lto-streamer.h (lto_symtab_free): Declare. + +2010-05-11 Jan Hubicka + + * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume + that if function is needed it is reachable. + (lto_output_node): See if it the function is reachable or referenced. + (output_cgraph): Update call of lto_output_node. + * lto-streamer.h (reachable_from_other_partition_p): Declare. + +2010-05-11 Jan Hubicka + + * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__): + Mark as used. + +2010-05-11 Jan Hubicka + + PR tree-optimize/44063 + * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of queue. + (cgraph_decide_inlining_of_small_function): Skip check when disrgarding + limits. + (estimate_function_body_sizes): Compute sizes even when disregarding. + +2010-05-11 Kai Tietz + + * collect2.c (maybe_lto_object_file): Add x64-coff magic and check. + +2010-05-11 Jan Hubicka + + * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes + into every boundary. + +2010-05-11 Jan Hubicka + + * matrix-reorg.c (matrix_reorg): Rebuild edges. + +2010-05-11 Jan Hubicka + + * lto-streamer.c (lto_streamer_cache_add_to_node_array, + lto_streamer_cache_delete): Put nodes into heap. + * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in + heap. + +2010-05-11 Jan Hubicka + + * cgraphbuild.c (cgraph_rebuild_references): New. + * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized + out extern inlines. + * cgraph.h (cgraph_rebuild_references): Declare. + * tree-inline.c (tree_function_versioning): Use it. + * ipa-struct-reorg.c (do_reorg_for_func): Likewise. + +2010-05-11 Jan Hubicka + + * cgraph.c: Include ipa-utils.h + (cgraph_create_virtual_clone): Update references. + * Makefile.in (cgraph.o): Add dependency at ipa-utils.h + +2010-05-11 Christian Borntraeger + + * 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. + +2010-05-11 Jakub Jelinek + + * gcc.c (execute): For -### don't quote arguments that + contain just alphanumerics and _/-. characters. + * doc/invoke.texi: Document that change for -###. + + PR debug/44023 + * df-problems.c (struct dead_debug): Add to_rescan field. + (dead_debug_init): Clear to_rescan field. + (dead_debug_finish): Rescan all debug insns in to_rescan + bitmap and free the bitmap. + (dead_debug_insert_before): Instead of rescanning debug insns + immediately queue their rescanning until dead_debug_finish. + (df_note_bb_compute): After dead_debug_add do continue instead + of break. + +2010-05-10 Jakub Jelinek + + PR debug/44028 + * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC, + clear also INSN_REG_USE_LIST. + +2010-05-10 Rainer Orth + + * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef. + +2010-05-10 Jan Hubicka + + * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change. + 2010-05-10 Jan Hubicka * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate