OSDN Git Service

* config/interix.opt: New.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 839ffc6..20fc90d 100644 (file)
@@ -1,3 +1,853 @@
+2010-12-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/interix.opt: New.
+       * config/interix.h (LINK_SPEC): Don't handle -soname*.
+       * config.gcc (i[34567]86-*-interix3*): Use interix.opt.
+
+2010-12-17  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/arm.md (maddhisi4, *maddhidi4): Use the canonical
+       operand order for plus.
+       Drop redundant % from constraints.
+
+2010-12-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/t-spu-elf (LIB2FUNCS_EXCLUDE): Add _floattisf and
+       _floatunstisf.
+       * config/spu/spu.md ("floattisf2"): New expander.
+       ("floatunstisf2"): New insn pattern and splitter.
+       ("cgt_ti_m1"): New insn pattern.
+
+2010-12-17  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * config/arm/arm.c (arm_select_cc_mode): Before calling
+       arm_select_dominance_cc_mode for AND or IOR operations, ensure
+       that op is NE or EQ.
+
+2010-12-17  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/46761
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Prefer
+       to use unadjusted UB.
+
+2010-12-17  Dodji Seketeli  <dodji@redhat.com>
+
+       * dwarf2out.c (gen_type_die_with_usage): Do not try to emit debug
+       info for a redundant typedef that has DECL_ORIGINAL_TYPE set. Use
+       that underlying type instead.
+
+2010-12-16  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/44563 
+       * ipa-inline.c: Update doplevel comment. 
+       (cgraph_estimate_size_after_inlining): Remove times attribute. 
+       (cgraph_mark_inline_edge): Update. 
+       (cgraph_mark_inline): Remove. 
+       (cgraph_estimate_growth): Update. 
+       (cgraph_check_inline_limits): Remove one only argument. 
+       (cgraph_edge_badness): Update. 
+       (cgraph_decide_recursive_inlining): Update. 
+       (cgraph_decide_inlining_of_small_function): Fix handling of tree_can_inline_p 
+       and call_stmt_cannot_inline_p. 
+       (cgraph_flatten): Likewise. 
+       (cgraph_decide_inlining): Update. 
+       (cgraph_decide_inlining_incrementally): Fix handling of call_stmt_cannot_inline_p. 
+
+2010-12-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/darwin.opt (dylinker, headerpad_max_install_names,
+       keep_private_externs, nofixprebinding, nomultidefs, noprebind,
+       noseglinkedit, object, prebind, prebind_all_twolevel_modules,
+       preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
+       twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
+       Driver options.
+       * config/darwin.h (LINK_SPEC): Remove '*' after
+       headerpad_max_install_names.
+
+2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46924
+       * graphite-sese-to-poly.c (detect_commutative_reduction): Do not
+       detect reductions outside the current SESE region.
+       * sese.h (stmt_in_sese_p): New.
+       (defined_in_sese_p): Call stmt_in_sese_p.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/46966
+       * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
+       for bbs that are removed from SCOP_BBS vector.
+
+2010-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
+       get_ref_base_and_extent returns -1 as the max size.
+
+2010-12-16  Konrad Eisele  <konrad@gaisler.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       Support for LEON processor
+       * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
+       (sparc-*-linux*): Likewise.
+       (sparc-*-rtems*): Remove Solaris left-overs.
+       (sparc*-*-*): Remove obsolete sparc86x setting.
+       (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
+       * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
+       * config/sparc/sparc.h (TARGET_CPU_leon): Define.
+       (TARGET_CPU_sparc86x): Delete.
+       (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
+       (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
+       (TARGET_CPU_f934): Likewise.
+       (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
+       (CPP_CPU_SPEC): Add entry for -mcpu=leon.
+       (enum processor_type): Add PROCESSOR_LEON.  Reorganize.
+       * config/sparc/sparc.c (leon_costs): New cost array.
+       (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
+       Initialize cost array to leon_costs if -mtune=leon.
+       * config/sparc/sparc.md (cpu attribute): Add leon.  Reorganize.
+       Include leon.md scheduling description.
+       * config/sparc/leon.md: New file.
+       * config/sparc/t-elf: Do not assemble Solaris startup files.
+       * config/sparc/t-leon: New file.
+       * config/sparc/t-leon3: Likewise.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/43655
+       * tree-ssa-ter.c (is_replaceable_p): Don't use
+       gimple_references_memory_p for -O0, instead check for load
+       by looking at rhs.
+
+2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46404
+       * graphite-clast-to-gimple.c (gloog): Call scev_reset.
+
+2010-12-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+       * config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-12-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
+       * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
+       (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46893
+       * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
+       use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
+
+2010-12-16  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/46883
+       * config/arm/arm.md
+       (zero_extendhisi2 for register input splitter): Change
+       "register_operand" to "s_register_operand".
+       (zero_extendqisi2 for register input splitter): Same.
+
+2010-12-16  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/46939
+       * predic.c (predict_paths_leading_to_edge): New function.
+       (apply_return_prediction): Use it.
+       (predict_paths_for_bb): Do not special case abnormals.
+
+2010-12-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
+       extra_options twice.
+
+2010-12-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
+       * doc/tm.texi: Regenerate.
+       * system.h (US_SOFTWARE_GOFAST): Poison.
+       * config.gcc (enable_gofast): Don't handle.
+       * config/gofast.h: Remove.
+       * config/mips/t-gofast: Remove.
+       * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
+       * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
+       * config/mips/elforion.h: Don't mention GOFAST in comment.
+       * config/mips/mips.c: Don't include gofast.h.
+       (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+       * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
+       US_SOFTWARE_GOFAST.
+       * config/sparc/sparc.c: Don't include gofast.h.
+       (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+       * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
+       US_SOFTWARE_GOFAST.
+
+2010-12-14  Jan Hubicka  <jh@suse.cz>
+
+       * config/darwin.opt (dylinker, headerpad_max_install_names,
+       keep_private_externs, nofixprebinding, nomultidefs, noprebind,
+       noseglinkedit, object, prebind, prebind_all_twolevel_modules,
+       preload, private_bundle, pthread, seglinkedit, twolevel_namespace,
+       twolevel_namespace_hints, whatsloaded, whyload, y, Mach, X): New
+       Driver options.
+       * config/darwin.h (LINK_SPEC): Remove '*' after
+       headerpad_max_install_names.
+
+2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46924
+       * graphite-sese-to-poly.c (detect_commutative_reduction): Do not
+       detect reductions outside the current SESE region.
+       * sese.h (stmt_in_sese_p): New.
+       (defined_in_sese_p): Call stmt_in_sese_p.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/46966
+       * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
+       for bbs that are removed from SCOP_BBS vector.
+
+2010-12-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
+       get_ref_base_and_extent returns -1 as the max size.
+
+2010-12-16  Konrad Eisele  <konrad@gaisler.com>
+            Eric Botcazou  <ebotcazou@adacore.com>
+
+       Support for LEON processor
+       * config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
+       (sparc-*-linux*): Likewise.
+       (sparc-*-rtems*): Remove Solaris left-overs.
+       (sparc*-*-*): Remove obsolete sparc86x setting.
+       (sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
+       * doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
+       * config/sparc/sparc.h (TARGET_CPU_leon): Define.
+       (TARGET_CPU_sparc86x): Delete.
+       (TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
+       (TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
+       (TARGET_CPU_f934): Likewise.
+       (TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
+       (CPP_CPU_SPEC): Add entry for -mcpu=leon.
+       (enum processor_type): Add PROCESSOR_LEON.  Reorganize.
+       * config/sparc/sparc.c (leon_costs): New cost array.
+       (sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
+       Initialize cost array to leon_costs if -mtune=leon.
+       * config/sparc/sparc.md (cpu attribute): Add leon.  Reorganize.
+       Include leon.md scheduling description.
+       * config/sparc/leon.md: New file.
+       * config/sparc/t-elf: Do not assemble Solaris startup files.
+       * config/sparc/t-leon: New file.
+       * config/sparc/t-leon3: Likewise.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/43655
+       * tree-ssa-ter.c (is_replaceable_p): Don't use
+       gimple_references_memory_p for -O0, instead check for load
+       by looking at rhs.
+
+2010-12-16  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46404
+       * graphite-clast-to-gimple.c (gloog): Call scev_reset.
+
+2010-12-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+       * config/sh/sh.c (sh_asm_output_addr_const_extra): New function.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-12-16  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/t-spu-elf (LIB2_SIDITI_CONV_FUNC): Define.
+       * config/spu/spu.h (MIN_UNITS_PER_WORD): Do not define.
+       (LIBGCC2_UNITS_PER_WORD): Define if not already defined.
+
+2010-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46893
+       * cfgexpand.c (expand_debug_expr): If GET_MODE (op0) is VOIDmode,
+       use TYPE_MODE (TREE_TYPE (tem)) instead of mode1.
+
+2010-12-16  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/46883
+       * config/arm/arm.md
+       (zero_extendhisi2 for register input splitter): Change
+       "register_operand" to "s_register_operand".
+       (zero_extendqisi2 for register input splitter): Same.
+
+2010-12-16  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/46939
+       * predic.c (predict_paths_leading_to_edge): New function.
+       (apply_return_prediction): Use it.
+       (predict_paths_for_bb): Do not special case abnormals.
+
+2010-12-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (powerpc-*-lynxos*): Don't add lynx.opt to
+       extra_options twice.
+
+2010-12-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/tm.texi.in (US_SOFTWARE_GOFAST): Don't document.
+       * doc/tm.texi: Regenerate.
+       * system.h (US_SOFTWARE_GOFAST): Poison.
+       * config.gcc (enable_gofast): Don't handle.
+       * config/gofast.h: Remove.
+       * config/mips/t-gofast: Remove.
+       * config/fp-bit.c (US_SOFTWARE_GOFAST): Don't handle.
+       * config/fp-bit.h (US_SOFTWARE_GOFAST): Don't handle.
+       * config/mips/elforion.h: Don't mention GOFAST in comment.
+       * config/mips/mips.c: Don't include gofast.h.
+       (mips_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+       * config/mips/t-sr71k (dp-bit.c, fp-bit.c): Don't define
+       US_SOFTWARE_GOFAST.
+       * config/sparc/sparc.c: Don't include gofast.h.
+       (sparc_init_libfuncs): Don't call gofast_maybe_init_libfuncs.
+       * config/spu/t-spu-elf (dp-bit.c, fp-bit.c): Don't undefine
+       US_SOFTWARE_GOFAST.
+
+2010-12-14  Jan Hubicka  <jh@suse.cz>
+
+       * tree.c (get_file_function_name): Avoid using random seed on GLOBAL_sub_I
+       and GLOBAL_sub_D.
+
+2010-12-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/46053
+       PR middle-end/46287
+       PR middle-end/46242
+       * cgraph.h (cgraph_indirect_call_info): New field thunk_delta.
+       * gimple.h (gimple_fold_obj_type_ref): Declaration removed.
+       (gimple_fold_call): Declare.
+       (gimple_adjust_this_by_delta): Likewise.
+       * cgraph.c (cgraph_make_edge_direct): New parameter delta.  Updated
+       all users.
+       (cgraph_clone_edge): Create a copy of indirect_info also for direct
+       edges.
+       * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Adjust this
+       parameters.
+       * gimple-fold.c (gimple_fold_obj_type_ref_known_binfo): Renamed to
+       gimple_get_virt_mehtod_for_binfo, new parameter delta.  Do not search
+       through thunks, in fact bail out if we encounter one, check that
+       BINFO_VIRTUALS is not NULL.
+       (gimple_adjust_this_by_delta): New function.
+       (gimple_fold_obj_type_ref): Removed.
+       (gimple_fold_obj_type_ref_call): New function.
+       (fold_gimple_call): Renamed to gimple_fold_call, made external.
+       Updated users.  Call gimple_fold_obj_type_ref_call instead of
+       gimple_fold_obj_type_ref.
+       * ipa-cp.c (ipcp_process_devirtualization_opportunities): Process
+       thunk deltas.
+       (ipcp_discover_new_direct_edges): Likewise.
+       * ipa-prop.c (ipa_make_edge_direct_to_target): New parameter delta.
+       Updated callers.
+       (ipa_write_indirect_edge_info): Stream thunk_delta.
+       (ipa_read_indirect_edge_info): Likewise.
+       * tree-ssa-ccp.c (ccp_fold_stmt): Use gimple_fold_call instead of
+       gimple_fold_obj_type_ref.
+
+2010-12-15  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/46649
+       * sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
+       basic block in the region.
+
+2010-12-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/stormy16/stormy16.h (LINK_SPEC, WCHAR_TYPE): Define.
+       * config.gcc (xstormy16-*-elf): Don't use svr4.h.
+
+2010-12-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/rx/rx.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (rx-*-elf*): Don't use svr4.h.
+
+2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46845
+       * sese.c (scalar_evolution_in_region): Handle scop parameters
+       before scev analysis.
+
+2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/46928
+       * tree-data-ref.c (analyze_overlapping_iterations): Handle "A[p] == A[p]"
+       in data dependence analysis with p a parameter of the loop.
+
+2010-12-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/45948
+       * tree-loop-distribution.c (ssa_name_has_uses_outside_loop_p): New.
+       (stmt_has_scalar_dependences_outside_loop): New.
+       (stmt_generated_in_another_partition): New.
+       (add_scalar_computations_to_partition): New.
+       (rdg_build_partitions): Call add_scalar_computations_to_partition.
+
+2010-12-14  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arc/arc.h (LIB_SPEC): Define.
+       * config.gcc (arc-*-elf*): Don't use svr4.h.
+
+2010-12-14  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/sh/elf.h (LIB_SPEC): Define.
+       * config.gcc (sh-*-elf* | sh[12346l]*-*-elf* | sh-*-symbianelf* |
+       sh[12346l]*-*-symbianelf* | sh-*-linux* | sh[2346lbe]*-*-linux* |
+       sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* |
+       sh5l*-*-netbsd* | sh64-*-netbsd* | sh64l*-*-netbsd*, sh-*-rtems*,
+       sh-wrs-vxworks): Don't use svr4.h.
+
+2010-12-14  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/46940
+       PR lto/44463
+       * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Construct nodes
+       for aliases when they are used.
+
+2010-12-14  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (sparc-*-elf*, sparc-*-rtems*, sparc-*-linux*,
+       sparc-*-netbsdelf*, sparc*-*-solaris2*, sparc-wrs-vxworks,
+       sparc64-*-elf*, sparc64-*-rtems*, sparc64-*-linux*,
+       sparc64-*-netbsd*, sparc64-*-openbsd*): Don't use svr4.h.
+
+2010-12-14  Thomas Klein  <th.r.klein@web.de>
+
+       * config/arm/arm.c (arm_expand_prologue): Report the static stack
+       size if -fstack-usage is used.
+       (thumb1_expand_prologue): Likewise.
+
+2010-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46885
+       * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Use gsi_last_bb
+       instead of gsi_last_nondebug_bb if bump_in_latch.
+
+       PR tree-optimization/46909
+       * gimple-fold.c (and_var_with_comparison_1): Save partial
+       result even in the is_and case, if both partial results
+       are the same, return it.
+       (or_var_with_comparison_1): Use is_or predicate instead of
+       innercode == TRUTH_OR_EXPR test.  Save partial result
+       even in the is_or case, if both partial results are the
+       same, return it.  In the !is_or case when both partial
+       results are the same, return the partial result instead
+       of boolean_true_node.
+
+2010-12-14  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/46667
+       * varasm.c (assemble_start_function): Do not call resolve_unique_section.
+       * cfgexpand.c (gimple_expand_cfg): Resolve it here.
+
+2010-12-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/46875
+       * sched-vis.c (print_pattern): Dump "sequence" for ADDR_VECs.
+       * sel-sched-ir.c (bb_has_removable_jump_to_p): Forbid table jumps.
+
+2010-12-14  Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+       * config/h8300/h8300.md (define_split) : Add condition for
+       "and with single_zero" splitter to handle 16-bit const operands.
+       * config/h8300/h8300.md (define_split) : Add condition for
+       "ior with single_one" splitter to handle 16-bit const operands.
+       * config/h8300/h8300.md (define_split) : Add condition for
+       "xor with single_one" splitter to handle 16-bit const operands. 
+       * testsuite/gcc.dg/h8300-bit-insn-ice.c: New.
+
+2010-12-13  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/45388
+       * ipa.c (cgraph_build_static_cdtor_1): Break out from ... ; add FINAL parameter.
+       (cgraph_build_static_cdtor): ... here.
+       (build_cdtor): Use cgraph_build_static_cdtor_1.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/m32c/m32c.h (ENDFILE_SPEC, LINK_SPEC, SIZE_TYPE,
+       PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (m32c-*-rtems*, m32c-*-elf*): Don't use svr4.h.
+
+2010-12-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR rtl-optimization/44374
+       Reapply patch with fixes.
+       * basic-block.h (enum bb_flags): Add BB_MODIFIED.
+       * df-core.c (df_set_bb_dirty): Set it.
+       * ifcvt.c (find_memory): Remove function.
+       (dead_or_predicable): Use can_move_insns_across.
+       * df.h (can_move_insns_across): Declare function.
+       * cfgcleanup.c (block_was_dirty): New static variable.
+       (flow_find_head_matching_sequence): Test for epilogue notes.
+       (try_crossjump_bb, try_forward_edges): Test BB_MODIFIED flag rather
+       than df_get_bb_dirty.
+       (try_head_merge_bb): New static function.
+       (try_optimize_cfg): Call it.  Call df_analyze if block_was_dirty
+       is set.
+       * df-problems.c: Include "target.h"
+       (df_simulate_find_uses): New static function.
+       (MEMREF_NORMAL, MEMREF_VOLATILE): New macros.
+       (find_memory, find_memory_store): New static functions.
+       (can_move_insns_across): New function.
+       * Makefile.in (df-problems.o): Update dependencies.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/xtensa/elf.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+       (DBX_REGISTER_NUMBER): Undefine.
+       * config/xtensa/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+       (DBX_REGISTER_NUMBER): Undefine.
+       * config.gcc (xtensa*-*-elf*, xtensa*-*-linux*): Don't use svr4.h.
+
+2010-12-13  Jack Howarth <howarth@bromo.med.uc.edu>
+           Joseph Myers <joseph@codesourcery.com>
+
+       PR bootstrap/46650
+       * system.h: Include cstring for cxx bootstrap.
+
+2010-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/46879
+       * lto-streamer-out.c (output_gimple_stmt): Never replace first
+       GIMPLE_DEBUG argument with MEM_REF.
+
+       PR debug/46867
+       * var-tracking.c (emitted_notes, string_pointer_flags): Removed.
+       (emit_note_insn_var_location): Remove ENABLE_RTL_CHECKING verification.
+       (vt_emit_notes): Don't initialize and destroy emitted_notes.
+
+2010-12-13  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR target/46040
+       * config.gcc (arm*-*-linux-*eabi): Use bpabi-lib.h.
+       (arm*-*-uclinux*eabi, arm*-*-eabi*): Likewise.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/v850/v850.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Define.
+       * config.gcc (v850e1-*-*, v850e-*-*, v850-*-*): Don't use svr4.h.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (s390-*-linux*, s390x-*-linux*, s390x-ibm-tpf*):
+       Don't use svr4.h.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mn10300/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Undefine.
+       * config/mn10300/mn10300.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Define.
+       * config.gcc (mn10300-*-*): Don't use svr4.h.
+
+2010-12-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/m68k/linux.h (DBX_REGISTER_NUMBER): Undefine and
+       redefine.
+       (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (m68k-*-uclinux*, m68k-*-linux*): Don't use svr4.h.
+
+2010-12-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/46756
+       * jump.c (mark_all_labels): Skip debug insns.
+
+2010-12-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/46782
+       * cfgcleanup.c (try_forward_edges): Skip debug insns.
+
+2010-12-12  Jan Hubicka  <jh@suse.cz>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * varasm.c (default_function_section): Check flag_reorder_functions
+       and targetm.have_named_sections.
+       * config/darwin.c (darwin_function_section): Check
+       flag_reorder_functions.
+
+2010-12-12  Finn Thain  <fthain@telegraphics.com.au>
+
+       PR target/46179
+       * config/m68k/m68k.c (handle_move_double): Insert calls to
+       m68k_final_prescan_insn to clean up @TLS operand syntax.
+
+2010-12-10  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/43023
+       * tree-data-ref.c (mem_write_stride_of_same_size_as_unit_type_p):
+       Removed.
+       (stores_zero_from_loop): Call stmt_stores_zero.
+       * tree-data-ref.h (stmt_stores_zero): New.
+       * tree-loop-distribution.c (generate_memset_zero): Do not return a
+       boolean.  Call gcc_assert on stride_of_unit_type_p.
+       (generate_builtin): Call stmt_stores_zero.
+       (rdg_flag_all_uses): Removed.
+       (rdg_flag_similar_memory_accesses): Removed.
+       (build_rdg_partition_for_component): Removed parameter
+       other_stores.  Removed call to rdg_flag_similar_memory_accesses.
+       (can_generate_builtin): New.
+       (similar_memory_accesses): New.
+       (fuse_partitions_with_similar_memory_accesses): New.
+       (rdg_build_partitions): Call
+       fuse_partitions_with_similar_memory_accesses.
+
+2010-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/46804
+       * regmove.c (optimize_reg_copy_3): Look for REG_EQUAL note
+       on the setter of src_reg rather than on insn.  If it is
+       equal to the setter's original SET_SRC, replace it with its
+       zero or sign extension instead of dropping it.
+
+2010-12-10  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46808
+       * lto-symtab.c (lto_symtab_merge_decls_2): Avoid type warnings
+       after errors.
+       (lto_symtab_merge_decls_1): Adjust.
+
+2010-12-10  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR middle-end/46674
+       PR lto/43157
+       * target.def (mangle_assembler_name): New target asm_out hook.
+       * targhooks.c (default_mangle_assembler_name): Add default hook
+       implementation.
+       * targhooks.h (default_mangle_assembler_name): Add prototype.
+       * lto-symtab.c (lto_symtab_register_decl): Use new hook when
+       processing DECL_ASSEMBLER_NAMEs for lto symtabs.
+       (lto_symtab_get_resolution): Likewise.
+       (lto_cgraph_replace_node): Likewise.
+       (lto_symtab_prevailing_decl): Likewise.
+       * lto-streamer-out.c (write_symbol): Likewise.
+       * doc/tm.texi.in (TARGET_MANGLE_ASSEMBLER_NAME): Add @hook directive.
+       * doc/tm.texi: Regenerate.
+       * config/i386/cygming.h (TARGET_MANGLE_ASSEMBLER_NAME): Define to
+       point at i386_pe_mangle_assembler_name.
+       * config/i386/winnt.c (i386_pe_mangle_assembler_name): New function.
+       * config/i386/i386-protos.h (i386_pe_mangle_assembler_name): Add
+       prototype.
+
+2010-12-10  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-typeck.c (readonly_error): Delete.
+
+2010-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/46865
+       * rtl.c (rtx_equal_p_cb, rtx_equal_p): For last operand of
+       ASM_OPERANDS and ASM_INPUT if integers are different,
+       call locator_eq.
+       * jump.c (rtx_renumbered_equal_p): Likewise.
+
+       PR tree-optimization/46864
+       * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even
+       when there are EDGE_EH exit edges.
+
+2010-12-10  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/46540
+       * configure.ac: Handle --disable-libquadmath-support.
+       * doc/install.texi: Document --disable-libquadmath and
+       --disable-libquadmath-support
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2010-12-10  Jack Howarth  <howarth@bromo.med.uc.edu>
+           Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR 43751/target
+       * config/darwin9.h (DSYMUTIL_SPEC): Add fortran source types.
+
+2010-12-10  Iain Sandoe <iains@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c
+       (rs6000_darwin64_record_arg_advance_recurse): Name register increment
+       explicitly.  (rs6000_darwin64_record_arg_recurse): Make sure we split
+       long doubles when we run out of regs.   Also flag that this requires
+       stack and therefore cannot be returned by value.
+       (rs6000_darwin64_record_arg): Update comment.
+       (rs6000_function_value): Likewise.
+
+2010-12-10  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-parser.c (c_parser_objc_class_definition): Recognize
+       Objective-C 2.0 class extensions.
+
+2010-12-10  Iain Sandoe <iains@gcc.gnu.org>
+
+       * config/darwin.c: Remove c-tree.h and c-lang.h
+       * config/t-darwin: Remove dependencies on c-tree.h and c-lang.h.
+
+2010-12-10  Joern Rennecke  <amylaar@spamcop.net>
+
+       PR target/46881
+       * doc/tm.texi: Regenerate.
+       * target.def: Fix "preferred" spelling.  Refer to rclass by its
+       exact name.
+       * config/arm/arm.c (arm_preferred_rename_class): Rename parameter class
+       to rclass.
+
+2010-12-09  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11-protos.h (output_move_double,
+       output_move_quad): Delete.
+       (output_move_multiple, pdp11_expand_operands): New functions.
+       (pdp11_action, pdp11_partorder): New enums.
+       * config/pdp11/pdp11.md (movdi, movsi, movdf, movsf): Use
+       output_move_multiple.
+       (adddi3, subdi3, negdi2): New patterns.
+       (addsi3, subsi3, negsi2): Use pdp11_expand_operands.
+       (abshi2): Delete.
+       (neghi2, negqi2): Use PDPint iterator.
+       * config/pdp11/pdp11.c (find_addr_reg, output_move_double,
+       output_move_quad): Delete.
+       (pdp11_expand_operands, output_move_multiple): New functions.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/vax/linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (vax-*-linux*): Don't use svr4.h.
+
+2010-12-09  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-typeck.c (build_indirect_ref): Call invalid_indirection_error.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/extend.texi (Attribute Syntax): Correct description of
+       attributes in pointer declarators.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Undefine.
+       * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux*,
+       mips*-*-linux*, mips-wrs-vxworks): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mep/mep.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Define.
+       * config.gcc (mep-*-*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mcore/mcore.h (PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Define.
+       * config/svr3.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Don't define.
+       * config.gcc (mcore-*-elf): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (m32r-*-elf*, m32rle-*-elf*, m32r-*-rtems*,
+       m32r-*-linux*, m32rle-*-linux*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/iq2000/iq2000.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+       WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (iq2000*-*-elf*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config.gcc (ia64*-*-linux*, ia64*-*-hpux*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/pa/pa32-linux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (hppa*64*-*-linux*, hppa*-*-linux*): Don't use
+       svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/moxie/moxie.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+       WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config/moxie/rtems.h (LINK_SPEC, SIZE_TYPE, PTRDIFF_TYPE,
+       WCHAR_TYPE, WCHAR_TYPE_SIZE): Undefine.
+       * config.gcc (moxie-*-elf, moxie-*-uclinux*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/frv/frv.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE,
+       WCHAR_TYPE_SIZE): Define.
+       * config.gcc (frv-*-elf, frv-*-*linux*): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/fr30/fr30.h (LIB_SPEC, LINK_SPEC, SIZE_TYPE,
+       PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+       * config.gcc (fr30-*-elf): Don't use svr4.h.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/cris/linux.h (SIZE_TYPE, PTRDIFF_TYPE): Define.
+       * config.gcc (crisv32-*-linux* | cris-*-linux*): Don't use svr4.h.
+
+2010-12-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/46844
+       * gimple-fold.c (canonicalize_constructor_val): Canonicalize
+       addresses.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/netware.h (TARGET_POSIX_IO): Define.
+       * config/i386/nto.h (TARGET_POSIX_IO): Define.
+       * config/ia64/hpux.h (TARGET_POSIX_IO): Define.
+       * config/moxie/moxie.h (TARGET_POSIX_IO): Don't undefine.
+       * config/openbsd.h (TARGET_POSIX_IO): Define.
+       * config/rtems.h (TARGET_POSIX_IO): Define.
+       * config/sh/embed-elf.h (TARGET_POSIX_IO): Don't undefine.
+       * config/sol2.h (TARGET_POSIX_IO): Define.
+       * config/svr4.h (TARGET_POSIX_IO): Don't define.
+       * config/vxworksae.h (TARGET_POSIX_IO): Define.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/nto.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+       * config/ia64/hpux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Define.
+       * config/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+       undefine.
+       * config/mips/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+       undefine.
+       * config/mips/netbsd.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/rs6000/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/rs6000/linux64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/sol2.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define.
+       * config/sparc/netbsd-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/sparc/openbsd64.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/sparc/sp64-elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine.
+       * config/svr4.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+       define.
+       * config/xtensa/elf.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Don't
+       undefine.
+
+2010-12-09  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/ia64/hpux.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
+       non-GNU assembler.
+       * config/m68k/netbsd-elf.h (AS_NEEDS_DASH_FOR_PIPED_INPUT):
+       Remove.
+       * config/m68k/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+       * config/mips/openbsd.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+       * config/sol2.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Define for
+       non-GNU assembler.
+       * config/sparc/sparc.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+       * config/svr4.h (AS_NEEDS_DASH_FOR_PIPED_INPUT): Remove.
+
 2010-12-09  Martin Jambor  <mjambor@suse.cz>
 
        * ipa-prop.c (compute_complex_ancestor_jump_func): Work also if the
        blocks will be created. Update dominator info.
        (sel_redirect_edge_and_branch): Update dominator info when
        basic blocks do not become unreachable.
-       (sel_remove_loop_preheader): Update dominator info. 
+       (sel_remove_loop_preheader): Update dominator info.
 
 2010-12-07  Richard Guenther  <rguenther@suse.de>