OSDN Git Service

2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 070fa17..6cbcf61 100644 (file)
@@ -1,7 +1,276 @@
+2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
+
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
+       as well as -mrelocatable at the same time.
+
+2010-11-17  Quentin Neill  <quentin.neill.gnu@gmail.com>
+
+       PR target/46422
+       * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
+       Call the clz builtin.
+
+2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
+           Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/31490
+       * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
+       if section attribute used.
+
+2010-11-17  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
+       expand errno setting variant when optimizing for size.
+
+2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * postreload.c (reload_combine): Call control_flow_insn_p only once.
+       Reverse backward loop.  Fix formatting issues.
+
+2010-11-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * c-parser.c (c_token_is_qualifier,
+       c_parser_next_token_is_qualifier): New.
+       (c_parser_declaration_or_fndef, c_parser_struct_declaration):
+       Improve error message on specs->tagdef_seen_p.
+       (c_parser_struct_or_union_specifier): Improve error recovery.
+       (c_parser_declspecs): Move exit condition on C_ID_ID early.
+       Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
+       using c_parser_next_token_is_qualifier; extend it to cover
+       a ctsk_tagdef typespec and !typespec_ok in general.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
+       (gimple_mod_pow2_value_transform): Likewise.
+       (gimple_mod_subtract_transform): Likewise.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46504
+       * gimple.c (gimple_register_canonical_type): Make sure to only
+       make type leaders canonical types.
+
+2010-11-17  Michael Matz  <matz@suse.de>
+
+       * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
+       TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
+       TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
+       TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
+       * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
+       (pass_build_ssa): ... but here.
+       * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
+       * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
+       * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
+       * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
+       * predict.c (rebuild_frequencies): Ditto.
+       * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
+       * emit-rtl.c (verify_rtl_sharing): Ditto.
+       * tree-cfgcleanup.c (repair_loop_structures): Ditto.
+       * tree-ssa-live.c (remove_unused_locals): Ditto.
+       * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
+       * tree-ssa.c (pass_early_warn_uninitialized,
+       execute_update_addresses_taken, pass_update_address_taken): Ditto.
+       * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
+       pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
+       * passes.c (pass_postreload, execute_todo): Ditto.
+       * tree-ssanames.c (pass_release_ssa_names): Ditto.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/invoke.texi (-dy): Remove.
+       * langhooks-def.h (lhd_do_nothing_i): Don't declare.
+       (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
+       * langhooks.c (lhd_do_nothing_i): Remove.
+       * langhooks.h (lang_hooks.parse_file): Take no arguments.
+       * toplev.c (set_yydebug): Remove.
+       (compile_file): Update call to lang_hooks.parse_file.
+       (decode_d_option): Don't handle -dy.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/46440
+       * combine.c (update_cfg_for_uncondjump): When changing
+       an indirect jump into unconditional jump, remove BARRIERs
+       from bb's footer.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts.c (target_handle_option): Do not assert that loc ==
+       UNKNOWN_LOCATION.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45838
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Return true for __sync_* and some
+       OpenMP builtins that act as threading barriers.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46498
+       * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
+       (xtensa_function_arg_boundary): ...this.
+       * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
+       thinko in declaration.
+       (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
+       number of parameters to picochip_function_arg_boundary.
+       (picochip_arg_advance): Likewise.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR target/46512
+       * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
+       under check for type.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ifcvt.c (dead_or_predicable): Fix typo.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
+       * config/s390/s390.opt (mfused-madd): Remove.
+       * config/s390/s390.c (s390_rtx_costs): Handle FMA.
+       (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
+       * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
+       (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
+       * config/rs6000/rs6000.opt (mfused-madd): Remove.
+       * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
+       (*altivec_vmaddfp_1): Remove.
+       (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
+       (altivec_mulv4sf3): Expand to FMA directly.
+       (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
+       (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
+       * config/rs6000/paired.md (paired_madds0): Use FMA.
+       (paired_madds1): Likewise.
+       (*paired_madd): Rename from paired_madd; use FMA.
+       (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
+       * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
+       consider TARGET_FUSED_MADD wrt rs6000_recip_control.
+       (bdesc_3arg): Update CODE_FOR_* for pattern renames.
+       (rs6000_emit_madd): Use fma_optab.
+       (rs6000_emit_msub): Use fms_optab.
+       (rs6000_emit_nmsub): Expand the FMA pattern directly.
+       * config/rs6000/rs6000.md (FMA_F): New mode iterator.
+       (*fmasf4_fpr): Rename from fmasf4_fpr.
+       (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
+       (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
+       (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
+       (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
+       (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
+       (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
+       (*fmadf4_fpr): Rename from fmadf4_fpr.
+       (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
+       (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
+       (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
+       (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
+       (fmasf4, fmadf4): Macroize into...
+       (fma<FMA_F>4): ... here.
+       (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
+       (nfma<FMA_F>4, nfms<FMA_F>4): New.
+       * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
+       TARGET_FUSED_MADD.
+       * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
+       (*vsx_fmadd<mode>4_1): Remove.
+       (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
+       (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
+       (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
+       (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
+       (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
+       (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
+       (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
+       (fmasf4, fnmadf4, fnmasf4): Likewise.
+       (unnamed plus+mult insns and splitters): Delete.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
+       (fnma<VSF>4): Rename from fnms_<VSF>.
+       (fms<VSF>4): Rename from fms_<VSF>.
+       (fma<VDF>4): Rename from fma_<VDF>.
+       (fms<VDF>4): Rename from fms_<VDF>.
+       (nfma<VDF>4): Rename from fnma_<VDF>.
+       (nfms<VDF>4): Rename from fnms_<VDF>.
+       (fnma<VDF>4, fnms<VDF>4): New expanders.
+       (floatunsdisf2): Update for the renames.
+       (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
+       * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/46490
+       * combine.c (expand_compound_operation): Fix thinko.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       PR target/46470
+       * recog.c (peep2_attempt): Convert frame-related info when possible.
+       (peep2_fill_buffer): Allow frame-related insns into the buffer.
+       (peephole2_optimize): Allow peep2_attempt to fail.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/46315
+       * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
+       * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
+       extracted from...
+       * dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
+       (remove_reg_equal_equiv_notes_for_defs): ...this.
+       (delete_unmarked_insns): Adjust to above renaming.
+       * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
+       referring to registers set in the insns being moved, if any.
+
+       * df-core.c (df_ref_dump): New function extracted from...
+       (df_refs_chain_dump): ...here.  Call it.
+       (df_regs_chain_dump): Likewise.
+       * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
+       * df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
+
+2010-11-16  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR rtl-optimization/46395
+       * postreload.c (reload_combine): Invalidate register use
+       information on all control flow insns.
+
+       * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
+       LABEL_REF in UNSPEC operand.
+
+2010-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
+       when !flag_toplevel_reorder do not remove unless variable is
+       COMDAT or ARTIFICIAL.
+       * ipa.c (varpool_can_remove_if_no_refs): ... here.
+       (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
+       * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
+       * varpool.c (decide_is_variable_needed): Do not handle visibility
+       issues.
+       (varpool_finalize_decl): Likewise.
+       (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
+       update outdated comment on DECL_RTL_SET_P check.
+
+2010-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.h (NM_FLAGS): Define.
+       * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
+       * doc/tm.texi: Update.
+
 2010-11-16  Nick Clifton  <nickc@redhat.com>
 
-       * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma
-       rtx_code.
+       * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
        (msubsf4): Rename to fmssf4, and use fma.
        (nmaddsf4): Rename to fnmasf4 and use fma.
        (nmsubsf4): Rename to fnmssf4 and use fma.
        Remove unused variable.
        (score_store_multiple_operation): Likewise.
        * config/score/score7.c (score7_return_in_memory): Constify arguments.
-        (score7_in_small_data_p, score7_function_value): Likewise.
+       (score7_in_small_data_p, score7_function_value): Likewise.
        (score7_trampoline_init): Use LCT_NORMAL.
        (score7_print_operand): Initialize code as UNKNOWN.
        * config/score/score3.h (score3_return_in_memory): Update prototype.
        * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
        Allow (W) == HOST_BITS_PER_WIDE_INT.
 
+       PR java/46386
+       * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
+       * config/t-pnt16-warn (java/constants.o-warn): Likewise.
+
 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
 
        * config/arc/arc.c: Delete pasto.
 
 2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
-       * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New
-       macros.
+       * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
        (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
        (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
        (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
 
 2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
 
-       * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update
-       dependencies.
+       * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
        (sreal.o, statistics.o, stringpool.o): Likewise.
 
 2010-11-16  Richard Guenther  <rguenther@suse.de>
 2010-11-16  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/45172
-       * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate
-       edges.
+       * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
 
 2010-11-16  Nick Clifton  <nickc@redhat.com>
 
 2010-11-15  Richard Henderson  <rth@redhat.com>
 
        * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
-       WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR,
+       WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
        DOT_PROD_EXPR.
 
 2010-11-15  Richard Henderson  <rth@redhat.com>
        (argbuf_length, argbuf_index): Remove.
        (alloc_args, clear_args, store_arg, execute, insert_wrapper,
        do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
-       compare_debug_dump_opt_spec_function: Use VEC interfaces on
-       argbuf.
+       compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
        * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
        (gcc.o): Depend on $(VEC_H).
 
        (dwarf2out_init): Do not emit debug section switches here, allocate a
        vec for macinfo, when required.
        (dwarf2out_finish): First switch to debug_abbrev_section here.
-       debug_line_section,  debug_macinfo_section, Likewise.  
+       debug_line_section,  debug_macinfo_section, Likewise.
        Check that the pubtypes table has at least one unpruned entry before
        trying to emit it.
 
        * config/avr/avr.c (avr_num_arg_regs): Constify type.
        (avr_return_addr_rtx): De-constify tem.
        (avr_rotate_bytes): Move declarations to start of block.
-       Don't use variable length array.
-       Put nested if/else into block.
+       Don't use variable length array.  Put nested if/else into block.
 
        PR rtl-optimization/46433
        * var-tracking.c: Include tm_p.h .
        (trapping_loads_p): Remove unused variable pat.
        (bfin_expand_binop_builtin): Use expand_normal.
        (bfin_expand_unop_builtin): Likewise.
-       (bfin_expand_builtin): Likewise.
-       Set tmode before use.
+       (bfin_expand_builtin): Likewise.  Set tmode before use.
 
        PR middle-end/44769
        * final.c (split_double): Don't use BITS_PER_WORD directly in
 
 2010-11-11  Richard Henderson  <rth@redhat.com>
 
-        * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
+       * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
 
 2010-11-11  Richard Henderson  <rth@redhat.com>
 
 
        PR tree-optimize/40436
        * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
-       (eliminated_by_inlining_prob): ... this one; return 50% probability for
-       SRA.
-       (estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
-       estimate static function size for 2 instructions.
+       (eliminated_by_inlining_prob): ... this one; return 50% probability
+       for SRA.
+       (estimate_function_body_sizes): Update use of
+       eliminated_by_inlining_prob; estimate static function size
+       for 2 instructions.
 
 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
 
        * opts.c (finish_options, common_handle_option): Start diagnostics
        with lowercase letters and remove trailing '.'.  Fix typo in
        diagnostic.
-       * passes.c (position_pass): Start diagnostic with lowercase
-       letter. 
+       * passes.c (position_pass): Start diagnostic with lowercase letter.
        * plugin.c (add_new_plugin, parse_plugin_arg_opt,
        register_callback, try_init_one_plugin): Start diagnostics with
        lowercase letters.