+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
2010-12-13 Alexandre Oliva <aoliva@redhat.com>
- PR debug/46576
+ PR debug/46756
* jump.c (mark_all_labels): Skip debug insns.
2010-12-13 Alexandre Oliva <aoliva@redhat.com>