OSDN Git Service

* gcc.c-torture/execute/ieee/ieee.exp: Set float-store for 32-bit
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d6aa061..1657e7d 100644 (file)
@@ -1,3 +1,278 @@
+2005-05-26  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+       See through ADDR_EXPR in finding place to propagate into.
+
+2005-05-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
+       cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
+       ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
+       tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
+       tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
+       tree-ssa-operands.c, tree-vect-analyze.c,
+       tree-vect-transform.c, tree-vectorizer.c, tree.c,
+       config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
+       config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
+       config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+       config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
+       config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+       config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
+       config/sh/ushmedia.h, config/sparc/sparc.c,
+       config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
+       typos.  Follow spelling conventions.
+       * doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
+       Follow spelling conventions.
+
+2005-05-26  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.c (mips_use_ins_ext_p): New helper function
+       that determines whether the MIPS32/64 R2 ext/ins should be used.
+       * config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
+       * config/mips/mips.md (extzv): Changed predicate for operand to
+       nonimmediate_operand. Add code to generate insn patterns for
+       extzvsi and extzvdi.
+       (extzv<mode>): New pattern to match mips32/64 r2 ext insn.
+       (insv): Similarly for insertion.
+       (insv<mode>): Similarly.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (avoid_constant_pool_reference): Support
+       offsetted addresses in the constant pool.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+       * df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
+
+2005-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/21716
+       * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
+       found in the basic block and last insn in the basic block is not
+       INSN_P.  Remove explicit unspec numbers that are no longer valid
+       from comments.
+
+2005-05-26  Paolo Bonzini  <bonzini@gnu.org>
+
+       * tree-vect-transform.c (vectorizable_operation): Try word_mode
+       vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
+       if a vector mode is available.
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/21709
+       * fold-const.c (const_binop): Check for division by zero during
+       complex division.
+
+2005-05-26  Ian Lance Taylor  <ian@airs.com>
+
+       * reload1.c (verify_initial_elim_offsets): Add braces to avoid
+       having a declaration after a statement.
+
+2005-05-26  Richard Sandiford  <rsandifo@redhat.com>
+
+       * opt-functions.awk (var_type): New function.
+       (var_set): Use CLVC_STRING if var_type returns "const char *".
+       * opth-gen.awk: Use var_type to find out the types of variables.
+       Don't print comments above each "extern" definition.
+       * optc-gen.awk: Use var_type in the same way.
+       * opts.h (cl_var_cond): Rename to...
+       (cl_var_type): ...this.  Add CLVC_STRING.
+       (cl_option): Make "flag_var" a "void *" pointer.  Replace "var_cond"
+       with "var_type".
+       * opts.c (handle_option, option_enabled): Update after above name
+       change.  Cast flag_var before using it.  Handle CLVC_STRING.
+       
+       * config/alpha/alpha.h (alpha_tls_size): Delete.
+       * config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
+       (alpha_tune_string, alpha_tp_string, alpha_fprm_string)
+       (alpha_fptm_string, alpha_mlat_string): Delete.
+       (alpha_handle_option): Don't set the above variables here.  Use the
+       integer argument to check the validity of -mtls-size=.
+       * config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
+       (mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
+       (mtls-size=): Likewise.  Convert to a UInteger and initialize the
+       variable to 32.
+
+       * config/arc/arc.c (arc_cpu_string, arc_text_string)
+       (arc_data_string, arc_rodata_string): Delete.
+       (arc_handle_option): Don't set the above variables here.
+       * config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
+       and initialize them.
+
+       * config/arm/arm.c (target_fpu_name, target_fpe_name)
+       (target_float_abi_name, target_abi_name, structure_size_string)
+       (arm_pic_register_string): Delete.
+       (arm_handle_option): Don't set the above variables here, except
+       in the handling of -mhard-float and -msoft-float.
+       * config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
+       (mpic-register=, mstructure-size-boundary=): Add Var()s.
+
+       * config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
+       (avr_handle_option): Delete.
+       * config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
+       them.
+
+       * config/bfin/bfin.c (bfin_library_id): Delete.
+       (bfin_handle_option): Don't set it.
+       * config/bfin/bfin.opt (mshared-library-id=): Add Var().
+
+       * config/c4x/c4x.h (c4x_rpts_cycles): Delete.
+       * config/c4x/c4x.c (c4x_rpts_cycles): Delete.
+       (c4x_handle_option): Don't set c4x_rpts_cycles here.
+       * config/c4x/c4x.opt (mrpts=): Add Var().
+
+       * config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
+       cris_elinux_stacksize_str here.
+       * config/cris/aout.opt (melinux-stacksize=): Add Var().
+       * config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       * config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
+       (cris_tune_str, cris_elinux_stacksize_str): Delete.
+       (cris_handle_option): Don't set the above variables here.
+       * config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
+       (max-stackframe=): Add Var()s.
+
+       * config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
+       * config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
+       (ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
+       (ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
+       (ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
+       (ix86_branch_cost_string, ix86_align_funcs_string): Delete.
+       (ix86_handle_option): Don't set the above variables here.
+       * config/i386/i386.opt (malign-functions=, malign-jumps=)
+       (malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
+       (mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
+       Var()s.
+
+       * config/ia64/ia64.h (ia64_tls_size): Delete.
+       * config/ia64/ia64.c (ia64_tls_size): Delete.
+       (ia64_handle_option): Treat -mtls-size= as a UInteger option,
+       reading the integer argument from the "value" parameter.  Don't
+       set ia64_tls_size here.
+       * config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
+       Add Var() and Init().
+
+       * config/m32r/m32r.h (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       * config/m32r/m32r.c (m32r_cache_flush_func): Delete.
+       (m32r_cache_flush_trap): Delete.
+       (m32r_handle_option): Don't set the above variables when handling
+       -mflush-func= and -mflush-trap=.
+       * config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
+       and Init()s.
+
+       * config/mips/mips.h (mips_cache_flush_func): Delete.
+       * config/mips/mips.c (mips_arch_string, mips_tune_string)
+       (mips_cache_flush_func): Delete.
+       (mips_handle_option): Don't set the above variables when handling
+       -march=, -mtune= and -mflush-func=.
+       * config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
+
+       * config/s390/s390.c (s390_arch_string): Delete.
+       (s390_handle_option): Don't set it here.
+       * config/s390/s390.opt (march=): Add Var().
+
+       * config/sparc/sparc.h (sparc_cmodel_string): Delete.
+       * config/sparc/sparc.c (sparc_cmodel_string): Delete.
+       (sparc_handle_option): Don't set it here.
+       * config/sparc/sparc.opt (mcmodel=): Add Var().
+
+2005-05-25  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
+       call to convert_to_integer by building the NOP_EXPR directly.
+
+2005-05-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
+
+2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+           Jeff Law  <law@redhat.com>
+
+       * tree-cfg.c (verify_expr, case ADDR_EXPR): Verify invariant,
+       constant and side_effects of the ADDR_EXPR are consistent.
+
+       * tree-nested.c (convert_local_reference): Set CURRENT_FUNCTION_DECL
+       appropriately around calls to recompute_tree_invarant_for_addr_expr.
+
+2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (GP_ARG_NUM_REG, FP_ARG_NUM_REG): New defines.
+       (s390_function_arg, s390_gimplify_va_arg): Use them.
+       (s390_register_info): Save only required subset of argument
+       registers into save area for va_list.
+       (s390_va_start): Initialize only required elements of va_list struct.
+       (s390_build_builtin_va_list): Set va_list_[gf]pr_counter_field.
+
+2005-05-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * reload1.c (verify_initial_elim_offsets): Return boolean status
+       instead of aborting.
+       (reload): Adapt verify_initial_elim_offsets call site.  Restart
+       main loop if some initial elimination offsets changed.
+
+2005-05-25  Adam Nemet  <anemet@lnxw.com>
+
+       * config/rs6000/lynx.h (CC1_SPEC): Use -maix-struct-return instead
+       of -mno-svr4-struct-return.
+
+2005-05-25  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/21705
+       
+       * tree-ssa-pre.c (in_fre): New static variable.
+       (create_value_expr_from): Recursively value number reference ops
+       in argument lists.
+       (can_value_number_call): Temporary restrict only exists for
+       PRE, not FRE.
+
+2005-05-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-into-ssa.c (rewrite_into_ssa, update_ssa): Replace
+       sizeof (bitmap *) with sizeof (bitmap).
+
+2005-05-25  Daniel Berlin <dberlin@dberlin.org>
+
+       * lambda-code.c (perfect_nestify): Call update_stmt on the exit
+       condition.
+
+2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c (TARGET_INSN_VALID_WITHIN_DOLOOP): Set to
+       hook_bool_rtx_true.
+
+2005-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (ipa-inline.o): Add COEVERAGE_H dependency.
+       * cgraph.c (cgraph_create_node): Reset estimated_growth.
+       * cgraph.h (cgraph_global_info): Add estimated_growth.
+       * ipa-inline.c: Include coverage.h
+       (max_insns, max_count): New static variables.
+       (cgraph_estimate_size_after_inlining): Cache the result.
+       (cgraph_estimate_growth):
+       * passes.c (rest_of_clean_state): Kill coverage_end_function.
+       * timevar.def (TV_INLINE_HEURISTICS): New timevar.
+       * tree-optimize.c (init_tree_optimization_passes): Move profiling before
+       inlining.
+       (ipa_passes): Initialize bitmaps.
+
+2005-05-25  Adrian Straetling  <straetling@de.ibm.com>
+
+       * loop-doloop.c: Include "target.h". 
+         (doloop_valid_p): Move tests to function in targhooks.c.
+       * target.h (struct gcc_target): New target hook
+         "insn_valid_within_doloop".
+       * target-def.h: Define default value for "insn_valid_within_doloop".
+         (TARGET_INITIALIZER): Insert new target hook into initializer.
+       * targhooks.c (default_insn_valid_within_doloop): New function.
+       * targhooks.h (default_insn_valid_within_doloop): Declare.
+       * hooks.c (hook_bool_rtx_true): New function.
+       * hooks.h (hook_bool_rtx_true): Declare.
+       * doc/tm.texi: Add documentation for new target hook.
+
 2005-05-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        PR target/21412
 
 2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
 
+       * tree-ssa-math-opts.c: New file.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
        * Makefile.in: Add tree-ssa-math-opts.c.
        * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
        * fold-const.c (distribute_real_division): New.