OSDN Git Service

Don't set enable_decimal_float to dpd if DFP is disabled.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d313703..4ae3418 100644 (file)
@@ -1,3 +1,367 @@
+2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/45524
+       * configure.ac (enable_decimal_float): Set to
+       $default_decimal_float.
+       * configure: Regenerated.
+
+2010-09-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * combine.c (try_combine): Set subst_low_luid to i0.
+
+2010-09-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree.def (MISALIGNED_INDIRECT_REF): Remove.
+       * tree.h (INDIRECT_REF_P): Only check for INDIRECT_REF.
+       (build_aligned_type): Declare.
+       * tree.c (check_qualified_type): Also compare TYPE_ALIGN.
+       (check_aligned_type): New function.
+       (build_aligned_type): Likewise.
+       * expr.c (expand_assignment): Handle misaligned stores via
+       TARGET_MEM_REF and MEM_REF using movmisalign_optab.
+       (expand_expr_real_1): Likewise.
+       (safe_from_p): Remove MISALIGNED_INDIRECT_REF handling.
+       * tree-vect-stmts.c (vectorizable_store): Do not build
+       MISALIGNED_INDIRECT_REF but initialize alignment information.
+       (vectorizable_load): Likewise.
+       * builtins.c (get_object_alignment): Remove MISALIGNED_INDIRECT_REF
+       handling.
+       * cfgexpand.c (expand_debug_expr): Likewise.
+       * dwarf2out.c (loc_list_from_tree): Likewise.
+       * fold-const.c (maybe_lvalue_p): Likewise.
+       (operand_equal_p): Likewise.
+       (build_fold_addr_expr_with_type_loc): Likewise.
+       * gimplify.c (gimplify_addr_expr): Likewise.
+       (gimplify_expr): Likewise.
+       * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise.
+       (verify_gimple_assign_single): Likewise.
+       * tree-dump.c (dequeue_and_dump): Likewise.
+       (tree_could_trap_p): Likewise.
+       * tree-predcom.c (ref_at_iteration): Likewise.
+       * tree-pretty-print.c (dump_generic_node): Likewise.
+       (op_code_prio): Likewise.
+       (op_symbol_code): Likewise.
+       * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
+       * tree-ssa-loop-im.c (for_each_index): Likewise.
+       (gen_lsm_tmp_name): Likewise.
+       * tree-ssa-loop-ivopts.c (idx_find_step): Likewise.
+       (find_interesting_uses_address): Likewise.
+       * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
+       * tree-ssa-operands.c (get_expr_operands): Likewise.
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+       (ao_ref_init_from_vn_reference): Likewise.
+       * tree.c (staticp): Likewise.
+       (build1_stat): Likewise.
+       (reference_alias_ptr_type): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * config/rs6000/rs6000.c (rs6000_check_sdmode): Remove
+       MISALIGNED_INDIRECT_REF handling.
+
+2010-09-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45534
+       * tree-ssa-address.c (create_mem_ref_raw): Add verify parameter.
+       (create_mem_ref): Do verify the created TARGET_MEM_REF is valid
+       on the target.
+       (maybe_fold_tmr): Do not verify the created TARGET_MEM_REF is
+       valid on the target.
+
+2010-09-06  Andreas Schwab  <schwab@redhat.com>
+
+       * configure.ac: Quote argument of AC_MSG_WARN.
+       * configure: Regenerate.
+
+2010-09-06  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c (move_cond_jump): Correct arguments to
+       maybe_tidy_empty_bb.
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
+
+2010-09-06  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/44919
+       * sel-sched.c (move_cond_jump): Remove assert, check that
+       the several blocks case can only happen with mutually exclusive
+       insns instead.  Rewrite the movement code to support moving through
+       several basic blocks.
+
+2010-09-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (iptrsize): New mode attribute.
+       (tp_seg): Ditto.
+       (*load_tp_<mode>): Macroize insn from *load_tp_{si,di} using P
+       mode iterator.
+       (*add_tp_<mode>): Ditto from *add_tp_{si,di}.
+       (stack_protect_set_<mode>): Ditto from stack_protect_set_{si,di}.
+       (stack_protect_test_<mode>): Ditto from stack_protect_test_{si,di}.
+       (stack_tls_protect_set_<mode>): Ditto from
+       stack_tls_protect_set_{si,di}.  Use %@ to output segment register
+       of thread base pointer load.
+       (stack_tls_protect_test_<mode>): Ditto from
+       stack_tls_protect_test_{si,di}.  Use %@ to output segment register
+       of thread base pointer load.
+       (stack_protect_set): Rewrite using indirect functions.
+       (stack_protect_test): Ditto.
+       * config/i386/i386.c (ix86_print_operand_punct_valid): Add '@'.
+       (ix86_print_operand): Handle '@'.
+
+2010-09-05  Giuseppe Scrivano  <gscrivano@gnu.org>
+
+       * tree-tailcall.c (process_assignment): Handle NEGATE_EXPR and
+       MINUS_EXPR.
+
+2010-09-05  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/invoke.texi: Document -Wdouble-promotion.
+       * c-typeck.c (convert_arguments): Check for implicit conversions
+       from float to double.
+       (do_warn_double_promotion): New function.
+       (build_conditional_expr): Use it.
+       (build_binary_op): Likewise.
+
+2010-09-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45535
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Properly
+       handle TMR_INDEX2.  Make sure TMR_INDEX is not NULL before
+       dereferencing it.
+       (indirect_refs_may_alias_p): Likewise.
+
+2010-09-05  Naveen H.S  <naveen.S@kpitcummins.com>
+
+       * config/sh/sh.c (sh_option_override): Make static.
+       Adjust comments.  Declare.
+       (sh_function_value_regno_p): Likewise.
+       (sh_register_move_cost): Modify the arguments, make static.
+       Adjust comments.  Declare.
+       (TARGET_OPTION_OVERRIDE, TARGET_REGISTER_MOVE_COST
+       TARGET_FUNCTION_VALUE_REGNO_P): Define.
+       * config/sh/sh.h (OVERRIDE_OPTIONS, FUNCTION_VALUE_REGNO_P
+       REGISTER_MOVE_COST): Delete.
+       * config/sh/sh-protos.h (sh_override_options): Delete.
+       (sh_register_move_cost): Delete.
+       (sh_function_value_regno_p): Delete.
+
+2010-09-04  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m32r/m32r.c (m32r_function_value, m32r_libcall_value,
+       m32r_function_value_regno_p): New functions.
+       (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+       TARGET_FUNCTION_VALUE_REGNO_P): Declare.
+       * config/m32r/m32r.h: (FUNCTION_VALUE, LIBCALL_VALUE,
+       FUNCTION_VALUE_REGNO_P): Remove.
+
+2010-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * gimple-fold.c (maybe_fold_reference): Use fold_const_aggregate_ref.
+       * tree-ssa-ccp.c (fold_const_aggregate_ref): Use
+       fold_read_from_constant_string.
+
+       * gimple.h (canonicalize_constructor_val): Declare.
+       * gimple-fold.c (canonicalize_constructor_val): New function.
+       (get_symbol_constant_value):Use it.
+       * tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
+
+2010-09-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-switch-conversion.c (build_one_array): Set constructor to be
+       static.
+       * varpool.c (varpool_finalize_decl): Compute const_value_known.
+
+2010-09-04  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/45519
+       * tree-flow.h (force_gimple_operand_1): Declare.
+       (force_gimple_operand_gsi_1): Likewise.
+       * gimplify.c (force_gimple_operand_1): New worker taking a
+       gimple predicate for ...
+       (force_gimple_operand): ... which now wraps it.
+       (force_gimple_operand_gsi_1, force_gimple_operand_gsi): Likewise.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Revert
+       last change.
+       * tree-ssa-address.c (gimplify_mem_ref_parts): Use
+       force_gimple_operand_gsi_1 with is_gimple_mem_ref_addr.
+       (create_mem_ref): Likewise.
+
+2010-09-04  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (sse_reg_operand): New predicate.
+       * config/i386/i386.md (TFmode push splitter): Use sse_reg_operand
+       predicate for operand 1.
+       (XFmode push splitter): Use fp_register_operand predicate
+       for operand 1.
+       (*dummy_extendsfdf2, *dummy_extendsfxf2): Remove disabled patterns.
+       (SF-DF float_extend push splitter): Add reload_completed insn
+       predicate.
+       ({SF,DF}-XF float_extend_push splitter): Macroize splitter using
+       MODEF mode macro.  Add reload_completed insn predicate.
+
+2010-09-04  Paolo Bonzini  <bonzini@gnu.org>
+
+       * df.h (enum df_ref_class): Remove DF_REF_EXTRACT.
+       (struct df_extract_ref): Remove.
+       (union df_ref_d): Remove extract_ref member.
+       (df_ref_create): Remove last three arguments.
+       (DF_REF_LOC): Remove DF_REF_EXTRACT case.
+       * df-scan.c (df_ref_record): Remove last three arguments, do not
+       pass them to df_ref_create_structure.
+       (df_uses_record): Remove first and last three arguments.  Replace
+       first argument with DF_REF_REGULAR, adjust calls to remove the
+       width, offset and mode.  Always call recursively on the second
+       and third argument of ZERO_EXTRACT and SIGN_EXTRACT.
+       (df_ref_create_structure): Remove first argument.
+       (struct df_scan_problem_data): Remove ref_extract_pool.
+       (df_scan_free_internal): Do not free it.
+       (df_scan_alloc): Do not allocate it.
+       (df_ref_create): Remove last three arguments, do not pass them to
+       df_ref_create_structure.
+       (df_free_ref): Remove DF_REF_EXTRACT case.
+       (df_notes_rescan): Adjust call to df_uses_record.
+       (df_ref_equal_p, df_ref_compare, df_ref_create_structure):
+       Remove DF_REF_EXTRACT case.
+       (df_def_record_1): Do not special case class for a ZERO_EXTRACT lhs.
+       Adjust calls to df_ref_record, using DF_REF_REGULAR for all REG
+       and SUBREG definitions.
+       (df_get_conditional_uses): Remove references to width/offset/mode,
+       adjust call to df_ref_create_structure.
+       (df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
+       df_entry_block_defs_collect, df_exit_block_uses_collect): Adjust
+       calls to df_uses_record and df_ref_record.
+       * fwprop.c (update_df): Remove references to width/offset/mode,
+       adjust call to df_ref_create.
+
+2010-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (build_cdtor): Take VECtor as argument; fix array walk.
+       (build_cdtor_fns): Update use of build_cdtor.
+
+2010-09-03  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/options.texi (SeparateAlias): Document.
+       * opt-functions.awk (switch_flags): Handle SeparateAlias.
+       * opth-gen.awk: Generate enumeration names for options marked
+       SeparateAlias, but not for those marked Ignore.
+       * opts-common.c (generate_canonical_option): Don't output separate
+       argument for options marked CL_SEPARATE_ALIAS.
+       (decode_cmdline_option): Handle CL_SEPARATE_ALIAS.
+       * opts.h (CL_SEPARATE_ALIAS): New.
+       (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER, CL_TARGET,
+       CL_COMMON): Adjust definitions.
+       * config/i386/darwin.opt, config/mips/sde.opt: New.
+       * common.opt (fdump-final-insns): New.
+       * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+       i386/darwin.opt.
+       (mips*-sde-elf*): Add mips/sde.opt.
+       * config/mips/sde.h (DRIVER_SELF_SPECS): Don't handle
+       -mno-data-in-code and -mcode-xonly here.
+       * defaults.h (DEFAULT_SWITCH_TAKES_ARG): Add 'd'.
+       * gcc.c (option_map): Add "j" to --dump entry.
+       (translate_options): Don't translate -d to -foutput-class-dir= here.
+
+2010-09-03  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-data-ref.c (dr_may_alias_p): Replace !DR_IS_READ with
+       DR_IS_WRITE.
+       (compute_all_dependences): Same.
+       (create_rdg_edge_for_ddr): Same.
+       * tree-data-ref.h (DR_IS_WRITE): New.
+       (ddr_is_anti_dependent): Replace !DR_IS_READ with DR_IS_WRITE.
+       * tree-if-conv.c (write_memrefs_written_at_least_once): Same.
+       (write_memrefs_written_at_least_once): Same.
+       * tree-predcom.c (suitable_component_p): Same.
+       (determine_roots_comp): Same.
+       (execute_load_motion): Same.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Same.
+       (vect_enhance_data_refs_alignment): Same.
+       (vect_analyze_group_access): Same.
+
+2010-09-03  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       PR testsuite/42843
+       * Makefile.in (PLUGINCC): Define in terms of @CC@ / @CXX@
+       (PLUGINCFLAGS): Define in terms of @CFLAGS@ / @CXXFLAGS@
+
+2010-09-03  Marcin Baczynski  <marbacz@gmail.com>
+
+       * dwarf2out.c (file scope): Remove #if0'd code.
+       (gen_subprogram_die): Same.
+
+2010-09-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/45484
+       * dwarf2out.c (flush_queued_reg_saves): Rename to...
+       (dwarf2out_flush_queued_reg_saves): ... this.  No longer static.
+       (dwarf2out_frame_debug_expr, dwarf2out_frame_debug): Adjust callers.
+       * dwarf2out.h (dwarf2out_flush_queued_reg_saves): New prototype.
+       * config/i386/i386.c (output_set_got): Call it.
+
+2010-09-03  Michael Matz  <matz@suse.de>
+
+       PR middle-end/45415
+       * tree-sra.c (sra_modify_assign): If we modify the statement,
+       say so.
+
+       * tree-ssa.c (verify_ssa): Check number of operands and links
+       per statement to agree.
+
+2010-09-03  Uros Bizjak  <ubizjak@gmail.com>
+           Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR target/45476
+       * config/i386/t-darwin (LIB2FUNCS_EXCLUDE): New.
+       * config/i386/darwin.h (LIBGCC2_HAS_TF_MODE,
+       LIBGCC2_TF_CEXT, TF_SIZE): New defines.
+
+2010-09-03  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-out.c (output_function): Output function
+       start and end loci.
+       * lto-streamer-in.c (input_function): Input function start
+       and end loci.
+
+2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
+       * Makefile.in: Add aclocal.m4 dependency to dfp.m4.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+
+2010-09-03  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/44812
+       * lto-cgraph.c (intput_node, input_varpool_node): Set DECL_EXTERNAL
+       on functions/variables in other partition.
+
+2010-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct varpool_node): Add const_value_known.
+       (varpool_decide_const_value_known): Declare.
+       * tree-ssa-ccp.c (fold_const_aggregate_ref): Update initializer folding.
+       * lto-cgraph.c (lto_output_varpool_node): Store const_value_known.
+       (input_varpool_node): Restore const_value_known.
+       * tree-ssa-loop-ivcanon (constant_after_peeling): Check varpool for
+       initializer folding.
+       * ipa.c (ipa_discover_readonly_nonaddressable_var,
+       function_and_variable_visibility): Compute const_value_known.
+       * gimple-fold.c (get_symbol_constant_value): Use varpool for
+       initializer folding.
+       * varpool.c (varpool_decide_const_value_known): New function.
+
+2010-09-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Remove empty preparation statements
+       from splitters.
+
+2010-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (rest_of_decl_compilation): Do not add local vars into
+       varpool.
+       * varpool.c (varpool_get_node, varpool_node): Sanity check that only
+       static or extern vars are in varpool.
+       (varpool_finalize_decl): Sanity check that only static vars are
+       finalized.
+
 2010-09-03  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/45500
        (get_addr_base_and_unit_offset): Likewise.
        * tree-eh.c (tree_could_trap_p): Likewise.
        * tree-pretty-print.c (dump_generic_node): Likewise.
