OSDN Git Service

PR tree-optimize/44063
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6551ac0..70e5809 100644 (file)
@@ -1,3 +1,192 @@
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       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  <kai.tietz@onevision.com>
+
+       * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
+       into every boundary.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * matrix-reorg.c (matrix_reorg): Rebuild edges.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * 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  <jh@suse.cz>
+
+       * 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  <jh@suse.cz>
+
+       * 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  <borntraeger@de.ibm.com>
+
+        * 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  <borntraeger@de.ibm.com>
+
+        * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
+
+2010-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * 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  <jakub@redhat.com>
+
+       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  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally commited change.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries): Allocate
+       encoders.
+       * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
+       * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
+       (lto_streamer_cache_create): Init alloc pool.
+       (lto_streamer_cache_delete): Free alloc pool.
+       * lto-streamer.h: Include alloc pool.
+       (lto_streamer_cache_d): Use alloc pool.
+       * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (cgraphbuild.o): Add dependency on except.h.
+       * cgraphbuild.c: Include except.h
+       (record_type_list, record_eh_tables): New function.
+       (build_cgraph_edges, rebuild_cgraph_edges): Use it.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
+       __frame_dummy_init_array_entry, force_to_data): Attribute as used
+       rather than unused.
+
+2010-05-10  Michael Matz  <matz@suse.de>
+
+       * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
+       (can_reassociate_p): Use FLOAT_TYPE_P.
+       * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
+       (vect_force_simple_reduction): ... this.
+       * tree-parloops.c (gather_scalar_reductions): Use
+       vect_force_simple_reduction.
+       * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
+       vect_is_simple_reduction, add modify argument, if true rewrite
+       "a-b" into "a+(-b)".
+       (vect_is_simple_reduction, vect_force_simple_reduction): New
+       functions.
+       (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
+
+2010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
+           Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/44012
+       * ira-build.c (remove_unnecessary_allocnos): Nullify
+       regno_allocno_map of the removed allocno.
+
+2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
+       to /dev/null.
+       * configure: Regenerate.
+
+2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
+       unused.
+       Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
+       * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
+       support in Sun ld.
+       * configure: Regenerate.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
+       marked if the entry identifier is marked.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.c (struct c_common_attributes): Add fnspec attribute.
+       (handle_fnspec_attribute): New function.
+       * gimple.h (gimple_call_return_flags): Declare.
+       (gimple_call_arg_flags): Likewise.
+       * gimple.c (gimple_call_arg_flags): New function.
+       (gimple_call_return_flags): Likewise.
+       * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
+       New argument flags.
+       (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
+       return value flags.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
+       * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
+       main work to ...
+       (make_heapvar_for): ... this new function.
+       (handle_rhs_call): Handle fnspec attribute argument specifiers.
+       (handle_lhs_call): Likewise.
+       (find_func_aliases): Adjust.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44050
+       * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
+
+2010-05-10  Wei Guozhi  <carrot@google.com>
+
+       PR target/42879
+       * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
+
+2010-05-09  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/10676
+       * c-typeck.c (lookup_field): Take a type directly.  Update
+       recursive calls.
+       (build_component_ref): Update call to lookup_field.
+       (set_init_label): Use lookup_field to find initialized field.
+       Handle returned list of fields like a sequence of designators.
+
 2010-05-09  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/44024
 
        * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
        (run_gcc): Handle LTRANS phase invocation.
-       * collect2.c (maybe_run_lto_and_relink): Do not set
-       WPA_SAVE_LTRANS.
+       * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
 
 2010-05-07  Jakub Jelinek  <jakub@redhat.com>
 
        * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
        (MULTILIB_DIRNAMES): Removed 32.
        (MULTILIB_OSDIRNAMES): Removed ../lib.
-       * doc/install.texi (Prerequisites): Don't reference IRIX before
-       6.5.
+       * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
        (Specific, mips-sgi-irix5): Document removal.
-       (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI
-       removal.
+       (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
        Remove references to older IRIX 6 releases and the O32 ABI.
 
 2010-05-06  Jakub Jelinek  <jakub@redhat.com>
 
-       * gcc.dg/Wunused-var-8.c: Move to...
-       * c-c++-common/Wunused-var-6.c: ... here.  New test.
-
        PR bootstrap/43994
        * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
        instead of DF_REF_REAL_REG.
        (insert_into_preds_of_block): Don't handle inserted_phi_names.
        (eliminate): Don't look at inserted_phi_names, remove deleted
        insns from inserted_exprs.
-       (remove_dead_inserted_code): Adjust to use bitmaps instead of
-       vectors.
+       (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
        (init_pre, fini_pre): Allocate and free bitmaps.
        (execute_pre): Insert insns on edges before elimination.
 
        (enable_warning_as_error): Call handle_option.
        * opts.h (set_option): Update declaration.
        (handle_option): Declare.
-       * langhooks.h (struct lang_hooks): Add argument kind to
-       handle_option.
+       * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
        * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
        * c-opts.c (set_Wimplicit): Delete.
        (c_family_lang_mask): New static constant.
        (determine_invariantness_stmt): Handle PHI nodes.
        (move_computations_stmt): Likewise.  Hoist PHI nodes in
        if-converted form using COND_EXPRs.
-       (move_computations): Return TODO_cleanup_cfg if we hoisted PHI
-       nodes.
+       (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
        (tree_ssa_lim): Likewise.
        * tree-flow.h (tree_ssa_lim): Adjust prototype.
        * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
        (lto_output_ref): New.
        (add_references): New.
        (output_refs): New.
-       (output_cgraph): Compute boundary based on references;
-       output refs.
+       (output_cgraph): Compute boundary based on references; output refs.
        (output_varpool): Accept cgraph_node_set argument.
        (input_ref): New.
        (input_refs): New.
        * tree-vect-stmts.c (vectorizable_call): Assert that vector
        type is not NULL if it's transformation phase, and return
        FALSE if it's analysis.
-       (vectorizable_conversion, vectorizable_operation, 
-       vectorizable_type_demotion, vectorizable_type_promotion):
-       Likewise.
+       (vectorizable_conversion, vectorizable_operation,
+       vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
 
 2010-05-05  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
 
 
 2010-05-05  Steven Bosscher  <steven@gcc.gnu.org>
 
-       * stor-layout.c (pending_sizes): Change the type to
-       VEC(tree,gc) *.
+       * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
        (get_pending_sizes, put_pending_size, put_pending_sizes):
        Update the uses of pending_sizes.
        * c-decl.c (store_parm_decls): Likewise.
 2010-05-05  Jan Hubicka  <jh@suse.cz>
 
        * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
-       (lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode
-       lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size,
+       (lto_varpool_encoder_new, lto_varpool_encoder_delete,
+       lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
+       lto_varpool_encoder_deref, lto_varpool_encoder_size,
        lto_varpool_encoder_encode_initializer_p,
        lto_set_varpool_encoder_encode_initializer): New functions.
        (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
        * lto-section-out.c (lto_new_out_decl_state): Initialize
        state->varpool_node_encoder.
        * lto-streamer.h (lto_varpool_encoder_d): New.
-       (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.     
+       (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
        (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
        (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
        lto_varpool_encoder_encode, lto_varpool_encoder_delete,
 
 2010-05-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
 
-       * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to
-       dependencies.
+       * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
 
        * gengtype.h (erro_at_line): Constify pos argument.
 
 2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR target/43799
-       * config/i386/i386.md (sse_prologue_save): Add clobber CC
-       register.
+       * config/i386/i386.md (sse_prologue_save): Clobber CC register.
        (*sse_prologue_save_insn1): Likewise.
        (SSE prologue save splitter): Likewise.
 
 
 2010-05-04  Kaz Kojima  <kkojima@gcc.gnu.org>
 
-       * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove
-       static.
+       * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
 
 2010-05-04  Mikael Pettersson  <mikpe@it.uu.se>
 
        (free_all_ipa_structures_after_ipa_cp): Renamed to
        ipa_free_all_structures_after_ipa_cp.
        (free_all_ipa_structures_after_iinln): Renamed to
-       ipa_free_all_structures_after_iinln.g
+       ipa_free_all_structures_after_iinln.
        (ipa_write_param_call_note): Removed.
        (ipa_read_param_call_note): Removed.
        (ipa_write_indirect_edge_info): New function.
        * tree-ssa-structalias.c (struct variable_info): Add
        only_restrict_pointers flag.
        (new_var_info): Initialize it.  Increment stats.total_vars here.
-       (create_function_info_for): Do not increment stats.total_vars
-       here.
+       (create_function_info_for): Do not increment stats.total_vars here.
        (get_function_part_constraint): Fix build with C++.
        (insert_into_field_list): Remove.
        (push_fields_onto_fieldstack): Properly merge fields.