+2006-02-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa/x-ada-hpux10, pa/t-pa-hpux10, pa/t-pa-hpux11: New files.
+ * config.gcc (hppa[12]*-*-hpux10*): Use pa/t-pa-hpux10 instead of
+ pa/t-pa.
+ * config.gcc (hppa[12]*-*-hpux11*): Use pa/t-pa-hpux11 instead of
+ pa/t-pa.
+ * config.host (hppa*-*-hpux10*): Use pa/x-ada-hpux10 instead of
+ pa/x-ada.
+ * pa/t-pa-hpux: Add lib2funcs.asm and quadlib.c rules.
+ * pa/t-pa64: Delete quadlib.c rule.
+ * pa/x-ada: Revert last change.
+ * pa/t-pa: Revert last change. Delete quadlib.c rule.
+
+2006-02-04 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/26087
+ * rtlanal.c (canonicalize_condition): Do not cross basic block
+ boundaries.
+
+2006-02-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/24444
+ * config/ia64/ia64.c: Include debug.h.
+ (MAX_ARTIFICIAL_LABEL_BYTES): New.
+ (ia64_label_after_insn, ia64_dwarf2out_def_steady_cfa): New.
+ (IA64_CHANGE_CFA_IN_EPILOGUE): Define to 0.
+ (process_epilogue, process_set, process_for_unwind_directive):
+ Output unwind info only if requested. Add CFA info if requested.
+ Add new arguments as needed. Adjust callers.
+ * config/ia64/ia64.h (ARG_POINTER_CFA_OFFSET): Override
+ incorrect default.
+ (DWARF2_FRAME_INFO): Define to zero.
+ * config/ia64/unwind-ia64.c: Remove code that compensated for
+ the CFA offset error fixed above.
+ * config/ia64/t-ia64 (ia64.o): Depend on debug.h.
+ * dwarf2out.c (DWARF2_FRAME_INFO): Define default.
+ (dwarf2out_do_frame): Require nonzero DWARF2_UNWIND_INFO for
+ -funwind-tables and -fexceptions to enable frame info.
+ (dwarf2out_frame_init): Define initial CFA even if
+ DWARF2_UNWIND_INFO is disabled. Call initial_return_save if
+ DWARF2_UNWIND_INFO is nonzero, not just defined.
+ (dwarf2out_frame_finish): Output non-EH call frame info only
+ if DWARF2_FRAME_INFO is nonzero.
+ (convert_cfa_to_loc_list,
+ compute_frame_pointer_to_cfa_displacement): Define even if
+ unwind info is not supported.
+ (gen_subprogram_die): Use the above unconditionally. Remove
+ legacy alternate code.
+ * toplev.c (compile_file): Compile in call to
+ dwarf2out_frame_finish if DWARF2_DEBUGGING_INFO is defined.
+ (lang_dependent_init): Ditto for dwarf2out_frame_init.
+
+2006-02-04 David Edelsohn <edelsohn@gnu.org>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Mangle
+ IBM extended float format long double as "g" on powerpc*-linux.
+
+2006-02-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/25926
+ * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10.
+ * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10.
+
+2006-02-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/25979
+ * gimplify.c (gimplify_modify_expr_rhs): Disable *& optimization for now.
+
+ PR middle-end/25977
+ * gimplify.c (gimplify_modify_expr_rhs): It's not always safe to do RVO
+ on the return slot if it's an NRV.
+
+2006-02-03 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (enum use_type): Remove USE_OUTER.
+ (dump_use, add_derived_ivs_candidates, determine_use_iv_cost,
+ rewrite_use): Do not handle USE_OUTER.
+ (find_interesting_uses_outer_or_nonlin, find_interesting_uses_outer,
+ add_iv_outer_candidates, may_replace_final_value,
+ determine_use_iv_cost_outer, rewrite_use_outer): Removed.
+ (find_interesting_uses_op): Functionality of
+ find_interesting_uses_outer_or_nonlin moved here.
+ (find_interesting_uses_outside): Use find_interesting_uses_op.
+
+2006-02-03 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/25960
+ * config/rs6000/darwin-ldouble.c (__gcc_qadd): Preserve -0.0 result.
+
+2006-02-03 Andreas Krebbel <krebbel1@de.ibm.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR target/25864
+ * config/s390/2084.md ("x_fsimptf", "x_fmultf", "x_fdivtf",
+ "x_floadtf", "x_ftrunctf", "x_ftruncdf"): New insn reservations.
+ * config/s390/fixdfdi.h (__fixunstfdi, __fixtfdi): New functions.
+ * config/s390/s390.c (struct processor_costs): Add mxbr, sqxbr, dxbr
+ and dxr fields.
+ (z900_cost, z990_cost, z9_109_cost): Values for the new fields added.
+ (s390_rtx_costs): Use the new fields to calculate rtx costs.
+ (s390_secondary_input_reload_class, s390_secondary_output_reload_class):
+ Define secondary reloads for TFmode moves.
+ (constant_modes): Add TFmode.
+ (NR_C_MODES): Set to 8.
+ * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Add __LONG_DOUBLE_128__
+ builtin define.
+ (LONG_DOUBLE_TYPE_SIZE): Set to 128 or 64.
+ (LIBGCC2_LONG_DOUBLE_TYPE_SIZE, WIDEST_HARDWARE_FP_SIZE): Define.
+ (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, CLASS_MAX_NREGS,
+ CANNOT_CHANGE_MODE_CLASS): Consider TFmode.
+ * config/s390/s390.md ("type" attribute): Add fsimptf, floadtf, fmultf,
+ fdivtf, fsqrttf, ftrunctf, ftruncdf as possible values.
+ (FPR mode macro): Add TFmode.
+ (DSF mode macro): New.
+ (<de>, <dee> mode attributes): Removed.
+ (<xde>, <xdee>, <RRe>, <RXe>, <Rf> mode attributes): New.
+ ("*cmp<mode>_ccs_0", "*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs",
+ "*cmp<mode>_ccs_ibm", "fix_trunc<FPR:mode><GPR:mode>2_ieee",
+ "floatdi<mode>2", "floatsi<mode>2_ieee", "*add<mode>3",
+ "*add<mode>3_cc", "*add<mode>3_cconly", "*add<mode>3_ibm",
+ "*sub<mode>3", "*sub<mode>3_cc", "*sub<mode>3_cconly",
+ "*sub<mode>3_ibm", "*mul<mode>3_ibm", "*fmadd<mode>", "*fmsub<mode>",
+ "*div<mode>3", "*div<mode>3_ibm", "*neg<mode>2_cc",
+ "*neg<mode>2_cconly", "*neg<mode>2", "*neg<mode>2_ibm",
+ "*abs<mode>2_cc", "*abs<mode>2_cconly", "*abs<mode>2",
+ "*abs<mode>2_ibm", "*negabs<mode>2_cc", "*negabs<mode>2_cconly",
+ "*negabs<mode>2", "sqrt<mode>2"):
+ Changed <de> to <xde>. R constraint replaced by <Rf>.
+ ("*mul<mode>3"): Changed <dee> to <xdee>. R constraint replaced by
+ <Rf>.
+ ("fix_trunc<FPR:mode>di2"): 'FPR:' removed.
+ ("*fmadd<mode>", "*fmsub<mode>"): FPR mode replaced by DSF.
+ ("*movtf_64", "*movtf_31"): New insn definitions followed by 5
+ splitters.
+ ("movtf", "reload_outtf", "reload_intf", "trunctfdf2", "trunctfsf2",
+ "extenddftf2", "extendsftf2"): New expanders.
+ ("*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
+ "*trunctfsf2_ibm", "*extenddftf2_ieee", "*extenddftf2_ibm",
+ "*extendsftf2_ieee", "*extendsftf2_ibm"): New insn patterns.
+ * config/s390/s390.opt (mlong-double-128, mlong-double-64):
+ New options.
+ * config/s390/t-crtstuff (TARGET_LIBGCC2_CFLAGS): Macro defined.
+ * config/s390/libgcc-glibc.ver (__divtc3, __multc3, __powitf2,
+ __fixtfti, __fixunstfti, __floattitf, __fixtfdi, __fixunstfdi,
+ __floatditf): Add a GCC_4.1.0 symbol version tag.
+ * doc/invoke.texi (-mlong-double-128, -mlong-double-64): Document
+ the new options.
+
+2006-02-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/25377
+ * config/i386/i386.c (ix86_function_ok_for_sibcall):
+ Use targetm.binds_local_p instead of TREE_PUBLIC.
+
+2006-02-02 Roger Sayle <roger@eyesopen.com>
+
+ * tree.h (TYPE_STRING_FLAG): Document that this field may be used
+ on INTEGER_TYPEs to indicate that it denotes a character type.
+ * tree.c (build_common_tree_nodes): Set TYPE_STRING_FLAG on
+ signed_char_type_node, unsigned_char_type_node and char_type_node.
+ * dwarf2out.c (base_type_die): Treat CHAR_TYPE identically to
+ INTEGER_TYPE. Use TYPE_STRING_FLAG to decide whether to emit
+ a DW_ATE_[un]signed_char instead of a DW_ATE_[un]signed.
+
+2006-02-02 Zdenek Dvorak <dvorakz@suse.cz>
+ Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-tailcall.c (arg_needs_copy_p): New function.
+ (eliminate_tail_call): Use arg_needs_copy_p.
+ (tree_optimize_tail_calls_1): Ditto. Also call add_virtual_phis.
+ (add_virtual_phis): New function.
+
+2006-02-02 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.c (sparc_output_scratch_registers): Use
+ #ignore instead of #scratch for %g7 .register directive.
+
2006-02-02 Andreas Tobler <a.tobler@schweiz.ch>
* config/sparc/freebsd.h (ENDFILE_SPEC): Add space to separate
2006-01-20 Alan Modra <amodra@bigpond.net.au>
+ PR target/25668
* libgcc2.c (__floatdisf, __floatdidf): Don't use IBM Extended
Double TFmode.
(__floatundisf, __floatundidf): Likewise.