OSDN Git Service

* ipa-cp.c (ipcp_read_summary): Remove now invalid FIXME and
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4b96a2f..d935854 100644 (file)
@@ -1,3 +1,125 @@
+2009-10-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_read_summary): Remove now invalid FIXME and
+       flag_ltrans check.
+       * ipa-inline.c (cgraph_mark_inline_edge,
+       cgraph_decide_inlining_of_small_function,
+       cgraph_decide_inlining, inline_read_summary): Disable indirect inlining
+       for WPA for time being.
+
+       PR tree-optimize/40556                                                                                                                                         
+       * ipa-inline.c (cgraph_early_inlining): Fix iterations condition.
+
+2009-10-22  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer.h (lto_symtab_clear_resolution): Remove.
+       * lto-symtab.c (lto_symtab_clear_resolution): Likewise.
+
+2009-10-22  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/41730
+       * ipa-reference.c (has_proper_scope_for_analysis): Add fixme about
+       global vars.
+       (check_call): Handle only indirect calls.
+       (propagate_bits): Update comment.
+       (write_node_summary_p): Turn bogus check to assert.
+       (ipa_reference_write_summary): Stream calls_read_all properly.
+       (ipa_reference_read_summary): Stream in calls_read_all properly.
+       (read_write_all_from_decl): New function.
+       (propagate): Handle OVERWRITABLE nodes and external calls here.
+       * ipa-pre-const.c (check_call): In IPA mode handle indirect calls
+       only.
+       (analyze_function): Do not check visibility here.
+       (add_new_function): We summary OVERWRITABLE too.
+       (generate_summary): Stream OVERWRITABLE nodes too.
+       (propagate): Handle external calls and OVERWRITABLE nodes here.
+       (local_pure_const): Check visibility here.
+
+2009-10-22  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_write_summary, ipcp_read_summary): New functions.
+       (pass_ipa_cp): Register them.
+       (ipcp_init_stage): Analyze all functions for whopr/lto.
+       (ipcp_propagate_stage): Skip external calls.
+       (ipcp_iterate_stage): Call ipa_update_after_lto_read if needed.
+       * ipa-reference.c (write_node_summary_p): Fix thinko about availability.
+       * cgraphunit.c (ipa_passes): When in lto, ne er produce new summaries;
+       when in ltrans, skip executing of ipa passes since everything should've
+       been done.
+       * ipa-inline.c (cgraph_decide_inlining): Remove FIXMEs.
+       (inline_generate_summary): Likewise.
+       (inline_read_summary): New function.
+       (inline_write_summary): New function.
+       (pass_ipa_inline): Register new hooks.
+       * ipa-prop.c: Inlcude lto-streamer.h
+       (ipa_edge_args_vector): Update declaration.
+       (ipa_count_arguments, ipa_compute_jump_functions,
+       ipa_free_edge_args_substructures): Move ipa_edge_args_vector into ggc.
+       (ipa_write_jump_function, ipa_read_jump_function, ipa_write_node_info,
+       ipa_read_node_info): New static functions.
+       (ipa_prop_write_jump_functions, ipa_prop_read_jump_functions): Update.
+       (duplicate_array): Use xmalloc.
+       (duplicate_ggc_array): New.
+       (ipa_edge_duplication_hook): Use it.
+       (ipa_update_after_lto_read): New function.
+       * ipa-prop.h (ipa_prop_write_jump_functions,
+       ipa_prop_read_jump_functions): Declare.
+       (ipa_pass_through_data, ipa_ancestor_jf_data, ipa_member_ptr_cst,
+       jump_func_value, ipa_member_ptr_cst, ipa_edge_args): Add GTY markers.
+       (ipa_edge_args_vector): Move into GGC.
+       (ipa_check_create_edge_args): Update.
+       (ipa_update_after_lto_read): New.
+       * passes.c (ipa_write_summaries_1): When in wpa, do not write summaries.
+       (ipa_read_summaries): When in ltrans, so not read summaries.
+       * lto-streamer.c (lto_get_section_name): Add LTO_section_jump_functions.
+       * lto-streamer.h (LTO_section_jump_functions): New section.
+       (produce_asm): Declare.
+       * lto-cgraph.c (output_cgraph): Output edges in reverse order.
+       * lto-streamer-out.c (produce_asm): Export.
+       * lto-streamer-in.c: Include tree-pass.h
+       (input_function): Free dominance info when done.
+       (lto_read_body): Push ipa_inline in ltrans stage.
+       * gengtype.c (open_base_files): Add ipa-prop.h into includes.
+       * Makefile.in (GTFILES): Add ipa-prop.h
+
+2009-10-22  Matthias Klose  <doko@ubuntu.com>
+
+       * doc/install.texi: Document --enable-browser-plugin.
+
+2009-10-21  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * doc/invoke.texi (fira-loop-pressure): Update default value.
+       * opts.c (decode_options): Remove default value setting for
+       flag_ira_loop_pressure.
+       * config/ia64/ia64.c (ia64_override_options): Set
+       flag_ira_loop_pressure up for -O3.
+       * config/rs6000/rs6000.c (rs6000_override_options): Ditto.
+       
+2009-10-21  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/41497
+       * tree-scalar-evolution.c (analyze_evolution_in_loop): Return
+       chrec_dont_know if the evolution function returned by follow_ssa_edge
+       is constant in the analyzed loop and is not compatible with the
+       initial value before the loop.
+       * tree-chrec.h (no_evolution_in_loop_p): Call STRIP_NOPS.
+
+2009-10-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/sh/sh.c (nonpic_symbol_mentioned_p): Allow UNSPEC_TPOFF.
+
+2009-10-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/25507
+       * doc/invoke.texi: Document -print-multi-os-directory.
+
+2009-10-21  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR c++/41313
+       * gcc/config/darwin10.h: Use default_emit_unwind_label.
+       * gcc/config/darwin.c: Disable -freorder-blocks-and-partition
+       when darwin_emit_unwind_label is used.
+
 2009-10-21  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-vect-stmts.c (exist_non_indexing_operands_for_use_p): Tweak