-       * tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle
-       TMR_INDEX2.
+       * tree-ssa-address.c (tree_mem_ref_addr): Simplify.  Handle TMR_INDEX2.
        (create_mem_ref_raw): Merge symbol and base.  Move 2ndary
        base to index2.
        (get_address_description): Reconstruct addres description
        * targhooks.c (default_class_likely_spilled_p): New function.
        * targhooks.h (default_class_likely_spilled_p): Declare.
        * regs.h (CLASS_LIKELY_SPILLED_P): Remove.
-       * combine.c: (cant_combine_insn_p, likely_spilled_retval_p): Use
+       * combine.c (cant_combine_insn_p, likely_spilled_retval_p): Use
        TARGET_CLASS_LIKELY_SPILLED_P target hook. Use HARD_REGISTER_P macro.
        Use fixed_reg_set instead of fixed_regs.
        * cse.c (hash_rtx_cb): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
        * calls.c (avoid_likely_spilled_reg): Ditto.
-       * ira-conflicts.c: (ira_build_conflicts): Ditto.
+       * ira-conflicts.c (ira_build_conflicts): Ditto.
        * ira.c (update_equiv_regs): Ditto.
        * mode-switching.c (create_pre_exit): Ditto.
        * regmove.c (find_matches): Ditto.
