+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.
+ * config/darwin.h (STARTFILE_SPEC): Don't use -l for crt3.o.
+
+2006-03-24 Carlos O'Donell <carlos@codesourcery.com>
+
+ * doc/invoke.texi: Document -femit-class-debug-always
+ * common.opt: Add -femit-class-debug-always.
+
+2006-03-24 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.c (s390_decompose_address): Allow SImode for
+ index and base register.
+ (s390_expand_plug_operand, legitimate_address_p, preferred_la_operand_p,
+ print_operand_address, print_operand): Replaced REG_OK_FOR_BASE_STRICT_P
+ with REGNO_OK_FOR_BASE_P and REG_OK_FOR_INDEX_STRICT_P with
+ REGNO_OK_FOR_INDEX_P.
+ * config/s390/s390.h (REGNO_OK_FOR_INDEX_P): Replaced check with
+ ADDR_REGNO_P.
+ (REG_OK_FOR_INDEX_NONSTRICT_P, REG_OK_FOR_BASE_NONSTRICT_P,
+ REG_OK_FOR_INDEX_STRICT_P, REG_OK_FOR_BASE_STRICT_P, REG_OK_FOR_INDEX_P,
+ REG_OK_FOR_BASE_P): Definitions removed.
+
+2006-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/26611
+ * gimplify.c (gimplify_bind_expr): Only call omp_add_variable on
+ non-global variables that don't have DECL_SEEN_IN_BIND_EXPR_P bit
+ set yet or weren't marked as local yet.
+
+2006-03-24 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * regrename.c (scan_rtx_address): Initialize a variable to shut up
+ the compiler.
+
+2006-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_offsettable_memref_p): Declare.
+ (rs6000_legitimate_small_data_p): Delete.
+ * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New predicate.
+ (rs6000_legitimate_small_data_p): Rename to legitimate_small_data_p
+ and make static. Add forward declaration. Update uses.
+ (rs6000_split_multireg_move): Use rs6000_offsettable_memref_p instead
+ of offsettable_memref_p.
+ * config/rs6000/rs6000.md (movdf_hardfloat32): Revert 2005-08-23 fix.
+ Use rs6000_offsettable_memref_p instead of a less accurate predicate.
+
+2006-03-24 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Temporarily work
+ around bug in immediate-use iterator.
+
+2006-03-24 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/26607
+ * config/rs6000/darwin-ldouble.c: Don't compile when __NO_FPRS__
+ or __LITTLE_ENDIAN__.
+
+2006-03-23 J"orn Rennecke <joern.rennecke@st.com>
+
+ * config/sh/divtab-sh4.c, config/sh/divcost-analysis: New files.
+ * config/sh/lib1funcs.asm (div_table): Add !__SH5__ variant.
+ * config/sh/t-sh (LIB1ASMFUNCS): Add _div_table.
+ * config/sh/sh.opt (mdiv=): Amend description.
+ * config/sh/sh.h (TARGET_DIVIDE_CALL_DIV1): New macro.
+ (TARGET_DIVIDE_CALL_FP, TARGET_DIVIDE_CALL_TABLE): Likewise.
+ (sh_divide_strategy_e): Add new members SH_DIV_CALL_DIV1,
+ SH_DIV_CALL_FP, SH_DIV_CALL_TABLE and SH_DIV_INTRINSIC.
+ (OVERRIDE_OPTIONS): Also process sh_div_str for TARGET_SH1.
+ Calculate sh_divsi3_libfunc using TARGET_DIVIDE_* macros.
+ * config/sh/sh.md (udivsi3_i4_int, divsi3_i4_int): New patterns.
+ (udivsi3, divsi3): Use them. Check TARGET_DIVIDE_CALL_TABLE /
+ TARGET_DIVIDE_CALL_FP.
+
+2006-03-23 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+ * haifa-sched.c (choose_ready): Fix type of the local variable.
+ Move local variables. Add comment.
+ (check_reg_live): Change signature. Make callable from debugger.
+ * sched-int.h (check_reg_live): Update signature.
+ * sched-ebb.c (check_reg_live): Update parameters.
+ * sched-rgn.c (check_reg_live): Ditto.
+ (region_head_or_leaf_p): Check pointer before dereferencing.
+ * config/ia64/ia64.c (ia64_set_sched_flags): Disable data speculation
+ before reload on optimization levels below 1.
+
2006-03-23 Richard Henderson <rth@redhat.com>
+ * config/alpha/alpha.c (alpha_legitimate_constant_p): Reject
+ tls symbols.
+
PR target/26347
* config/alpha/predicates.md (local_symbolic_operand): Reject
weak symbols.