OSDN Git Service

2005-12-02 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index bb928cf..0185109 100644 (file)
@@ -1,3 +1,561 @@
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * config/alpha/alpha.c (alpha_va_start, alpha_gimplify_va_arg_1i,
+       alpha_gimplify_va_arg): Use buildN and fold_buildN where applicable.
+       * config/frv/frv.c (frv_expand_builtin_va_start): Likewise.
+       * config/s390/s390.c (s390_va_start, s390_gimplify_va_arg): Likewise.
+       * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+       * config/i386/i386.c (ix86_va_start, ix86_gimplify_va_arg): Likewise.
+       * config/rs6000/rs6000.c (rs6000_va_start, rs6000_gimplify_va_arg):
+       Likewise.
+       * config/sh/sh.c (sh_va_start, sh_gimplify_va_arg_expr,
+       sh_adjust_unroll_max): Likewise.
+       * config/c4x/c4x.c (c4x_gimplify_va_arg_expr): Likewise.
+       * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
+       * config/xtensa/xtensa.c (xtensa_va_start, xtensa_gimplify_va_arg_expr):
+       Likewise.
+       * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+       Likewise.
+       * config/mips/mips.c (mips_va_start, mips_gimplify_va_arg_expr):
+       Likewise.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vrp.c (build_assert_expr_for, process_assert_insertions_for,
+       simplify_cond_using_ranges): Use buildN instead of build.
+       * tree-tailcall.c (adjust_accumulator_values,
+       adjust_return_value): Likewise.
+       * tree-sra.c (generate_one_element_ref, generate_copy_inout,
+       generate_element_copy, generate_element_zero,
+       generate_one_element_init): Likewise.
+       * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Likewise.
+       * lambda-code.c (gcc_loop_to_lambda_loop, lbv_to_gcc_expression,
+       lle_to_gcc_expression, lambda_loopnest_to_gcc_loopnest,
+       perfect_nestify): Likewise.
+
+2005-12-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_secondary_reload): Revise initialization of variable regno.
+
+2005-12-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * ggc.h (GGC_RESIZEVEC): New.
+
+2005-12-02  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * gcc.c (execute): Improve readability.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (mark_used_vars): New function.
+       (dump_function_to_file): Dump only used VAR_DECLs.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * convert.c (convert_to_integer): Fix compare for nonpositive
+       constant to use tree_int_cst_sgn <= 0.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * convert.c (convert_to_integer): Use fold_convert instead
+       of fold_build1 (NOP_EXPR, ...).  Use tree_int_cst_sgn < 0
+       instead of comparing against 0.  Use build_int_cst instead
+       of converting integer_zero_node.
+
+2005-12-02  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (op_symbol): Handle LROTATE_EXPR
+       and RROTATE_EXPR.
+2005-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/21017
+       * combine.c (simplify_logical <IOR>): Simplify more patterns to
+       rotates.
+
+2005-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       PR middle-end/25176
+       * function.c (expand_function_end): Emit blockage for unwinder
+       after return label.
+
+2005-12-01  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.h (TREE_OVERFLOW): Make this flag/predicate specific to
+       constant nodes, i.e. INTEGER_CST, REAL_CST, etc...
+       * tree-vrp.c (compare_values): Only check TREE_OVERFLOW for
+       integer constant comparisons.
+
+2005-12-02  Jon Grimm  <jgrimm2@us.ibm.com>
+           Janis Johnson  <janis187@us.ibm.com>
+           David Edelsohn  <dje@watson.ibm.com>
+           Ben Elliston  <bje@au.ibm.com>
+
+       * dfp.h, dfp.c: New files.
+       * Makefile.in (DECNUM, DECNUMINC, LIBDECNUMBER): New variables.
+       (DECNUM_H): Likewise.
+       (LIBDEPS, LIBS, BACKEND): Append $(LIBDECNUMBER).
+       (INCLUDES): Append $(DECNUMINC).
+       (OBJS-common): Add dfp.o.
+       (dfp.o): New rule.
+       * real.h (EXP_BITS): Pinch one bit to ..
+       (struct real_value): Add decimal field.
+       (real_format): Change table size, update documentation.
+       (REAL_MODE_FORMAT): Update for to handle float, decimal float.
+       (real_from_string3): Declare.
+       (decimal_single_format): Declare.
+       (decimal_double_format): Declare.
+       (decimal_quad_format): Declare.
+       (REAL_VALUE_TO_TARGET_DECIMAL32): New.
+       (REAL_VALUE_TO_TARGET_DECIMAL64): New.
+       (REAL_VALUE_TO_TARGET_DECIMAL128): New.
+       * real.c: Include dfp.h.
+       (normalize): Early return for decimal floats.
+       (do_add): Zero decimal field.
+       (do_compare): Call do_decimal_compare for decimal floats.
+       (do_fix_trunc): Likewise, call decimal_do_fix_trunc.
+       (real_arithmetic): Call decimal_real_arithmetic for decimal
+       floating point operands.
+       (real_identical): If a and b are of differing radix, return false.
+       (real_to_integer): Call decimal_real_to_integer if the value is a
+       decimal float.
+       (real_to_integer2): Likewise, call decimal_real_to_integer2.
+       (real_to_decimal): Likewise, call decimal_real_to_decimal.
+       (real_to_hexadecimal): Place "N/A" in the return string for
+       decimal float.
+       (real_from_string3): New variant, given a mode.
+       (real_maxval): Use decimal_real_maxval for decimal floats.
+       (round_for_format): Use decimal_round_for_format for decimals.
+       (real_convert): Use decimal_real_convert where appropriate.
+       (significand_size): Handle base 10.
+       (encode_decimal_single, decode_decimal_single,
+       encode_decimal_double, decode_decimal_double, encode_decimal_quad,
+       decode_decimal_quad): New functions.
+       (decimal_single_format): New.
+       (decimal_double_format): New.
+       (decimal_quad_format): New.
+       * machmode.def: Add SD, DD and TD decimal floating point modes.
+       * machmode.h (FLOAT_MODE_P, SCALAR_FLOAT_MODE_P, MODES_WIDEN_P):
+       Include MODE_DECIMAL_FLOAT.
+       (DECIMAL_FLOAT_MODE_P): New.
+       * mode-classes.def (MODE_DECIMAL_FLOAT): New mode class.
+       * genmodes.c (struct mode_data): Add counter field.
+       (struct mode_data): Update comment for format.
+       (blank_mode): Initialise counter field.
+       (new_mode): Increment counter field for each mode defined.
+       (complete_mode): Handle MODE_DECIMAL_FLOAT, update check for mode
+       using a format.
+       (make_complex_modes): Handle modes containing `D'.
+       (DECIMAL_FLOAT_MODE, FRACTIONAL_DECIMAL_FLOAT_MODE): New.
+       (make_decimal_float_mode): New.
+       (reset_float_format): Handle MODE_DECIMAL_FLOAT.
+       (cmp_modes): Compare counter field if other characteristics
+       similar.
+       (emit_real_format_for_mode): Support formats for decimal floats.
+       * doc/rtl.texi (Machine Modes): Document SD, DD and TDmodes.
+       Document MODE_DECIMAL_FLOAT.
+
+2005-12-02  Alan Modra  <amodra@bigpond.net.au>
+
+       * simplify-rtx.c (simplify_plus_minus): Do simplify constants.
+       Delete dead code.
+
+2005-12-01  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (expand_vec_cond_expr): Use EXPAND_NORMAL.
+
+2005-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def (BUILT_IN_PUTC, BUILT_IN_PUTC_UNLOCKED): New.
+
+       * config/pa/pa.c (pa_init_builtins): If we detect
+       DONT_HAVE_FPUTC_UNLOCKED, set builtin fputc_unlocked to
+       putc_unlocked.
+
+2005-12-01  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (fold_binary): Use fold_build2, not
+       fold (build (...)).
+
+2005-12-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/ms1/ms1.c (ms1_reorg_hazard): Don't count noop moves.
+
+       * vec.h (VEC_block_remove): New.
+
+2005-12-01  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       PR c/13384
+       * c-common.c (lvalue_error): Fix wording.
+
+2005-12-01  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr): Fix
+       thinko in last patch.
+
+2005-12-01  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/t-slibgcc-darwin (SHLIB_LINK): Use -single_module rather
+       than -flat_namespace.
+
+2005-12-01  Ben Elliston  <bje@au.ibm.com>
+
+        * mklibgcc.in: Parameterise the script to build soft float
+       functions by iterating over each type, rather than cloning the
+       code for each type.
+
+2005-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR middle-end/25158
+       * builtins.c (fold_builtin_fputs): Defer check for missing
+       replacement functions.
+
+2005-11-30  Kean Johnston  <jkj@sco.com>
+
+       * config/i386/i386.c: Check the value of SUPPORTS_ONE_ONLY, not
+       simply its presense in case targets #define SUPPORTS_ONE_ONLY 0.
+
+2005-11-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/22501
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
+       function split out from ...
+       (forward_propagate_addr_expr): ... here.  Use it to propagate
+       ADDR_EXPRs to all uses.
+
+2005-11-30  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * tree.h (CASE_FLT_FN, CASE_INT_FN): New macros.
+       * builtins.c (expand_builtin_mathfn): Use them.
+       (expand_builtin_mathfn_2): Likewise.
+       (expand_builtin_mathfn_3): Likewise.
+       (expand_builtin_int_roundingfn): Likewise.
+       (expand_builtin): Likewise.
+       (integer_valued_real_p): Likewise.
+       (fold_builtin_int_roundingfn): Likewise.
+       (fold_builtin_bitop): Likewise.
+       (fold_builtin_logarithm): Likewise.
+       (fold_builtin_1): Likewise.
+       * convert.c (convert_to_integer): Likewise.
+       * fold-const.c (negate_mathfn_p): Likewise.
+       (tree_expr_nonnegative_p): Likewise.
+
+2005-11-30  Dale Johannesen  <dalej@apple.com>
+            Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * combine.c (find_split_point):  Sign extend bitmask
+       when changing bitfield assignment to IOR of AND.
+
+2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
+       clobber to scratch reg.
+       (*decrement_and_branch_until_zero_no_clobber): Remove.
+       (decrement_and_branch peephole): Add dummy scratch reg to pattern.
+       (mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
+       * config/ms1/ms1.opt (mmul): Remove.
+       * config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
+       (LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.
+
+2005-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+           Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * pa/predicates.md (symbolic_operand): Add comment.
+       * pa/pa.md (reload_insi_r1, reload_indi_r1): New reload expanders.
+       * pa/pa-protos.h (pa_secondary_reload_class): Delete.
+       * pa/pa.c (TARGET_SECONDARY_RELOAD): Define.
+       (pa_secondary_reload_class): Delete.
+       (pa_secondary_reload): New function derived from SECONDARY_RELOAD_CLASS
+       and pa_secondary_reload_class.  Reorder some checks.  Update inline
+       copy of symbolic operand.
+       * pa/pa.h (SECONDARY_RELOAD_CLASS): Delete.
+
+2005-11-30  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * loop-doloop.c (add_test): Only add jump notes if we did emit a
+       jump.
+
+2005-11-30  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
+       handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
+2005-11-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
+       Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
+       (ia64_expand_move): Adjust caller.
+
+       * config/ia64/ia64.c (ia64_expand_atomic_op): Only use
+       fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
+       negate VAL.
+
+2005-11-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_plus_minus): Remove final parameter.
+       Always produce an output if we can remove NEGs or canonicalize
+       (minus (minus ...)) expressions.  Provide a fast path for the
+       two-operand case.
+       (simplify_gen_binary): Do not call simplify_plus_minus.
+       (simplify_binary_operation_1): Reassociate at the end of the
+       function.
+
+2005-11-29  Evan Cheng  <evan.cheng@apple.com>
+
+       * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
+       moves and unpack to speed up.
+
+2005-11-29  David S. Miller  <davem@sunset.davemloft.net>
+
+       * config/sparc/sparc.c (gen_compare_reg): Kill 2nd and 3rd
+       argument, they are always sparc_compare_op0 and sparc_compare_op1.
+       (gen_v9_scc): Update callers.
+       * config/sparc/sparc.md: Likewise.
+       * config/sparc/sparc-protos.h: Update extern declaration.
+
+       * tree-into-ssa.c (rewrite_into_ssa): Fix comment typo.
+
+2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fold-const.c (negate_expr) <case BIT_NOT_EXPR>: Add break after
+       the if.
+
+2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
+       (fold_unary) <case NEGATE_EXPR>: Move -(~a) transformation to ...
+       (negate_expr): Here.
+
+2005-11-29  Ben Elliston  <bje@au.ibm.com>
+
+       * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN):
+       Fix typo in comment.
+
+2005-11-29  Ben Elliston  <bje@au.ibm.com>
+
+       * Makefile.in (clean-target): Depend on clean-target-libgcc.
+       (clean-target-libgcc): Import rule from the top-level Makefile.in.
+
+2005-11-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR middle-end/20109
+       PR middle-end/25120
+       * builtins.c (init_target_chars): New.
+       (expand_builtin_printf, expand_builtin_fprintf,
+       expand_builtin_sprintf, fold_builtin_sprintf,
+       maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
+       fold_builtin_snprintf_chk, fold_builtin_printf,
+       fold_builtin_fprintf): Check for matching format strings using
+       the target charset.
+
+2005-11-29  Paul Brook  <paul@codesourcery.com>
+
+       * config.gcc: Do not use fixproto on m68k-elf.
+
+2005-11-28  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (div_cost): Replace with...
+       (sdiv_cost, udiv_cost): New.
+       (init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
+       Rename the div and mod fields, used to initialize sdiv_pow2_cheap
+       and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
+       (expand_divmod): Replace use of div_cost with either sdiv_cost
+       or udiv_cost depending upon the signedness of the operation.
+
+2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR libfortran/24991
+       * config/darwin.c (machopic_indirection_name,
+       machopic_output_indirection): Follow transparent alias chain.
+
+2005-11-28  Alexandre Oliva  <aoliva@redhat.com>
+
+       * varasm.c (ultimate_transparent_alias_target): Add comment.
+
+2005-11-28  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (notice_update_cc): Use SET_DEST and
+       SET_SRC instead of XEXP where appropriate.
+
+2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
+       __builtin_expect.
+
+2005-11-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/fp-bit.h (LSHIFT): Take shift count parameter.
+       * config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
+       bit at a time.
+
+2005-11-28  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_secondary_reload): Renamed from
+       secondary_input_reload_class, made static.  Adapt to new
+       infrastructure.
+       (secondary_output_reload_class): Delete.
+       (TARGET_SECONDARY_RELOAD): New macro.
+       * config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
+       SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
+
+2005-11-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/21166
+       * c-decl.c (finish_struct):  Only set DECL_PACKED on a field
+       when its natural alignment is > BITS_PER_UNIT.
+       * stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
+       * c-common.c (handle_packed_attribute): Ignore packing on a field
+       whose type is naturally char aligned.
+
+2005-11-28  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.c (strict_aliasing_warning): Handle all
+       component-ref like accesses.
+
+2005-11-28  Roger Sayle  <roger@eyesopen.com>
+           Uros Bizjak  <uros@kss-loka.si>
+
+       PR middle-end/20219
+       * fold-const.c (fold binary) <RDIV_EXPR>: Optimize
+       sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
+       when flag_unsafe_math_optimizations is set and
+       we don't care about NaNs or Infinities.
+
+       Move x/expN(y) and x/pow(y,z) transformation into common
+       flag_unsafe_math_optimizations section.
+
+2005-11-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.c (main): Change type of argv to "char **".
+
+2005-11-28  Alan Modra  <amodra@bigpond.net.au>
+
+       * doc/invoke.texi (powerpc msdata-data): Static data doesn't go in
+       small data sections.
+       * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Make global.
+       * config/rs6000/rs6000-protos.h: (rs6000_elf_in_small_data_p): Declare.
+       * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Rename to..
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): ..this, adding extra parm.  Don't
+       output locals to sbss if !rs6000_elf_in_small_data_p.
+       (ASM_OUTPUT_ALIGNED_BSS): Adjust for above.
+
+2005-11-28  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/24997
+       * config/rs6000/rs6000.c (legitimate_indexed_address_p): Allow pattern
+       generated by reload.
+       * config/rs6000/predicates.md (indexed_or_indirect_operand): Use
+       indexed_or_indirect_address.
+       (indexed_or_indirect_address): Don't test for base reg.  Call
+       address_operand last.  Make it a special predicate.
+
+2005-11-27  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (notice_update_cc): Remove useless code.
+
+2005-11-27  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/24575
+       * fold-const.c (negate_expr_p): Add case for signed divides if overflow
+       is undefined.
+       (negate_expr): Likewise.
+
+2005-11-27  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.c: Reindent and fix whitespace, remove
+       redundant parens.
+
+2005-11-27  Steven Bosscher  <stevenb@suse.de>
+
+       * cfgcleanup.c (try_crossjump_to_edge): Always split SRC2 if it
+       has EH predecessor edges.
+
+2005-11-26  Eric Christopher  <echristo@apple.com>
+
+       * config/i386/i386.md (*zero_extendqihi2_movzbw): Avoid partial
+       register stalls by zero extending to the full register.
+
+2005-11-27  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config/floatunsisf.c, config/floatunsidf.c,
+       config/floatunsixf.c, config/floatunsitf.c: New files.
+       * config/ia64/t-hpux: Add floatunsitf.c.
+       * config/ia64/ia64.c (ia64_init_libfuncs): Use
+       _U_Qfcnvxuf_dbl_to_quad for unsigned DImode-to-TFmode conversion.
+
+2005-11-26  Richard Henderson  <rth@redhat.com>
+
+       * c-lex.c (pragma_lex): Rename from c_lex.
+       * c-pch.c: Update for pragma_lex rename.
+       * c-pragma.c, c-pragma.h, config/ia64/ia64-c.c: Likewise.
+       * config/m32c/m32c-pragma.c, config/darwin-c.c: Likewise.
+       * config/rs6000/rs6000-c.c, config/c4x/c4x-c.c: Likewise.
+       * config/sol2-c.c, config/v850/v850-c.c: Likewise.
+       * doc/tm.texi: Likewise.
+
+2005-11-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23669
+       * fold-const.c (fold_binary): Convert -A/-B to A/B for signed types
+       when overflow is undefined.
+
+2005-11-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/md.texi (Insn Canonicalizations): Refer to the
+       function commutative_operand_precedence for further rules.
+
+2005-11-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/21309
+       * expmed.c (choose_mult_variant): Return immediately when mult_cost
+       is less than zero.  Limit mult_cost to a reasonable upper bound for
+       the synthetic multiplication sequence.
+
+2005-11-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       PR middle-end/25022
+       * builtins.c (expand_builtin_printf, expand_builtin_fprintf,
+       fold_builtin_fputs, fold_builtin_printf, fold_builtin_fprintf):
+       Lookup the explicit replacement functions for any unlocked
+       stdio builtin transformations.
+
+2005-11-25  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("reload_out<mode>"): Mark operand 2 as
+       earlyclobber.
+       * targhooks.c (default_secondary_reload): Don't require operand 2
+       for an input reload to be earlyclobber.
+
+2005-11-25  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * fold-const.c (negate_mathfn_p): Fix comment and add support
+       for BUILT_IN_CBRT, BUILT_IN_SINH, BUILT_IN_TANH, BUILT_IN_ASINH,
+       BUILT_IN_ATANH.
+
+2005-11-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR middle-end/24998
+       * config/sparc/sparc.c (sparc_init_libfuncs): Use _Q_utoq and
+       _Q_ulltoq for unsigned conversions from SImode and DImode to
+       TFmode.
+
+2005-11-25  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/ppc64-fp.c (__floatunditf): New function.
+       (__floatundidf, __floatundisf): Likewise.
+
+2005-11-25  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_sr_alias_set): Delete.
+       (rs6000_override_options): Remove initialization of
+       rs6000_sr_alias_set.
+       (rs6000_emit_eh_reg_restore): Use gen_frame_mem.
+       (rs6000_emit_stack_tie): Same.
+       (emit_frame_save): Same.
+       (gen_frame_mem_offset): Same.
+       (rs6000_emit_prologue): Same.
+       (rs6000_emit_epilogue): Same.
+
 2005-11-25  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR middle-end/24989
 
        PR c++/21667
        * c-typeck.c (build_array_ref): Avoid code duplicate.  Use common
-       C/C++ diagnostic function warn_array_subscript_with_type_char. 
-       * c-common.h (warn_array_subscript_with_type_char): Declare. 
+       C/C++ diagnostic function warn_array_subscript_with_type_char.
+       * c-common.h (warn_array_subscript_with_type_char): Declare.
        * c-common.c (warn_array_subscript_with_type_char): Define.
 
 2005-11-23  Gabriel Dos Reis  <gdr@integrable-solutions.net>
        PR target/24988
        * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Remove call
        to SUBTARGET_OS_CPP_BUILTINS.
-       
+
 2005-11-22  Richard Earnshaw  <richard.earnshaw@arm.com>
 
        * arm.c (emit_set_insn): New function.
        (vfp_emit_fstmx): Likewise.  Use plus_constant.
        (emit_multi_reg_push): Likewise.
        (emit_sfm): Use plus_constant.
-       
+
 2005-11-23  Alan Modra  <amodra@bigpond.net.au>
 
        PR target/24954
 
        * c-cppbuiltin.c (c_cpp_builtins): Define __pic__ and __PIC__ when
        flag_pic is set.
-       
+
        * config/alpha/freebsd.h, config/alpha/linux.h,
        config/arm/linux-elf.h, config/bfin/bfin.h,
        config/cris/linux.h, config/darwin.h, config/freebsd-spec.h,
 
 2005-11-21  Uros Bizjak  <uros@kss-loka.si>
 
-       * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0 
+       * fold-const.c (fold_binary) <RDIV_EXPR>: Optimize A / A to 1.0
        if we don't care about NaNs or Infinities.
 
 2005-11-20  Ian Lance Taylor  <ian@airs.com>
        * langhooks-def.h (LANG_HOOKS_LOOKUP_NAME): Add.
        (LANG_HOOKS_DECLS): Add initializer for LANG_HOOKS_LOOKUP_NAME.
        * langhooks.h (lang_hooks_for_decls): Add lookup_name.
-       
+
 2005-11-18  Richard Earnshaw  <richard.earnshaw@arm.com>
 
        PR target/24914
        as empty.
        * config/darwin.h (STARTFILE_SPEC): Use %(darwin_crt2) to possibly
        link in crt2.o.
-       
+
        * config/darwin.h (REAL_LIBGCC_SPEC): Link in shared libgcc depending
        on -mmacosx-version-min setting.
 
 
 2005-11-13  Razya Ladelsky <razya@il.ibm.com>
 
-        * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type 
+        * ipa-prop.c (ipa_callsite_compute_param ): Removed obsolete type
        checking.
 
 2005-11-13  Jason Merrill  <jason@redhat.com>
 2005-11-11  Jason Merrill  <jason@redhat.com>
 
        PR c++/24686
-       * gimplify.c (gimplify_cleanup_point_expr): Also save and restore 
+       * gimplify.c (gimplify_cleanup_point_expr): Also save and restore
        the cleanup list.
 
 2005-11-11  Zdenek Dvorak  <dvorakz@suse.cz>
 
 2005-11-10  Daniel Berlin  <dberlin@dberlin.org>
 
-       * tree-ssa-alias.c (compute_may_aliases): Remove call to 
+       * tree-ssa-alias.c (compute_may_aliases): Remove call to
        delete_old_heap_vars.
        * tree-dfa.c (referenced_var_remove): Remove function.
        * tree-ssa.c (init_tree_ssa): Call init_alias_heapvars.
 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        PR 24624
-       * config/s390/s390.c (struct s390_frame_layout): New fields 
+       * config/s390/s390.c (struct s390_frame_layout): New fields
        first_save_gpr_slot and last_save_gpr_slot.
-       (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,  
-       s390_emit_epilogue, s390_initial_elimination_offset): Replaced 
+       (cfun_grps_save_area_size, s390_frame_info, s390_emit_prologue,
+       s390_emit_epilogue, s390_initial_elimination_offset): Replaced
        first_save_gpr and last_save_gpr with the _slot variants.
-       (s390_register_info): Calculate first_save_gpr_slot and 
+       (s390_register_info): Calculate first_save_gpr_slot and
        last_save_gpr_slot using regs_ever_live.
 
 2005-11-09  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 2005-11-09  Per Bothner  <per@bothner.com>
            Uros Bizjak  <uros@kss-loka.si>
-       
+
        PR c/24101
        * toplev.c (process_options): Initialize debug_hooks early
        in case lang_hooks.post_options ends up calling a debug_hook.
        (oldheapvars): Ditto.
        (get_constraint_for): Put heap vars on heapvars list.
        (delete_old_heap_vars): New function.
-       
+
 2005-11-08  Jason Merrill  <jason@redhat.com>
 
        * tree.h (CALL_FROM_THUNK_P): Add CALL_EXPR_CHECK.
        DDR_DIST_VECTS.
        (build_classic_dist_vector, build_classic_dir_vector): Push a set
        of distance/direction vectors instead of a single one.
-       * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist 
+       * tree-data-ref.h (dir_vects, dist_vects): Replace dir/dist
        lambda_vectors with a vec of lambda_vectors.
        (DDR_DIR_VECT, DDR_DIST_VECT): Redefined as operations on vec.
        (DDR_DIR_VECTS, DDR_DIST_VECTS, DDR_NUM_DIR_VECTS,
        * predict.c (predict_loops): Use new param.
        * predict.def (MAX_PRED_LOOP_ITERATIONS): Remove.
 
-       * ipa-inline.c (cgraph_decide_inlining_of_small_function, 
+       * ipa-inline.c (cgraph_decide_inlining_of_small_function,
        cgraph_decide_inlining, cgraph_decide_inlining_incrementally):
        Do not hold memory returned by cgraph_node_name across other call.
 
        (collapse_rest_of_var): New function.
        (do_structure_copy): Collapse if do_simple_structure_copy returns
        false.
-       
+
 2005-11-03  Andrew Pinski  <pinskia@physics.uc.edu>
 
        PR middle-end/24589
        (compute_frame_pointer_to_cfa_displacement): Likewise.
        (gen_subprogram_die): Restore old code for when DWARF2_UNWIND_INFO is
        not defined.
-       
+
        PR rtl-optimization/17356
        *  cfgrtl.c (purge_dead_edges): Undo last change.  In EDGE_EH code,
        add check for CALL_INSN if EDGE_ABRNOMAL_CALL true.
        * predict.def (MAX_PRED_LOOP_ITERATIONS): Define.
 
 2005-10-31  Andrew MacLeod  <amacleod@redhat.com>
-       
+
        PR tree-optimization/19097
        * tree-ssa-operands.c (correct_use_link): Don't look for modified stmts.
 
 
        PR/24220
        * c-common.c (vector_types_convertible_p): Check vector element type.
-       
+
 2005-10-21  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        * config/sh/sh.c (prepare_move_operands): Handle the address
        PR 23714
        * builtins.c (expand_builtin_trap): Export.
        * expr.h (expand_builtin_trap): Declare.
-       * expr.c (expand_assignment): Emit a trap for integral offsets 
+       * expr.c (expand_assignment): Emit a trap for integral offsets
        from registers that weren't reduced to bitpos.
 
        * tree-cfg.c (mark_array_ref_addressable_1): Remove.
        (struct cxx): Add adjust_class_at_definition target hook.
        * target-def.h: (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): New define,
        defaulting to hook_bool_tree_true. Add to TARGET_INITIALIZER
-       (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to 
+       (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): New define, defaulting to
        hook_void_tree. Add to TARGET_CXX.
        * tree.h (struct decl_with_vis): Rename non_addr_const_p field to
        dllimport_flag.
        * tree.c (merge_dllimport_decl_attributes): Check DECL_DLLIMPORT_P
        instead of attribute. Check for dllexport override.  Warn if
        inconsistent dll linkage. Don't lose old dllimport if decl has
-       had address referenced.   Tweak lookup of dllimport atribute.  
+       had address referenced.   Tweak lookup of dllimport atribute.
        (handle_dll_attribute): Check targetm.valid_dllimport_attribute_p
        for target specific rules.  Don't add dllimport attribute if
        DECL_DECLARED_INLINE_P.  Set DECL_DLLIMPORT_P when adding
-       dllimport attribute. 
+       dllimport attribute.
        (staticp): Replace DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P.
        * varasm.c (initializer_constant_valid_p): Replace
        DECL_NON_ADDR_CONSTANT_P with DECL_DLLIMPORT_P
 
        PR target/21801
        PR target/23589
-       * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to 
+       * config.gcc (i[34567]86-*-cygwin*): Add winnt-cxx.o to
        'cxx_target_objs', winnt-stubs,o to 'extra_objs'.
        (i[34567]86-*-mingw32*): Likewise.
 
        * doc/tm.texi (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Document.
        (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Document.
-                       
+
        * config/i386/winnt.c (i386_pe_dllimport_p): Factor out
-       C++-specific code. Change return value to bool. 
+       C++-specific code. Change return value to bool.
        (i386_pe_dllimport_p): Likewise.
        (associated_type): Simplify and make language-independent
        (i386_pe_encode_section_info): Replace override of ambiguous
        * config/i386/winnt-stubs.c: New file. Define stub versions of
        lang-specific functions.
        * config/i386/i386-protos.h: Declare winnt-[cxx|stubs].c functions
-       i386_pe_type_dllimport_p, i386_pe_type_dllexport_p, 
+       i386_pe_type_dllimport_p, i386_pe_type_dllexport_p,
        i386_pe_adjust_class_at_definition.
-       (i386_pe_valid_dllimport_attribute_p): Declare. 
+       (i386_pe_valid_dllimport_attribute_p): Declare.
        * config/i386/cygming.h (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Define.
        (TARGET_CXX_ADJUST_CLASS_AT_DEFINITION): Define.
        * config/i386/t-cygming: Add rules for winnt-cxx.o, winnt-stubs.o.
 
 2005-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
-       PR middle-end/24263 
+       PR middle-end/24263
        * convert.c (convert_to_real): Revert 2005-10-05 patch.
        Only apply the optimization for rounding builtins if the inner
        cast is also an extension.
 
        2004-11-22  Mark Mitchell  <mark@codesourcery.com>
        * config.gcc (arm*-*-linux-gnueabi): Use __cxa_atexit.
+
        2004-11-19  Mark Mitchell  <mark@codesourcery.com>
        * config.gcc (arm*-*-linux-gnueabi): Add it.
        * config/arm/bpabi.h (FPUTYPE_DEFAULT): Undefine it before
        out return_label and naked_return_label.
 
 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        * tree-ssa-structalias.c (check_for_overlaps): Fix bug in last
        change.
 
        being a DECL.
 
 2005-10-06  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/22488
        * tree-ssa-structalias.c (check_for_overlaps): New function.
        (create_variable_info_for): Use it.
        PR Debug/23205
        * dbxout.c (dbxout_symbol): Check DECL_RTL_SET_P, after
        handling constants. Check NAMESPACE_DECL context for constants.
-       
+
 2005-10-05  Eric Christopher  <echristo@apple.com>
 
        * doc/md.texi (Standard Names): Fix name of pushm1 pattern.