-       (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target
-       hook.
+       (regclass_compatible_p): Use TARGET_CLASS_LIKELY_SPILLED_P target hook.
        * reload.c (SMALL_REGISTER_CLASS_P): Remove macro.
        (small_register_class_p): New inline function.
        (push_secondary_reload, find_reusable_reload, find_reloads): Use
 
 2010-09-01  Uros Bizjak  <ubizjak@gmail.com>
 
-        PR target/45476
-        * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
+       PR target/45476
+       * config/i386/cygming.h (LIBGCC2_HAS_TF_MODE,
        LIBGCC2_TF_CEXT, TF_SIZE): Move from ...
-        * config/i386/mingw32.h: ... here.
+       * config/i386/mingw32.h: ... here.
 
 2010-09-01  Andi Kleen <ak@linux.intel.com>
 
        PR lto/45475
        * lto-streamer-in.c (lto_input_ts_target_option): Add.
        (lto_input_tree_pointers): Call lto_input_ts_target_option.
-       * lto-streamer-out: (lto_output_ts_target_option): Add.
+       * lto-streamer-out (lto_output_ts_target_option): Add.
        (lto_output_tree_pointers): Call lto_output_ts_target_option.
 
 2010-09-01  Kai Tietz  <kai.tietz@onevision.com>
        * doc/tm.texi: Regenerate.
        * targhooks.c (default_asm_output_addr_const_extra): New function.
        * targhooks.h (default_asm_output_addr_const_extra): Declare.
-       * final.c: (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
+       * final.c (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
        target hook.
 
        * config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.