+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
Uros Bizjak <uros@kss-loka.si>
PR middle-end/20219
- * fold-const.c (fold binary) <RDIV_EXPR>: Optimize
+ * 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.