OSDN Git Service

fix changelog entry
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cdb1fdc..d8c8dc1 100644 (file)
@@ -1,5 +1,690 @@
+2006-04-03  Paolo Bonzini  <bonzini@gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+
+       PR target/19653
+       * regclass.c (struct reg_pref): Update documentation.
+       (regclass): Set prefclass to NO_REGS if memory is the best option.
+       (record_reg_classes): Cope with a prefclass set to NO_REGS.
+       * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
+       into account.  For non-registers, equate an empty preferred
+       reload class to a `!' in the constraint; move the if clause to
+       do so after those that reject the insn.
+       (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
+       return NO_REGS.
+       (find_dummy_reload): Likewise.
+       * doc/tm.texi (Register Classes): Document what it means
+       if PREFERRED_*_RELOAD_CLASS return NO_REGS.
+       * config/i386/i386.c (ix86_preferred_reload_class): Force
+       using SSE registers (and return NO_REGS for floating-point
+       constants) if math is done with SSE.
+       (ix86_preferred_output_reload_class): New.
+       * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
+       * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
+       * config/i386/i386.md: Remove # register preferences.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR bootstrap/26992
+       * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+       chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
+       the type of nb_iter.
+       (instantiate_parameters_1): Convert the operands before calling
+       chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
+       * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
+
+2006-04-02  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (dummy_object): Use build_int_cst instead of convert.
+       * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
+       instead of convert.
+       * dojump.c (do_jump): Likewise.
+       * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
+       * gimplify.c (gimple_boolify, gimplify_init_constructor,
+       gimplify_boolean_expr): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * varasm.c (array_size_for_constructor): Likewise.
+       * tree-object-size.c (compute_object_offset): Likewise.
+
+2006-04-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/26977
+       * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
+       NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/26939
+       * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
+       at_stmt.  Convert the type of operands before calling 
+       build_polynomial_chrec.
+       (add_to_evolution): Pass an extra argument at_stmt.  Adjust the call to
+       add_to_evolution_1.
+       (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
+       (instantiate_parameters_1): Convert the type of operands before calling 
+       build_polynomial_chrec.
+       * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
+       chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
+       reset_evolution_in_loop): Insert asserts to check the types of the
+       operands.
+       (chrec_type): Moved...
+       (eq_evolutions_p): Use operand_equal_p.
+       * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
+       the types of the operands.
+       (chrec_type): ...here.
+       * tree-data-ref.c (create_data_ref): Convert the operands before
+       calling chrec_replace_initial_condition.
+       (same_access_functions, analyze_subscript_affine_affine,
+       analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
+       (compute_subscript_distance, analyze_ziv_subscript,
+       analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
+       analyze_miv_subscript): Convert the operands before calling
+       chrec_fold_minus or chrec_fold_plus.
+
+2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c (compute_all_dependences): Use a pointer to
+       the dependence_relations vector.
+       (compute_data_dependences_for_loop): Adjust call to
+       compute_all_dependences.
+
+2006-04-01  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
+       gimple_boolify on the condition before calling gimplify_expr.
+
+2006-03-31  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
+       to leaf_entry/leaf_return.  Change leaf_entry to add 16 bytes to
+       the frame size.  Update to use the new macros.
+       * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
+       * config/xtensa/ieee754-df.S: Likewise.
+
+2006-03-31  Richard Henderson  <rth@redhat.com>
+
+       * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
+       (make_edges): ... here.  Control fallthru creation with a local
+       variable.  Do not play with fake edges.
+       (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
+       (make_goto_expr_edges): Don't play with fake edges.  Make for_call
+       a boolean.
+
+2006-04-01  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * dwarf2.h (DW64_CIE_ID): Define.
+       * dwarf2out.c (DWARF_CIE_ID): Define.
+       (output_call_frame_info): Output 0xffffffff before standard 8-byte
+       length header.  Use DWARF_CIE_ID.
+       (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
+       dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
+
+2006-03-31  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-atomic.asm: New file.
+       * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
+
+2006-03-31  DJ Delorie  <dj@redhat.com>
+
+       * config/m32c/cond.md: Set condition flags properly throughout.
+       * config/m32c/minmax.md: Likewise.
+       * config/m32c/prologue.md: Likewise.
+       * config/m32c/bitops.md: Likewise.
+       * config/m32c/muldiv.md: Likewise.
+       * config/m32c/mov.md: Likewise.
+       * config/m32c/addsub.md: Likewise.
+       * config/m32c/m32c.md: Likewise.
+       * config/m32c/jump.md: Likewise.
+       * config/m32c/shift.md: Likewise.
+
+       * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
+       conditionally output the pattern for this.
+       * config/m32c/m32c.c (flags_needed_for_conditional): New.
+       (m32c_compare_redundant): New.
+       (m32c_output_compare): New.
+       * config/m32c/m32c-protos.h (m32c_output_compare): New.
+
+       * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
+       dest, not src.  Allow other 4-byte modes.
+
+2006-03-30  Denis Chertykov  <denisc@overta.ru>
+
+       * doc/md.texi: Refer to avr/constraints.md instead of
+       avr/avr.h.
+
+2006-03-30  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
+       signed vs. unsigned comparison failures on some hosts.
+
+2006-03-31  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26459
+       * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
+       change to FLOAT_REGS.
+
+       * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
+       (rs6000_override_options): Use it.
+       (rs6000_handle_option): Set it.  Set rs6000_explicit_options.abi
+       only for -mabi=spe/no-spe and -mabi=altivec.
+
+2006-03-30  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
+       !Zdynamiclib.
+
+2006-03-30  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * Makefile.in: Rename docdir to gcc_docdir.
+
+2006-03-30  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/17959
+       * expr.c (emit_group_store):  Optimize group stores into a pseudo
+       register by using a paradoxical subreg to initialize the destination
+       if the first or last member of the group specifies a "low part".
+
+2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       PR target/26734
+       * rtl.def (DEPS_LIST): Change type of the second operand to 'int'.
+       * target.h (struct gcc_target.speculate_insn): Change type of the
+       second parameter to 'int'.
+       * lists.c (alloc_DEPS_LIST): Change signature.  Update reference to
+       the second operand of the DEPS_LIST.
+       (copy_DEPS_LIST_list): Update reference to the second operand of the
+       DEPS_LIST.
+       * rtl.h (alloc_DEPS_LIST): Update signature.
+       * sched-int.h (ds_t): Change typedef to 'int'.
+       (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
+
+2006-03-30  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       * haifa-sched.c (try_ready): Change condition to restore
+       non-speculative pattern of the instruction.
+       (process_insn_depend_be_in_spec): Code to keep probability of the
+       speculative dependence non-decreasing.
+
+2006-03-30  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.c (single_move_for_strmov): Renamed to...
+       (single_move_for_movmem): ... this. Also change all uses.
+       (bfin_expand_strmov): Renamed to...
+       (bfin_expand_movmem): ... this. Also change all uses.
+       * config/bfin/bfin.md (movstrsi): Renamed to...
+       (movstrsi): ...this.
+
+2006-03-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/26830
+
+       * tree-ssa-copy.c (copy_prop_visit_assignment): Do not check loop depth.
+       (copy_prop_visit_stmt): Remove write-only variable ann.
+       (init_copy_prop): Check variable loop depth here.  Do not simulate
+       memory-tag and virtual operand PHIs except for store copy prop.
+
+2006-03-30  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386.c: Remove builtins for SSE2 ABI intrinsic
+       variants with double arguments.
+
+2006-03-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * genpreds.c (write_tm_constrs_h): Delete variable p.
+       * genconditions.c (write_header): Add tm-constrs.h to included
+       headers.
+       * genpeep.c (main): Add toplev.h to included headers.
+       * Makefile.in (build/gencondmd.o): Add tm-constrs.h dependency.
+       (build/genpeep.o): Add toplev.h dependency.
+       * config/rs6000/constraints.md: Add "W" constraint.
+
+2006-03-29  Roger Sayle  <roger@eyesopen.com>
+
+       * stor-layout.c (mode_for_size_tree): Remove restiction on type
+       sizes by correctly testing whether the size fits a host integer.
+       (initialize_sizetypes): Use set_min_and_max_values_for_integral_type
+       to correctly set TYPE_MIN_VALUE and TYPE_MAX_VALUE to the full
+       SImode range for the default sizetype and bitsizetype.
+
+2006-03-29  Roger Sayle  <roger@eyesopen.com>
+
+       * convert.c (convert_to_pointer): Preserve the TREE_OVERFLOW
+       and TREE_CONSTANT_OVERFLOW bits of the argument.  Return
+       quickly if the argument is already of the correct type.
+       Call fold_build1 instead of build1.  Tidy up blank lines.
+
+2006-03-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * genemit.c (main): Add tm-constrs.h to included headers.
+       * genoutput.c (output_prologue): Add tm-constrs.h to included headers.
+       * genpeep.c (main): Add tm-constrs.h to included headers.
+       * genpreds.c (write_satisfies_constraint_fns): Rename to ...
+       (write_tm_constrs_h): this and write complete file.
+       (write_tm_preds_h): Do not emit satisfies_constraint fns.
+       (write_insn_preds_c): Add tm-constrs.h to included headers.
+       (gen_constrs): New variable.
+       (parse_option): Parse "-c".
+       (main): Invoke write_tm_constrs_h.
+       * genrecog.c (write_header): Add tm-constrs.h to included headers.
+       * Makefile.in (STAGECOPYSTUFF): Add tm-constrs.h.
+       (object_out_file): Add tm-constrs.h dependency.
+       (insn-emit.o): Same.
+       (insn-output.o): Same.
+       (insn-peep.o): Same.
+       (insn-preds.o): Same.
+       (insn-recog.o): Same.
+       (tm-constsr.h): New target.
+       (s-constrs-h): New target.
+
+       * config/rs6000/constraints.md: New file.
+       * config/rs6000/rs6000.c: Include tm-constrs.h.
+       (num_insn_constant_wide): Convert to satisfies_constraint.
+       (rs6000_rtx_costs): Convert to satisfies_constraint.
+       * config/rs6000/rs6000.h (REG_CLASS_FROM_LETTER): Delete.
+       (CONST_OK_FOR_LETTER_P): Delete.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+       (EXTRA_CONSTRAINT): Delete.
+       (EXTRA_MEMORY_CONSTRAINT): Delete.
+       (EXTRA_ADDRESS_CONSTRAINT): Delete.
+       * config/rs6000/predicates.md: Convert to satisfies_constraint.
+       * config/rs6000/rs6000.md: Include constraints.md.  Convert to
+       satisfies_constraint.
+
+       * config/i386/i386.c: Include tm-constrs.h.
+
+2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-loop-linear.c (compute_data_dependences_for_loop): Adjust calls.
+       * tree-data-ref.c (find_data_references_in_loop,
+       compute_data_dependences_for_loop): Use pointers to VEC.
+       (analyze_all_data_dependences): Adjust calls.
+       * tree-data-ref.h (find_data_references_in_loop,
+       compute_data_dependences_for_loop): Adjust declarations.
+       * tree-vect-analyze.c (vect_analyze_data_refs): Adjust call to
+       compute_data_dependences_for_loop.
+
+2006-03-29  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/vfp.md (movsf_vfp): Disparage w<->r alternatives.
+       (movdf_vfp): Ditto.
+
+2006-03-29  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       PR tree-optimization/26859
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined): Avoid
+       division by zero.
+       (convert_step): Remove TREE_OVERFLOW and TREE_CONSTANT_OVERFLOW flags
+       for the step after fold_convert.
+
+2006-03-29  Paul Brook  <paul@codesourcery.com>
+
+       * reload1.c (choose_reload_regs): Check for all RTX_AUTOINC operators.
+       (inc_for_reload): Handle PRE_MODIFY and POST_MODIFY addresses.
+
+2006-03-29  Paul Brook  <paul@codesourcery.com>
+
+       PR middle-end/23623
+       * targhooks.c (default_narrow_bitfield): New fuction.
+       * targhooks.h (default_narrow_bitfield): add prototype.
+       * target.h (gcc_target): Add narrow_volatile_bitfield.
+       * target-def.h (TARGET_NARROW_VOLATILE_BITFIELD): Define.
+       * stor-layout.c (get_best_mode): Use targetm.narrow_volatile_bitfield.
+       * doc/tm.texi: Document TARGET_NARROW_VOLATILE_BITFIELDS.
+       * config/arm/arm.c (TARGET_NARROW_VOLATILE_BITFIELD): Define.
+
+2006-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config.gcc (s390-*-linux-*, s390x-*-linux*): Add t-dfprules to 
+       tmake_file.
+       * config/s390/s390.c (S390_scalar_mode_supported_p): New function.
+       (NR_C_MODES): Add TDmode, DDmode and SDmode.
+       (s390_output_pool_entry, ): Accept MODE_DECIMAL_FLOAT.
+       (s390_hard_regno_mode_ok): Disallow TDmode in integer regs.
+       (s390_function_arg_float): Allow SDmode and DDmode values to be
+       passed in floating point registers.
+       (s390_function_arg_integer, s390_function_value): Replace MODE_FLOAT 
+       check with SCALAR_FLOAT_MODE_P.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): Define target macro.
+
+2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/25985
+       * tree-ssa-loop-niter.c (number_of_iterations_le,
+       number_of_iterations_ne): Make comments more precise.
+       (number_of_iterations_cond): Add only_exit argument.  Use the
+       fact that signed variables do not overflow only when only_exit
+       is true.
+       (loop_only_exit_p): New.
+       (number_of_iterations_exit): Pass result of loop_only_exit_p to
+       number_of_iterations_cond.
+
+2006-03-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/26643
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not handle
+       bit_field_refs.
+
+2006-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (udivsi3_i4_int): Clobber MACH_REG and MACL_REG.
+       (divsi3_i4_int): Likewise.
+
+2006-03-28  Roger Sayle   <roger@eyesopen.com>
+
+       * expr.c (emit_group_store): Only create a new pseudo reg if the
+       quantity it needs to hold isn't already a suitable pseudo.
+
+2006-03-28  Jeff Law  <law@redhat.com>
+
+       * timevar.def (TV_TREE_PHI_CPROP): New timevar.
+       * tree-ssa-dom.c (pass_phi_only_cprop): Use it.
+
+2006-03-28  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_binary) <BIT_XOR_EXPR>: Fold (X & Y) ^ Y as
+       the equivalent ~X & Y, and the symmetry related transformations.
+       (fold_binary) <BIT_AND_EXPR>: Similarly, fold (X ^ Y) & Y as 
+       ~X & Y, and symmetry related transforms.
+
+2006-03-28  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       Revert my 2006-03-27 patches.
+
+2006-03-28  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold_unary) <NOP_EXPR>: Fold (T1)(~(T2)X) as
+       ~(T1)X, when T1 and T2 are integer types of the same precision
+       and (T2)X isn't an extension.
+
+2006-03-28  Jeff Law  <law@redhat.com>
+
+       PR tree-optimization/26796
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Queue blocks which
+       need EH edge cleanups rather than purging them immediately.
+       (eliminate_degenerate_phis): Handle queued EH cleanups.
+
+2006-03-28  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-alias.c (create_sft): Initially inherit TREE_ADDRESSABLE
+       from parent_var.
+
+2006-03-27  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/22524
+       * fold-const.c (fold_binary) <MINUS_EXPR>: Call fold_convert to
+       cast BIT_NOT_EXPR operand to the correct type.
+
+2006-03-27  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-loop-linear.c: Don't include varray.h.
+       (gather_interchange_stats, try_interchange_loops,
+       linear_transform_loops): Use VEC instead of VARRAY.
+       * lambda-mat.c: Don't include varray.h.
+       * tree-chrec.c: Same.
+       * lambda-trans.c: Same.
+       * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info): Use
+       VEC instead of VARRAY.
+       * tree-vectorizer.h: Idem.
+       * tree-data-ref.c (dump_data_references,
+       dump_data_dependence_relations, dump_dist_dir_vectors, dump_ddrs,
+       initialize_data_dependence_relation, finalize_ddr_dependent,
+       compute_all_dependences, find_data_references_in_loop,
+       compute_data_dependences_for_loop, analyze_all_data_dependences,
+       free_dependence_relation, free_dependence_relations,
+       free_data_refs): Idem.
+       * tree-data-ref.h (data_reference_p, subscript_p): New.
+       (data_dependence_relation, DDR_SUBSCRIPT, DDR_NUM_SUBSCRIPTS): Use
+       VEC instead of VARRAY.
+       (DDR_SUBSCRIPTS_VECTOR_INIT): Removed.
+       (find_data_references_in_loop, compute_data_dependences_for_loop,
+       dump_ddrs, dump_dist_dir_vectors, dump_data_references,
+       dump_data_dependence_relations, free_dependence_relations,
+       free_data_refs): Adjust declaration.
+       (lambda_transform_legal_p): Move declaration here...
+       * tree-vect-analyze.c (vect_analyze_data_ref_dependences,
+       vect_compute_data_refs_alignment, vect_verify_datarefs_alignment,
+       vect_enhance_data_refs_alignment, vect_analyze_data_ref_accesses,
+       vect_analyze_data_refs): Use VEC instead of VARRAY.
+       * lambda.h (lambda_transform_legal_p): ...from here.
+       * lambda-code.c (lambda_transform_legal_p): Use VEC instead of VARRAY.
+       * tree-vect-transform.c (vect_update_inits_of_drs): Idem.
+       * Makefile.in (tree-loop-linear.o, lambda-mat.o, lambda-trans.o,
+       tree-chrec.o): Don't depend on VARRAY_H.
+
+2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       * rtl.def (Copyright): Update date.
+       (DEPS_LIST): Change type of the second operand to 'int'.
+       * target.h (Copyright): Update date.
+       (struct gcc_target.speculate_insn): Change type of the second parameter
+       to 'int'.
+       * lists.c (Copyright): Update date.
+       (alloc_DEPS_LIST): Change signature.  Update reference to the second
+       operand of the DEPS_LIST.
+       (copy_DEPS_LIST_list): Update reference to the second operand of the
+       DEPS_LIST.
+       * rtl.h (Copyright): Update date.
+       (alloc_DEPS_LIST): Update signature.
+       * sched-int.h (Copyright): Update date.
+       (ds_t): Change typedef to 'int'.
+       (DEP_STATUS, BITS_PER_DEP_STATUS): Update.
+
+2006-03-27  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+       * haifa-sched.c (Copyright): Update date.
+       (try_ready): Change condition to restore non-speculative pattern
+       of the instruction.
+       (process_insn_depend_be_in_spec): Code to keep probability of the
+       speculative dependence non-decreasing.
+
+2006-03-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * regrename.c (replace_oldest_value_addr): Initialize a variable to
+       shut up the compiler.
+
+2006-03-27  J"orn Rennecke <joern.rennecke@st.com>
+
+       * config/sh/t-sh ($(T)libic_invalidate_array_4-100.a): Fix rule
+       to use lib prefix for target.
+       ($(T)libic_invalidate_array_4-200.a): Likewise.
+       ($(T)libic_invalidate_array_4a.a): Likewise.
+
+2006-03-27  Andrew Stubbs <andrew.stubbs@st.com>
+           J"orn Rennecke <joern.rennecke@st.com>
+
+       * superh.opt: New file.
+       * sh.c (boardtype, osruntime): Remove.
+       * superh.h (SUBTARGET_OPTIONS): Remove.
+       * config.gcc (sh*-superh-elf): Add sh/superh.opt to extra_options.
+
+       * config.gcc (sh*-*-*): Don't use c-c ranges for tr.  Quote sed
+       arguments with ^ and/or [].
+
+       * config.gcc (sh-*-*): Add quoting to account for quirk of
+       Solaris /bin/sh.
+       Replace == with = in enable_incomplete_targets test.
+
+       * config/sh/superh.h (SUBTARGET_LINK_SPEC): Replace LITTLE_ENDIAN_BIT
+       with MASK_LITTLE_ENDIAN.
+
+       * config.gcc (sh*-superh-elf): Add sh/superh.h to tm_file.
+       * config/sh/sh.opt: Added to some comments.
+       * config/sh/superh.h: Removed some chaff.
+
+       * config/sh/sh.opt: Add m4-[1234]00* options.
+       * config/sh/sh.c (sh_handle_option): Likewise.
+       * config/sh/t-sh (IC_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Define.
+       (ic_invalidate_array_4-100.o): New rule.
+       ($(T)libic_invalidate_array_4-100.a): Likewise.
+       (ic_invalidate_array_4-200.o): Likewise.
+       ($(T)libic_invalidate_array_4-200.a): Likewise.
+       (ic_invalidate_array_4a.o): Likewise.
+       ($(T)libic_invalidate_array_4a.a): Likewise.
+       * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Add IC_EXTRA_PARTS.
+       * config/sh/embed-elf.h (LIBGCC_SPEC): Add clauses for m4-100*,
+       m4-200*, and m4a*.
+       * config/sh/crt1.asm: Merged in profiling code.
+       * config/sh/superh.h (STARTFILE_SPEC): Override.
+       * config/sh/t-superh: Override EXTRA_MULTILIB_PARTS.
+       Add rules for $(T)crt1-mmu.o, $(T)gcrt1-mmu.o and $(T)gcrt1.o.
+       * config.gcc (sh*-superh-elf): Add t-superh to tmake_file.
+
+       * t-sh (MULTILIB_MATCHES): Add sh4-[1245]00* variants.
+       * config/sh/t-superh: Removed now-redundant MULTILIB_OPTIONS /
+       MULTILIB_DIRNAMES / MULTILIB_MATCHES settings.
+
+       * sh.opt (mpretend-cmove): New option.
+       * sh.h (OPERRIDE_OPTIONS): Switch it off if not TARGET_SH1.
+       * sh.md (movsicc_t_false, movsicc_t_tru): New patterns.
+       (movsicc): Add TARGET_PRETEND_CMOVE code.
+
+2006-03-27  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_hard_regno_mode_ok, 
+       s390_class_max_nregs): New function prototypes.
+       * config/s390/s390.c (REGNO_PAIR_OK): New macro.
+       (s390_hard_regno_mode_ok, s390_class_max_nregs): New functions.
+       * config/s390/s390.h (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK,
+       CLASS_MAX_NREGS): Macro bodies replaced by function calls.
+
+2006-03-26  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (add_location_or_const_value_attribute): Call
+       tree_add_const_value_attribute if nothing else works.
+       (reference_to_unused): New.
+       (rtl_for_decl_init): Use reference_to_unused to decide whether
+       to output an initializer.
+
+2006-03-27  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/26459
+       * config/rs6000/rs6000.md (DF reg move peephole): Prevent
+       peephole removing spe frob_di_df_2.
+
+2006-03-26  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c: Rename DDR_SIZE_VECT to DDR_NB_LOOPS.
+       (subscript_dependence_tester_1): Declared.
+       (print_dir_vectors, print_dist_vectors): New.
+       (debug_data_dependence_relation): New.
+       (dump_data_dependence_relation): Print more details.
+       (initialize_data_dependence_relation): Initialize DDR_LOOP_NEST.
+       (analyze_subscript_affine_affine): Don't ICE when gcd_alpha_beta is 0.
+       (save_dist_v, save_dir_v, add_outer_distances,
+       build_classic_dist_vector_1): New.
+       (build_classic_dist_vector): Rewrite to work on DDR_LOOP_NEST.
+       Don't test for lambda_vector_lexico_pos.
+       (same_access_functions, add_multivariate_self_dist,
+       add_other_self_distances, dir_from_dist): New.
+       (build_classic_dir_vector): Replace implementation almost identical to 
+       build_classic_dist_vector with a walk of DDR_DIST_VECTS with a call to
+       dir_from_dist.
+       (subscript_dependence_tester_1): New.
+       (subscript_dependence_tester): Handle the lexicographically negative
+       distance vectors by recomputing the dependence relation.
+       (compute_affine_dependence): Remove parameter loop_nest_depth.
+       (compute_self_dependence): Don't call compute_subscript_distance.
+       (compute_all_dependences): Remove parameters nb_loops, loop_nest_depth.
+       Add a parameter for the loop_nest.
+       (find_loop_nest_1, find_loop_nest): New.
+       (compute_data_dependences_for_loop): Compute the loop nest, and give
+       up if the nest is not well formed.
+       * tree-data-ref.h (loop_p): New.
+       (struct data_dependence_relation): Replace size_vect field with 
+       loop_nest, a vec of loops.
+       (DDR_SIZE_VECT): Renamed DDR_NB_LOOPS.
+       (DDR_LOOP_NEST): New.
+       (print_dir_vectors, print_dist_vectors,
+       debug_data_dependence_relation): Declared.
+       (index_in_loop_nest): New.
+       * tree-vect-analyze.c (vect_analyze_data_ref_dependence): Use
+       DDR_LOOP_NEST and index_in_loop_nest to determine the dependence
+       distance.
+
+2006-03-25  Adam Nemet  <anemet@caviumnetworks.com>
+
+       * simplify-rtx.c (simplify_relational_operation): Call
+       simplify_relational_operation_1 even if mode is VOIDmode.
+
+2006-03-25  Daniel Berlin  <dberlin@dberlin.org>
+
+       PR tree-optimization/26804
+       * tree.h (DECL_CALL_CLOBBERED): New macro.
+       (tree_decl_common): Add call_clobbered_flag.
+       * tree-flow-inline.h (is_call_clobbered): Use DECL_CALL_CLOBBERED.
+       (mark_call_clobbered): Set DECL_CALL_CLOBBERED.
+       (clear_call_clobbered): Clear DECL_CALL_CLOBBERED.
+       (mark_non_addressable): Ditto.
+       * tree-ssa.c (verify_call_clobbered): New function.
+       (verify_alias_info): Use it.
+       * tree-pass.h (pass_reset_cc_flags): New prototype.
+       * tree-ssa-alias.c (pass_reset_cc_flags): New structure.
+       (reset_cc_flags): New function.
+       * passes.c (init_optimization_passes): Call reset_cc_flags after
+       initializing referenced_vars.
+
+2006-03-25  Uros Bizjak  <uros@kss-loka.si>
+           Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/26717
+       * fold-const.c (fold_binary) [RDIV_EXPR]: Do not optimize A / A
+       to 1.0 for non-real operands. Implement A / A optimization for
+       complex operands.
+
+2006-03-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (size_cost): Correct the comment for
+       cost of storing fp registers.
+       (i386_cost): Likewise.
+       (i486_cost): Likewise.
+       (pentium_cost): Likewise.
+       (pentiumpro_cost): Likewise.
+       (k6_cost): Likewise.
+       (athlon_cost): Likewise.
+       (k8_cost): Likewise.
+       (pentium4_cost): Likewise.
+       (nocona_cost): Likewise.
+       (generic64_cost): Likewise.
+       (generic32_cost): Likewise.
+
+2006-03-24  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr-protos.h (extra_constraint): Delete.
+       (extra_constraint_Q): New declaration.
+       * config/avr/constraints.md: New file.
+       * config/avr/avr.md: Include it.
+       (REG_X, REG_Y, REG_Z, REG_W): New constants.
+       (TMP_REGNO, ZERO_REGNO): Likewise.
+       (UNSPEC_STRLEN, UNSPEC_INDEX_JMP): Likewise.
+       * config/avr/avr.c (avr_reg_class_from_letter): Delete.
+       (extra_constraint): Delete.
+       (extra_constraint_Q): Test for memory constraint 'Q'.
+       * config/avr/avr.h (REG_X,REG_Y,REG_Z,REG_W): Delete.
+       (REG_CLASS_FROM_LETTER): Delete.
+       (CONST_OK_FOR_LETTER_P): Delete.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+       (EXTRA_CONSTRAINT): Delete.
+       (TMP_REGNO): Delete.
+       (ZERO_REGNO): Delete.
+
+2006-03-24  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (propagate_rhs_into_lhs): Don't call update_stmt
+       directly.  Call mark_new_vars_to_rename slightly earlier.
+
 2006-03-24  Geoffrey Keating  <geoffk@apple.com>
 
+       * dwarf2out.c (is_c_family): Understand new DWARF3 language types.
+       (is_cxx): Likewise.
+       (gen_compile_unit_die): Use new language types for Objective-C and
+       Objective-C++.
+       (dwarf2out_decl): Use is_cxx rather than testing explicitly against
+       DW_LANG_C_plus_plus.
+
        PR 26793
        * config/t-darwin (crt3.o): Work around bug 26840.
        * config/darwin-crt3.c: Rewrite.