OSDN Git Service

PR 43574
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ab7854b..d85bc4b 100644 (file)
@@ -1,7 +1,295 @@
+2010-03-31  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43574
+       * opt-functions.awk (var_type_struct): Use signed char type
+       for simple variables.
+
+2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.c: Include output.h.
+       (solaris_assemble_visibility): New function.
+       * config/t-sol2 (sol2.o): Add output.h dependency.
+       * config/sol2-protos.h (solaris_assemble_visibility): Declare.
+       * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
+       Redefine.
+
+2010-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43580
+       * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
+       V2SImode or XFmode on PRE_DEC.
+
+       PR debug/43557
+       * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
+       BLKmode.
+
+2010-03-31  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43562
+       * reload.h (caller_save_initialized_p): Declare.
+       * toplev.c (backend_init_target): Don't call
+       init_caller_save but set caller_save_initialized_p
+       to false.
+       * caller-save.c (caller_save_initialized_p): Define.
+       (init_caller_save): Check caller_save_initialized_p.
+       * ira.c (ira): Call init_caller_save if flag_caller_saves.
+
+2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/39048
+       * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
+       and soft-fp/t-softfp to tmake_file.
+       * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
+       (LIBGCC2_TF_CEXT): Define.
+       (TF_SIZE): Define.
+
+2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42977
+       * cselib.c (n_useless_values): Document handling of debug locs.
+       (n_useless_debug_values, n_debug_values): New variables.
+       (new_elt_loc_list): Don't add to debug values, keep count.
+       (promote_debug_loc): New.
+       (cselib_reset_table): Zero new variables.
+       (entry_and_rtx_equal_p): Promote debug locs.
+       (discard_useless_locs): Increment n_useless_debug_values for
+       debug values.
+       (remove_useless_values): Adjust n_useless_values and n_debug_values
+       with n_useless_debug_values.
+       (add_mem_for_addr): Promote debug locs.
+       (cselib_lookup_mem): Likewise.
+       (cselib_lookup_addr): Renamed to...
+       (cselib_lookup_addr_1): ... this.  Promote debug locs.
+       Don't call...
+       (cselib_log_lookup): ... this.  Turn into...
+       (cselib_lookup_addr): ... new wrapper.
+       (cselib_lookup_from_insn): New.
+       (cselib_invalidate_regno): Increment n_useless_debug_values for
+       debug values.
+       (cselib_invalidate_mem): Likewise.
+       (cselib_process_insn): Take n_deleted and n_debug_values into
+       account to guard remove_useless_value call.
+       (cselib_finish): Zero n_useless_debug_values.
+       * cselib.h (cselib_lookup_from_insn): Declare.
+       * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
+       (sched_analyze_2): Likewise.
+
+2010-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
+       functions.
+       (adjust_mems): Replace narrowing SUBREG of expression containing
+       just PLUS, MINUS, MULT and ASHIFT of registers and constants
+       with operations in the narrower mode.
+
+       PR debug/43593
+       * var-tracking.c (dataflow_set_clear_at_call): Invalidate
+       just regs_invalidated_by_call instead all call_used_reg_set
+       registers.
+
+2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43430
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
+       pointer comparisons with types_compatible_p.
+       * tree-vect-stmts.c (vectorizable_call): Same.
+       (vectorizable_condition): Same.
+
+2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
+       stack check if the mask would be zero.
+
+2010-03-30  Seongbae Park <seongbae.park@gmail.com>
+           Jack Howarth <howarth@bromo.med.uc.edu>
+
+       * tree-profile.c (tree_init_ic_make_global_vars): Make static
+       variables TLS.
+
+2010-03-30  Joseph Myers  <joseph@codesourcery.com>
+
+       PR other/25232
+       * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
+       and __unordtf2.
+       * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
+       Include ___unordxf2 and ___unordtf2.
+       * config/i386/libgcc-glibc.ver: Do not define inheritance from
+       GCC_4.4.0 here.
+
+2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
+
+       * config/lm32/t-lm32: New file.
+       * config.gcc: Use the above file when targetting lm32.
+
+2010-03-28  Duncan Sands  <baldrick@free.fr>
+
+       * Makefile.in (PLUGIN_HEADERS): Add except.h.
+
+2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43431
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters):
+       Improve vectorization cost model diagnostic.
+
+2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43436
+       * tree-vect-data-refs.c (vect_analyze_data_refs): When
+       compute_data_dependences_for_loop returns false, early exit
+       and output an extra diagnostic for the failed data reference
+       analysis.
+
+2010-03-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43560
+       * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p
+       parameter.
+       (can_sm_ref_p): Treat stores to readonly locations as
+       trapping.
+
+2010-03-29  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43564
+       * toplev.c (process_options): Set optimization_default_node
+       and optimization_current_node.
+       * opts.c (decode_options): Don't set optimization_default_node
+       and optimization_current_node.
+
+2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       * config/rtems.h: Abandon -qrtems_debug.
+
+2010-03-28  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/43505
+       * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
+       map should not be copied.
+
+2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/41674
+       * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
+       cdtors, set DECL_PRESERVE_P.
+       * ipa.c (cgraph_externally_visible_p): Return true if declaration
+       should be preseved.
+
+2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/43528
+       * stor-layout.c (place_field): Check that constant fits into
+       unsigned HWI when skipping calculation of MS bitfield layout.
+
+2010-03-27  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/43391
+       * varasm.c (make_decl_rtl): Deal with COMMON flag to make
+       notice_global_symbol work.
+
+2010-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
+       instead of dwarf2out_decl.
+       (struct var_loc_node): Remove section_label field.
+       (dwarf2out_function_decl): New function.
+       (dwarf2out_var_location): Don't set section_label field.
+       (dwarf2out_begin_function): Don't empty decl_loc_table here.
+
+2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR tree-optimization/43544
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
+       First argument for builtin vectorized function hook is now a
+       tree to be able to distinguish between machine specific and
+       standard builtins.
+       * targhooks.c (default_builtin_vectorized_function): Ditto.
+       * targhooks.h (default_builtin_vectorized_function): Ditto.
+       * target.h (struct gcc_target): Ditto.
+       * tree-vect-stmts.c (vectorizable_function): Ditto.
+       * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
+       Ditto.
+
+2010-03-26  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/43381
+       * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
+       nested binding iff it is a FUNCTION_DECL.
+       (store_parm_decls_newstyle): Pass nested=true to bind for
+       FUNCTION_DECLs amongst parameters.
+
+2010-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (vt_expand_loc_callback): Don't run
+       cselib_expand_value_rtx_cb in dummy mode if
+       cselib_dummy_expand_value_rtx_cb returned false.
+
+       * var-tracking.c (emit_note_insn_var_location): For one part
+       notes with offset 0, don't add EXPR_LIST around the location.
+       * dwarf2out.c (loc_descriptor, dw_loc_list_1,
+       add_location_or_const_value_attribute): Adjust for that change.
+
+       PR debug/43540
+       * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
+       into first operand and location into second.
+       (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
+       dw_cfi_oprnd_loc for DW_CFA_expression.
+       (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
+       (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
+       assume first argument is regnum and second argument is location.
+
+2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42113
+       * config/alpha/alpha.md (*cmp_sadd_si): Change mode
+       of scratch register to DImode.  Split to DImode comparison operator.
+       Use SImode subreg of scratch register in the multiplication.
+       (*cmp_sadd_sidi): Ditto.
+       (*cmp_ssub_si): Ditto.
+       (*cmp_ssub_sidi): Ditto.
+
+2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43524
+       * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
+       Remove invalid assert and wrong comment.
+
+2010-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43516
+       * flags.h (final_insns_dump_p): New extern.
+       * final.c (final_insns_dump_p): New variable.
+       (rest_of_clean_state): Set it before -fdump-final-insns=
+       dumping, clear afterwards.
+       * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
+       MEM_ALIAS_SET on MEMs.
+
+2010-03-26  David S. Miller  <davem@davemloft.net>
+
+       * configure.ac: Fix sparc GOTDATA_OP bug check.
+       * configure: Rebuild.
+
+2010-03-26  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
+
+2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
+       TLS_SECTION_ASM_FLAG.
+
+2010-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43511
+       * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
+       Clear first_function_block_is_cold.
+
+       PR c/43385
+       * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
+       argument if the argument is truth_value_p.
+
 2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
-       * config/rs6000/constraints.md: Update copyright year for my
-       changes.
+       * config/rs6000/constraints.md: Update copyright year for my changes.
 
        PR target/43484
        * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
        (output_addr_const_extra): Likewise.
        (output_pic_addr_const): Lowercase @TPOFF.
        (output_addr_const_extra): Likewise.
-       * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase
-       @TLSGD.
+       * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
        (*tls_global_dynamic_64): Likewise.
        (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
        (*tls_local_dynamic_base_64): Lowercase @TLSLD.
        * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
 
        PR target/38118
-       * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to
-       tm_file.
+       * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
        * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
        * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
        * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
 
        PR target/43348
        * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
-       call_value_gp,sibcall_gp): Use 's' constraint not 'i'.
+       call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
 
 2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * config/i386/i386.c (ix86_target_string): Fix a typo in comments.
-       Add -mfma.
+       * config/i386/i386.c (ix86_target_string): Add -mfma.
+       Fix a typo in comment.
 
 2010-03-22  Mike Stump  <mikestump@comcast.net>
 
 
        * doc/configfiles.texi (Configuration Files): Removed
        fixinc/Makefile*, intl/Makefile.*.
-       * doc/makefile.texi: Fixed markup.
-       Abstract from version control system used.
+       * doc/makefile.texi: Fixed markup. Abstract from version
+       control system used.
        (Makefile): Removed obsolete gcc/java/parse.y example.
        * doc/sourcebuild.texi: Likewise.
        (Top Level): Added config, gnattools, libdecnumber, libgcc,
-       libgomp, libssp.
-       Removed fastjar.
+       libgomp, libssp.  Removed fastjar.
        (Miscellaneous Docs): Clarify location.
        Added COPYING3, COPYING3.LIB.
-       (Front End Directory): Moved Make-lang.in entry to new
-       subsubsection.
+       (Front End Directory): Moved Make-lang.in entry to new subsubsection.
 
 2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
 2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
 
        PR c/43211
-       * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was an
-       error.
+       * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
+       an error.
 
 2010-03-19  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
 
 
        PR bootstrap/43403
        * var-tracking.c (vt_init_cfa_base): Do nothing if
-       cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed
-       register.
+       cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
 
 2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
 
        * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
        * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
        all non-clones.  Moved call redirection...
-       (cgraph_redirect_edge_call_stmt_to_callee): ...to this new
-       function.
+       (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
        (cgraph_materialize_all_clones): Dispose of all
        combined_args_to_skip bitmaps.
        (verify_cgraph_node): Do not check for edges pointing to wrong
        appending a use to an empty chain.
        (build_def_use): Remove previous changes that convert OP_INOUT to
        OP_OUT operands; instead detect the case where an OP_INOUT operand
-       uses a previously untracked register and create an empty chain for
-       it.
+       uses a previously untracked register and create an empty chain for it.
 
 2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 2010-03-16  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/43379
-       * tree-cfg.c (gimple_merge_blocks): When propagating virtual
-       PHI operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI
-       properly.
+       * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
+       operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
 
 2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
            Alexandre Oliva  <aoliva@redhat.com>
        cfa_base_preserved_val): New static variables.
        (preserve_only_constants): New function.
        (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
-       clear its REG_VALUES.  If cselib_preserve_constants, don't 
+       clear its REG_VALUES.  If cselib_preserve_constants, don't
        empty the whole hash table, but preserve there VALUEs with constants,
        cfa_base_preserved_val and cfa_base_preserved_val plus constant.
        (cselib_preserve_cfa_base_value): New function.