+2006-03-10 Jason Merrill <jason@redhat.com>
+
+ PR c/26004
+ * gimplify.c (gimplify_modify_expr_rhs): Don't do return slot opt if
+ the target was declared 'register'.
+
+2006-03-10 Adam Nemet <anemet@caviumnetworks.com>
+
+ * genpreds.c (write_insn_constraint_len): Change definition of
+ insn_constraint_len to return size_t to match the declaration.
+
+2006-03-10 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_const_ok_for_constraint_p): Bit numbers
+ start at zero.
+ (m32c_expand_insv): Fix test for an AND mask.
+
+2006-03-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/26565
+ * builtins.c (get_pointer_alignment): Handle component
+ references for field alignment.
+
+2006-03-10 J"orn Rennecke <joern.rennecke@st.com>
+
+ * config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
+ when building with libgloss.
+ (sh*elf): Implement --without-fp option.
+ (sh64-superh-linux*): Don't multilib.
+
+2006-03-10 J"orn Rennecke <joern.rennecke@st.com>
+
+ * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
+
+2006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.
+ Set it when one of the replacement functions returned true.
+ Return TODO_cleanup_cfg if cfgchanged is true.
+ (pass_phiopt) <todo_flags_finish>: Remove TODO_cleanup_cfg.
+
+2006-03-09 Adam Nemet <anemet@caviumnetworks.com>
+
+ * combine.c (simplify_shift_const_1): Use gen_lowpart_or_truncate
+ instead of gen_lowpart.
+
+2006-03-09 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips-protos.h (mips_output_conditional_branch): Change
+ interface.
+ (mips_output_order_conditional_branch): Declare.
+ * config/mips/mips.h (MIPS_BRANCH): New macro.
+ * config/mips/mips.c (gen_conditional_branch): Use VOIDmode
+ for the comparison. Use gen_condjump.
+ (mips_output_conditional_branch): Rework interface to take the
+ asm templates for a direct branch and the inverse of a direct branch.
+ (mips_output_order_conditional_branch): New function.
+ (mips_builtin_branch_and_move): New function.
+ (mips_expand_builtin_compare): Use it. Use VOIDmode for the
+ branch condition. Use gen_single_cc as the condition for
+ __builtin_mips_upper_* or __builtin_mips_lower_*.
+ (mips_expand_builtin_bposge): Use mips_builtin_branch_and_move.
+ Use VOIDmode for the branch condition.
+ * config/mips/predicates.md (order_operator): New predicate.
+ * config/mips/mips.md (UNSPEC_SINGLE_CC): New constant.
+ (branch_fp): Rename to...
+ (*branch_fp): ...this. Remove mode from comparison operator.
+ Use new mips_output_conditional_branch interface.
+ (branch_fp_inverted): Rename to...
+ (*branch_fp_inverted): ...this and update as for *branch_fp.
+ (*branch_zero<mode>): Rename to...
+ (*branch_order<mode>): ...this. Remove mode from comparison operator.
+ Use mips_output_order_conditional_branch. Only accept ordered
+ comparisons.
+ (*branch_zero<mode>_inverted): Rename to...
+ (*branch_order<mode>_inverted): ...this and update as for
+ *branch_order<mode>.
+ (*branch_equality<mode>): Accept zero as the second operand to
+ the equality operator. Use the new mips_output_conditional_branch
+ interface.
+ (*branch_equality<mode>_inverted): Likewise.
+ (condjump): New expander.
+ * config/mips/mips-dsp.md (mips_bposge): Remove mode from comparison
+ operator.
+ * config/mips/mips-ps-3d.md (bc1any4t, bc1any4f): Likewise.
+ (bc1any2t, bc1any2f): Likewise.
+ (single_cc): New expander.
+ (*branch_upper_lower, *branch_upper_lower_inverted): New patterns.
+
+2006-03-09 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/md.texi: Update documentation of MIPS constraints.
+ * config/mips/constraints.md: New file.
+ * config/mips/mips.md: Include it.
+ * config/mips/mips.c (mips_char_to_class): Delete.
+ (override_options): Don't initialize mips_char_to_class.
+ * config/mips/mips.h (mips_char_to_class): Delete.
+ (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_LETTER_P): Delete.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT_Y): Delete.
+ (EXTRA_CONSTRAINT_STR): Delete.
+ (CONSTRAINT_LEN): Delete.
+ (EXTRA_MEMORY_CONSTRAINT): Delete.
+
+2006-03-09 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-cfg.c (move_block_to_fn): Remove the statements from the
+ original fn's eh regions.
+
+2006-03-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (build_range_check): Make sure to use a valid type to
+ apply the "(c>=low) && (c<=high) into (c-low>=0) && (c-low<=high-low)"
+ transformation.
+
+ (range_predecessor): New static function.
+ (range_successor): Likewise.
+ (merge_ranges): Use them to compute predecessors and successors of
+ range bounds.
+
+2006-03-09 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/26561
+ * fold-const.c (fold_div_compare): When optimizing X/C1 op C2 as
+ X op C3, consider whether C3 overflows towards +Inf or -Inf.
+
+2006-03-08 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/addsub.md (addqi3): Disparage a0/a1.
+ (addpsi3): Expand to include memory operands. Remove
+ reload-specific splits.
+ * config/m32c/bitops.md (bset_qi, bset_hi, bclr_qi): New.
+ (andqi3_16, andhi3_16, iorqi3_16, iorhi3_16): New.
+ (andqi3_24, andhi3_24, iorqi3_24, iorhi3_24): New.
+ (andqi3, andhi3, iorqi3, iorhi3): Convert to expanders.
+ (shift1_qi, shift1_hi, insv): New.
+ * config/m32c/cond.md (cbranchqi4, cbranchhi4): Remove.
+ (cbranch<mode>4, stzx_16, stzx_24_<mode>, stzx_reversed,
+ cmp<mode>, b<code>, s<code>, s<code>_24, movqicc, movhicc,
+ cond_to_int): New.
+ * config/m32c/m32c-protos.h: Update as needed.
+ * config/m32c/m32c.c (m32c_reg_class_from_constraint): Don't
+ default the Rcr, Rcl, Raw, and Ral constraints. Add Ra0 and Ra1.
+ Fail for unrecognized R* constraints.
+ (m32c_cannot_change_mode_class): Be more picky about pseudos.
+ (m32c_const_ok_for_constraint_p): Add Imb, Imw, and I00.
+ (m32c_extra_constraint_p2): Allow (mem (plus (plus fb int) int)).
+ Add Sp constraint.
+ (m32c_init_libfuncs): New.
+ (m32c_legitimate_address_p): Add debug wrapper.
+ (m32c_rtx_costs): New.
+ (m32c_address_cost): New.
+ (conversions): Add 'B' prefix.
+ (m32c_print_operand): 'h' and 'H' pick lower and upper halves of
+ operands, or word regnames for QI operands. 'B' prints bit
+ position.
+ (m32c_expand_setmemhi): New.
+ (m32c_expand_movmemhi): New.
+ (m32c_expand_movstr): New.
+ (m32c_expand_cmpstr): New.
+ (m32c_prepare_shift): Shift counts are limited to 16 bits at a time.
+ (m32c_expand_neg_mulpsi3): Handle non-ints.
+ (m32c_cmp_flg_0): New.
+ (m32c_expand_movcc): New.
+ (m32c_expand_insv): New.
+ (m32c_scc_pattern): New.
+ * config/m32c/m32c.h (reg classes): Add AO_REGS and A1_REGS. Take
+ a0/a1 out of SIregs.
+ (STORE_FLAG_VALUE): New.
+ * config/m32c/m32c.md: Add unspecs for string moves. Define various mode and
+ code macros.
+ (no_insn): New.
+ * config/m32c/mov.md: Make constraints more liberal.
+ (zero_extendqihi2): Optimize r0/r1 case.
+ * config/m32c/muldiv.md (mulpsi3): Check for intvals.
+ * config/m32c/predicates.md (m32c_any_operand): New.
+ (m32c_nonimmediate_operand): New.
+ (m32c_hl_operand): New.
+ (m32c_r3_operand): New.
+ (ap_operand): New.
+ (ma_operand): New.
+ (memsym_operand): New.
+ (memimmed_operand): New.
+ (a_qi_operand): New.
+ (m32c_eqne_operator): New.
+ (m32c_1bit8_operand): New.
+ (m32c_1bit16_operand): New.
+ (m32c_1mask8_operand): New.
+ (m32c_1mask16_operand): New.
+ * config/m32c/blkmov.md: New file.
+ * config/m32c/t-m32c (MD_FILES): Add blkmov.
+
+2006-03-08 Andreas Tobler <a.tobler@schweiz.ch>
+
+ * dwarf2out.c (expand_builtin_dwarf_sp_column): Make dwarf_regnum
+ unsigned to fix signed/unsigned comparison issue in
+ DWARF2_FRAME_REG_OUT.
+ (expand_builtin_init_dwarf_reg_sizes): Make i unsigned to fix signed/
+ unsigned comparison issue in DWARF2_FRAME_REG_OUT.
+
+ * tree-ssa-operands.c (finalize_ssa_def_ops): Move the declaration
+ of ptr into the ENABLE_CHECKING section.
+
+2006-03-08 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (infer_value_range): Only count pointer uses
+ and dereferences if -fdelete-null-pointer-checks is enabled.
+
+ * tree-vrp.c (find_assert_locations): Infer value ranges for
+ single use pointers, but do not create ASSERT_EXPRs for them.
+ When a non-null range is inferred for a pointer, backwards
+ propagate that range to other equivalent pointers through the
+ use-def chain.
+
+2006-03-08 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/26500
+ * Makefile.in (dvi, html, install-info): Invoke the corresponding
+ language hook targets.
+ * ada/Make-lang.in, cp/Make-lang.in, objc/Make-lang.in,
+ objcp/Make-lang.in: Create stub rules for dvi, html, install-info
+ if language hook targets were missing.
+
+2006-03-07 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-opfinalize.h: Removed.
+ * Makefile.in (tree-ssa-operands.o): Remove tree-ssa-opfinalize.h
+ dependency.
+ * tree-ssa-operands.c: Do not include tree-ssa-opfinalize.h.
+ (ALLOC_OPTYPE, APPEND_OP_AFTER, MOVE_HEAD_AFTER, MOVE_HEAD_TO_FREELIST,
+ INITIALIZE_USE, add_def_op, add_use_op, add_vuse_op, add_maydef_op,
+ add_mustdef_op, finalize_ssa_def_ops, finalize_ssa_use_ops,
+ finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
+ finalize_ssa_v_must_def_ops): New.
+
+2006-03-07 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * df-scan.c: (df_bb_refs_record): Fix obvious typo with wrong
+ block as parameter.
+
+2006-03-07 Geoffrey Keating <geoffk@apple.com>
+
+ * varasm.c (assemble_end_function): Say that 'fnname' is unused.
+
+ * config/i386/i386.c (ix86_delegitimize_address): Handle Darwin
+ addresses with offsets; reorganize.
+
+ * dwarf2out.c (DWARF2_FRAME_REG_OUT): Move up in file.
+ (expand_builtin_dwarf_sp_column): Call DWARF2_FRAME_REG_OUT.
+ (expand_builtin_init_dwarf_reg_sizes): Likewise.
+
+2006-03-08 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ PR target/26588
+ * config/i386/cygwin.h (GOMP_SELF_SPECS): Define.
+
+2006-03-08 Ben Elliston <bje@au.ibm.com>
+
+ * config/fp-bit.h (CMPtype): Typedef to a word mode integer.
+
+2006-03-07 Aldy Hernandez <aldyh@redhat.com>
+
+ PR gomp/26238
+ * doc/passes.texi (Tree-SSA passes): Document omp lowering and
+ expansion.
+
+2006-03-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/26587
+ * tree-ssa-structalias.c (handle_ptr_arith): Handle MINUS_EXPR.
+
+2006-03-07 Richard Sandiford <richard@codesourcery.com>
+
+ * varasm.c (assemble_variable): Fix setting of DECL_IN_TEXT_SECTION.
+
+2006-03-07 Richard Sandiford <richard@codesourcery.com>
+
+ * hooks.c (hook_bool_mode_rtx_true): New function.
+ * hooks.h (hook_bool_mode_rtx_true): Declare.
+ * toplev.c (compile_file): Call output_shared_constant_pool.
+ * varasm.c (shared_constant_pool): New variable.
+ (assemble_start_function, assemble_end_function): Remove arguments
+ from call to output_constant_pool.
+ (create_constant_pool): New function, split out from...
+ (init_varasm_status): ...here.
+ (force_const_mem): Choose between the shared and per-function constant
+ pools. Set current_function_uses_const_pool when reusing old entries
+ as well as when creating new ones.
+ (mark_constant): Ignore data argument.
+ (mark_constants): Remove pool argument.
+ (mark_constant_pool): Likewise. Use current_function_uses_const_pool
+ to decide whether the function uses a constant pool.
+ (output_constant_pool_contents): New function, split out from...
+ (output_constant_pool): ...here.
+ (output_shared_constant_pool): New function.
+ (init_varasm_once): Initialize shared_constant_pool.
+ * output.h (output_constant_pool): Delete.
+ (output_shared_constant_pool): Declare.
+ * config/s390/s390-protos.h (s390_output_constant_pool): Delete.
+ * config/i386/i386.c (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Override.
+
+2006-03-06 Nick Clifton <nickc@redhat.com>
+
+ * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove reference to
+ flag_strength_reduce.
+
+2006-03-06 Ben Elliston <bje@au.ibm.com>
+
+ * config.gcc: Add t-dfprules to $tmake_file for i*86-*-linux* and
+ x86_64-*-linux* configurations.
+
+ * config/dfp-bit.h (CMPtype): Typedef to a word mode integer.
+ (LIBGCC2_WORDS_BIG_ENDIAN): Define.
+
+2006-03-05 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-ssa-threadupdate.c (rediscover_loops_after_threading):
+ Remove.
+ * basic-block.h: Remove the extern for
+ rediscover_loops_after_threading.
+
+ * cfgloop.c (cancel_loop): Make it static.
+ * cfgloop.h: Remove the prototype for cancel_loop.
+
+ * flow.c (recompute_reg_usage): Make it static.
+ * rtl.h: Remove the prototype for recompute_reg_usage.
+
+ * function.c (use_return_register): Make it static.
+ * function.h: Remove the prototype.
+
+2006-03-05 Kazu Hirata <kazu@codesourcery.com>
+
+ * recog.c (volatile_mem_p, validate_change_maybe_volatile):
+ Remove.
+ * recog.h: Remove the prototype for
+ validate_change_maybe_volatile.
+
+2006-03-05 Kazu Hirata <kazu@codesourcery.com>
+
+ * rtlanal.c (replace_reg): Remove.
+ * rtl.h: Remove the prototype for replace_reg.
+
2006-03-05 Kazu Hirata <kazu@codesourcery.com>
* regclass.c (reg_scan_update): Remove.