OSDN Git Service

* doc/md.texi: Update documentation of MIPS constraints.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8a226e6..9b1fb91 100644 (file)
@@ -1,3 +1,415 @@
+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.
+       (reg_scan_mark_refs): Remove the last argument.
+       * rtl.h: Remove the prototype for reg_scan_update.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * builtins.c, c-pragma.h, c-typeck.c, cgraph.c, cgraphunit.c,
+       combine.c, common.opt, config/dfp-bit.c, config/i386/i386.c,
+       config/m68k/m68k.c, config/m68k/m68k.md, config/mt/mt.c,
+       config/mt/mt.h, config/s390/s390.md, df-core.c, df-problems.c,
+       df-scan.c, df.h, diagnostic.c, expr.c, function.h, gimplify.c,
+       loop-invariant.c, omp-low.c, opts.c, passes.c,
+       rtl-factoring.c, rtlanal.c, struct-equiv.c, tree-cfgcleanup.c,
+       tree-ssa-loop-niter.c, tree-ssa-loop-prefetch.c,
+       tree-ssa-structalias.c, tree-ssa-threadedge.c,
+       tree-ssa-threadupdate.c, tree-vect-patterns.c,
+       tree-vect-transform.c, tree-vectorizer.h, tree-vrp.c,
+       unwind-dw2.c: Fix comment typos.  Follow spelling conventions.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * dwarf2out.c (dwarf2out_add_library_unit_info): Remove.
+       * dwarf2out.h: Remove the prototype for
+       dwarf2out_add_library_unit_info.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree.c (add_var_to_bind_expr): Remove.
+       * tree.h: Remove the prototype for add_var_to_bind_expr.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * regclass.c (n_non_fixed_regs): Remove.
+       (init_reg_sets_1, globalize_reg): Remove all uses of
+       n_non_fixed_regs.
+       * hard-reg-set.h: Remove the extern for n_non_fixed_regs.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * rtlanal.c (insns_safe_to_move_p): Remove.
+       * rtl.h: Remove the prototype for insns_safe_to_move_p.
+
+2006-03-04  Kazu Hirata  <kazu@codesourcery.com>
+
+       * expmed.c (expand_mult_add): Remove.
+       * expr.h: Remove the prototype for expand_mult_add.
+
+2006-03-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
+       and REG_SAVED_VAL_EXP constants.
+       * unwind-dw2.c (struct _Unwind_Context): Add by_value array.
+       (_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
+       Handle regs stored by value.
+       (_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
+       (execute_cfa_program): Handle DW_CFA_val_offset,
+       DW_CFA_val_offset_sf and DW_CFA_val_expression.
+       (uw_update_context_1): Handle REG_SAVED_REG with regs stored by
+       value specially.  Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
+       (uw_install_context_1): Handle target regs stored by value.
+
+2006-03-03  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-sra.c (tree_sra): Return todoflags;
+       (generate_one_element): Set TODO_update_smt_usage if needed.
+       (pass_sra): Remove TODO_update_smt_usage.
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr): Add some
+       parameter.
+       (tree_ssa_forward_propagate_single_use_vars): Return
+       TODO_update_smt_usage if we need to update SMT usage.
+       (pass_forwprop): Remove TODO_update_smt_usage.
+       
+2006-03-03  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-operands.c: Tidy whitespace.  Fix spelling.
+       (correct_use_link): Remove reference to get_stmt_operands.
+       (update_stmt_operands): Likewise.
+       (get_modify_expr_operands): New function factored out of
+       parse_ssa_operands and get_expr_operands.
+       Try to create V_MUST_DEFs for LHS by default.
+       (get_expr_operands) <case MODIFY_EXPR>: Call
+       get_modify_expr_operands.
+       <case ARRAY_RANGE_REF>: Handle together with ARRAY_REF.
+       <case BIT_FIELD_REF>: Clear opf_kill_def from FLAGS.
+       (parse_ssa_operands) <case MODIFY_EXPR>: Call
+       get_modify_expr_operands.
+
+2006-03-03  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-dfa.c (referenced_var_lookup_if_exists): Remove.
+       * tree-flow.h: Remove the prototype for
+       referenced_var_lookup_if_exists.
+
+2006-03-03  Steve Ellcey  <sje@cup.hp.com>
+
+       PR rtl-optimization/26345
+       PR target/19061
+       * config/ia64/predicates.md (basereg_operand): Don't look in subregs.
+
+2006-03-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/26524
+       * tree-scalar-evolution.c (interpret_rhs_modify_expr): Use
+       fold_convert to create a constant of the appropriate type.
+
+2006-03-03  Richard Sandiford  <richard@codesourcery.com>
+
+       * doc/tm.texi: Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
+       SYMBOL_REF_IN_BLOCK_P.
+       * doc/rtl.texi: Likewise.  Refer to SYMBOL_FLAG_HAS_BLOCK_INFO instead
+       of SYMBOL_FLAG_IN_BLOCK.
+       * gengtype.c (adjust_field_rtx_def): Use SYMBOL_REF_HAS_BLOCK_INFO_P
+       instead of SYMBOL_REF_IN_BLOCK_P.
+       * explow.c (use_anchored_address): Likewise.
+       * rtl.c (rtx_size): Likewise.
+       * varasm.c (create_block_symbol): Set SYMBOL_FLAG_HAS_BLOCK_INFO
+       instead of SYMBOL_FLAG_IN_BLOCK.
+       (make_decl_rtl): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
+       SYMBOL_REF_IN_BLOCK_P.
+       (assemble_variable): Likewise.
+       (output_constant_def_contents): Likewise.
+       (output_constant_pool): Likewise.
+       (default_encode_section_info): Preserve SYMBOL_FLAG_HAS_BLOCK_INFO
+       instead of SYMBOL_FLAG_IN_BLOCK.
+       * rtl.h (block_symbol): Refer to SYMBOL_REF_HAS_BLOCK_INFO_P instead of
+       SYMBOL_REF_IN_BLOCK_P.
+       (SYMBOL_REF_BLOCK): Likewise.
+       (SYMBOL_REF_OFFSET): Likewise.
+       (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_HAS_BLOCK_INFO_P instead of
+       SYMBOL_REF_IN_BLOCK_P.
+       (SYMBOL_FLAG_IN_BLOCK): Replace with...
+       (SYMBOL_FLAG_HAS_BLOCK_INFO): ...this.
+       (SYMBOL_REF_IN_BLOCK_P): Replace with...
+       (SYMBOL_REF_HAS_BLOCK_INFO_P): ...this.
+
+2006-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/arm/unwind-arm.h (_Unwind_GetIPInfo): Fix pasto.
+
+2006-03-02  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (simplify_unary_operation): When simplifying
+       (neg (lt X 0)) into (ashiftrt X C) or (lshiftrt X C), make sure
+       that we perform the right shift in the appropriate mode, and
+       then extend or truncate the result to requested mode.
+
+2006-03-03  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * gengtype.c (main): Handle double_int type.
+       * tree.h (struct tree_int_cst): Make type of int_cst double_int.
+       * double-int.c: New file.
+       * double-int.h: New file.
+       * system.h: Include doubleint.h.
+       * Makefile.in (SYSTEM_H): Include double-int.h.
+       (double-int.o): Add.
+
 2006-03-03  Joseph S. Myers  <joseph@codesourcery.com>
 
        PR bootstrap/26478
@@ -6,7 +418,8 @@
 
 2006-03-02  Zdenek Dvorak <dvorakz@suse.cz>
 
-       * tree-vrp.c (remove_range_assertions): Do not update statements unnecessarily.
+       * tree-vrp.c (remove_range_assertions): Do not update statements
+       unnecessarily.
 
 2006-03-02  Zdenek Dvorak <dvorakz@suse.cz>