OSDN Git Service

* c-decl.c: Don't include gimple.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a0df089..bd58462 100644 (file)
@@ -1,3 +1,192 @@
+2010-05-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-decl.c: Don't include gimple.h.
+       (merge_decls): Do not copy gimple_body.
+
+2010-05-15  Jason Merrill  <jason@redhat.com>
+
+       * c.opt: Add -fnothrow-opt.
+
+2010-05-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed.
+       * passes.c (ipa_write_summaries): Write all analyzed nodes.
+
+2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
+       * Makefile.in: Add it.
+       Fix all other Makefile dependencies for changes below.
+       * tree.h: Include it instead of defining VEC primitives here.
+       * gimple.h: Likewise.
+       * rtl.h: Likewise.
+       * tree-inline.h: Inlclude vecir.h instead of gimple.h.
+       * except.h: Include vecir.h, break dependence on tree.h.
+
+       * gimplify.c (append_to_statement_list_1, append_to_statement_list):
+       Move from here...
+       * tree-iterator.c: ...to here.
+       * tree-iterator.h: Fix file introduction comment.  Add extern markers.
+
+       * c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
+       tm_p.h.
+       * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
+       * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
+       integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
+       tree-mudflap.h, and target.h.
+       * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
+       predict.h, tree-inline.h, gimple.h, and langhooks.h.
+       * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
+       Add FIXME for why gimple.h is still included (should be unnecessary
+       since GCC 4.5 gimplification unit-at-a-time).
+       * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
+       * c-pragma.c: Add FIXME for why function.h needs to be included just
+       for cfun, at front-end level.
+       Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
+       Do not include ggc.h, but include vecprim.h for VEC(char).
+       * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
+       Explain why target.h is included.
+       * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
+       Explain why gimple.h is included.
+       * c-ppoutput.c: Do not include tm.h.
+       * c-common.c: Do not include gimple.h.  Explain why expr.h is included.
+       * c-parses.c: Explain why rtl.h is included, and that this (and only
+       this) is also why tm.h must be included.
+       Do not include except.h.
+       * c-lang.c: Do not include ggc.h.
+
+2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
+
+2010-05-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (grokfield): Allow typedefs for anonymous structs and
+       unions by default if those structs and unions have no tags.  Do
+       not condition anonymous struct and unions handling on flag_iso.
+       Allow anonymous structs and unions for C1X.
+       (finish_struct): Do not diagnose lack of named fields when
+       anonymous structs and unions present for C1X.  Accept flexible
+       array members in structure with anonymous structs or unions but no
+       directly named fields.
+       * doc/extend.texi (Unnamed Fields): Update.
+
+2010-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.h (compare_field_offset): Rename into...
+       (gimple_compare_field_offset): ...this.
+       * gimple.c (compare_field_offset): Rename into...
+       (gimple_compare_field_offset): ...this.  Compare the full access if
+       the offset is self-referential.
+       (gimple_types_compatible_p): Adjust for above renaming.
+       * lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
+       DECL_NONADDRESSABLE_P flag of fields before merging them.
+
+2010-05-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (ctor_to_list): Delete.
+       * tree.c (ctor_to_list): Delete.
+
+2010-05-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c: Include toplev.h
+       (is_proper_for_analysis): Only add to all_module_statics
+       if it is allocated.
+       (write_node_summary_p, stream_out_bitmap,
+       ipa_reference_write_optimization_summary,
+       ipa_reference_read_optimization_summary): New.
+       (struct ipa_opt_pass_d pass_ipa_reference): Add
+       optimization summary streaming.
+       * lto-cgraph.c (referenced_from_this_partition_p,
+       reachable_from_this_partition_p): New functions.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
+       * opts.c (decode_options): Enable ipa_reference.
+       * Makefile.in (ipa-reference.o): Add toplev.h dependency.
+       * lto-streamer.h (referenced_from_this_partition_p,
+       reachable_from_this_partition_p): Declare.
+
+2010-05-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44038
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
+       taking the address of a V_C_E of a constant.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * tree.h (memory_identifier_string): Remove.
+       * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
+       (ipa_reference_global_vars_info_d): Remove statics_not_read and
+       statics_not_written.
+       (ipa_reference_optimization_summary_d): New structure.
+       (ipa_reference_optimization_summary_t): New type and vector.
+       (ipa_reference_vars_info_d): Embedd structures instead of using
+       pointers.
+       (reference_vars_to_consider): Remove out of GGC space.
+       (module_statics_escape): Remove.
+       (global_info_obstack): Rename to ...
+       (optimization_summary_obstack): ... this one.
+       (initialization_status_t): Remove.
+       (memory_identifier_string): Remove.
+       (get_reference_vars_info): Fix indenting.
+       (set_reference_vars_info): Likewise.
+       (get_reference_optimization_summary): New.
+       (set_reference_optimization_summary): New.
+       (get_global_reference_vars_info): Remove.
+       (ipa_reference_get_read_global): Remove.
+       (ipa_reference_get_written_global): Remove.
+       (ipa_reference_get_not_read_global): Update.
+       (ipa_reference_get_not_written_global): Update.
+       (is_proper_for_analysis): Outlaw addressable.
+       (propagate_bits): Update for new datastructures.
+       (analyze_variable): Remove.
+       (init_function_info): Update for new datastructures.
+       (clean_function_local_data): Remove.
+       (clean_function): Remove.
+       (copy_global_bitmap): Use optimizations_summary_obstack.
+       (duplicate_node_data): Duplicate optimization summary only.
+       (remove_node_data): Remove optimization summary only.
+       (generate_summary): Do not analyze variables; do not compute
+       module_statics_escape; do not prune solutions by it.
+       (read_write_all_from_decl): Fix typos in comments.
+       (propagate): Doscover readonly and nonaddressable first;
+       update for new datastructures; share global bitmaps.
+       * ipa-reference.h (ipa_reference_get_read_global,
+       ipa_reference_get_written_global): Remove.
+       * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
+       * Makefile.in: Remove ipa-refereference from GT files.
+
+2010-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44112
+       * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
+       for all SYMBOL_REF_DECLs.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
+       (varpool_all_refs_explicit_p): New inline function.
+       * ipa-reference.c: Update comment.
+       (module_statics_written): Remove.
+       (get_static_decl): Remove.
+       (ipa_init): Do not initialize module_statics_written.
+       (analyze_function): Likewise.
+       (generate_summary): Likewise; do not compute module_statics_readonly
+       and do not update variable flags.
+       (propagate): Call ipa_discover_readonly_nonaddressable_vars.
+       * ipa.c: Inlucde flags.h
+       (cgraph_local_node_p): New.
+       (cgraph_remove_unreachable_nodes): Return early when not optimizing;
+       promote functions to local.
+       (ipa_discover_readonly_nonaddressable_vars): New function.
+       (function_and_variable_visibility): Use cgraph_local_node_p.
+       * varpool.c (varpool_finalize_decl): Set force_output for
+       DECL_PRESERVE_P vars.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
+
 2010-05-14  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/44119
        Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
        single logical operations i.e and, or and xor instead of packed double
        logical operations for SSE and AVX.
-       * config/i386/i386-c.c
-       (ix86_target_macros_internal): Add PROCESSOR_BDVER1.
+       * config/i386/i386-c.c (ix86_target_macros_internal):
+       Add PROCESSOR_BDVER1.
        * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
        (has_fma4, has_xop): New.
        * config/i386/i386.c (bdver1_cost): New variable.
        t-mingw-w64 or t-mingw-w32 for multilib configuration.
        * config/i386/t-mingw-w32: New.
        * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
-       
+
 2010-05-13  Martin Jambor  <mjambor@suse.cz>
 
        * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
        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.
+       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):