OSDN Git Service

2005-12-02 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c0b9477..0185109 100644 (file)
@@ -1,3 +1,203 @@
+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