OSDN Git Service

gcc/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 813e37d..e47ecd1 100644 (file)
+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.
+
+2006-03-23  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26795
+       * tree-ssa-pre.c (create_value_expr_from): Don't reject
+       expressions which have overflowed constants.
+
+2006-03-23  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * cse.c (cse_end_of_basic_block): Do not check for LOOP_END note.
+
+2006-03-23  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * cfgloopmanip.c (create_loop_notes): Removed.
+       * final.c (final_scan_insn): Do not handle loop notes.
+       * jump.c (squeeze_notes): Ditto.
+       * cfglayout.c (skip_insns_after_block,
+       duplicate_insn_chain): Ditto.
+       * cfgcleanup.c (rest_of_handle_jump2): Do not call
+       create_loop_notes.
+       * cfgloop.h (create_loop_notes): Declaration removed.
+
+2006-03-23  Richard Sandiford  <richard@codesourcery.com>
+
+       * varasm.c (output_constant_pool): Restore fnname and fndecl
+       arguments.
+       (assemble_start_function): Adjust call accordingly.
+       (assemble_end_function): Likewise.
+
+2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR mudflap/26790
+       * tree-mudflap.c (mudflap_finish_file): Skip erroneous objects.
+
+       PR mudflap/26789
+       * tree-mudflap.c (mf_xform_derefs_1): Return early on error_mark_node.
+
+2006-03-22  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR driver/22600
+       * system.h (ICE_EXIT_CODE): New macro.
+       * diagnostic.c (diagnostic_count_diagnostic): Exit with ICE_EXIT_CODE.
+       (diagnostic_action_after_output): Likewise.
+       * gcc.c (fatal_ice): New function.
+       (execute): Use it instead of fatal.
+       (fancy_abort): Likewise.
+       * doc/invoke.texi (-pass-exit-codes): Document return code for ICEs.
+
+2006-03-22  Jeff Law  <law@redhat.com>
+
+       * loop-unroll.c (analyze_iv_to_split_insn): Handle
+       iv_analyze_result returning false.
+
+2006-03-22  Jie Zhang  <jie.zhang@analog.com>
+
+       * config/bfin/bfin.h (ASM_FORMAT_PRIVATE_NAME): Remove.
+
+2006-03-22  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/26084
+       * except.c (duplicate_eh_regions_0): New.
+       (duplicate_eh_region_1): Duplicate the children of the node as
+       well as the node itself.  Link them up properly.
+       (duplicate_eh_region_2): Merge into ...
+       (duplicate_eh_regions): ... here.  Take copy_region argument, and
+       copy only a sub-tree if asked.  Simplify copying and fixup.
+       (eh_region_outer_p): New.
+       * except.h (duplicate_eh_regions): Update decl.
+       (eh_region_outer_p): Declare.
+       * omp-low.c (lower_omp_single): Fix eh region placement wrt OMP_RETURN.
+       (lower_omp_master): Likewise.
+       (lower_omp_ordered): Likewise.
+       * tree-cfg.c (struct move_stmt_d): Add new_label_map.
+       (move_stmt_r): Use it to remap labels.  Handle recursion vs
+       remap_decls_p properly.
+       (move_block_to_fn): Pass in new_label_map.  Remap RESX_EXPR.
+       (find_outermost_region_in_block): New.
+       (new_label_mapper): New.
+       (move_sese_region_to_fn): Copy eh information to the new function
+       properly.
+       * tree-inline.c (copy_cfg_body): Update for new duplicate_eh_regions
+       argument.
+       * tree-pretty-print.c (dump_generic_node): Dump RESX_EXPR region
+       number.
+
+2006-03-22  Richard Sandiford  <richard@codesourcery.com>
+
+       * doc/md.texi (-mshared): Mention that -mshared code can be linked
+       into shared libraries.
+
+2006-03-22  Richard Sandiford  <richard@codesourcery.com>
+
+       * doc/md.texi: Refer to i386/constraints.md instead of
+       i386/predicates.md.
+       * config/i386/constraints.md: New file, extracted from...
+       * config/i386/predicates.md: ...here.
+       * config/i386/i386.md: Include constraints.md.
+
+2006-03-21  Jason Merrill  <jason@redhat.com>
+
+       * builtins.c (expand_builtin_fork_or_exec): Fix pasto.
+
+       PR middle-end/20297
+       * expr.c (init_block_move_fn): Force default visibility.
+       (init_block_clear_fn): Likewise.
+       * builtins.c (expand_builtin_fork_or_exec): Likewise.
+       * targhooks.c (default_external_stack_protect_fail): Likewise.
+
+2006-03-21  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/predicates.md (const_call_insn_operand): Allow direct
+       calls to locally-defined functions if TARGET_ABSOLUTE_ABICALLS.
+       * config/mips/mips.md (jal_macro): Test TARGET_ABSOLUTE_ABICALLS.
+       Use TARGET_OLDABI instead of !TARGET_NEWABI.
+       (loadgp): Use mips_current_loadgp_style.
+       (loadgp_noshared): New pattern.
+       (sibcall_internal): Use MIPS_CALL.
+       (sibcall_value_internal): Likewise.
+       (sibcall_value_multiple_internal): Likewise.
+       (call_internal): Likewise.
+       (call_value_internal): Likewise.
+       (call_value_multiple_internal): Likewise.
+       (call_split): Use MIPS_CALL and add an 'S' constraint.
+       (call_value_split): Likewise.
+       (call_value_multiple_split): Likewise.
+       * config/mips/mips.opt (-mabicalls): Tweak docstring.
+       (-mshared): New option.
+       * config/mips/mips-protos.h (mips_loadgp_style): New enum.
+       (mips_current_loadgp_style): Declare.
+       * config/mips/mips.c (mips_classify_symbol): Avoid using
+       SYMBOL_GOT_LOCAL if TARGET_ABSOLUTE_ABICALLS.  Use SYMBOL_GENERAL
+       rather than SYMBOL_GOT_GLOBAL for locally-binding symbols if
+       TARGET_ABSOLUTE_ABICALLS.
+       (override_options): Adjust comments.  Improve the warning that is
+       issued when -mabicalls and -G are used together.
+       (mips_file_start): Remove comment.
+       (mips_current_loadgp_style): New function.
+       (mips_gnu_local_gp): New variable.
+       (mips_emit_loadgp): Use mips_current_loadgp_style.  Handle
+       LOADGP_ABSOLUTE.
+       (mips_output_function_prologue): Use mips_current_laodgp_style.
+       (mips_expand_prologue): Call mips_emit_loadgp before emitting
+       the cprestore instruction.
+       (mips_extra_live_on_entry): Fix reversed test.  Don't make $25
+       live for TARGET_ABSOLUTE_ABICALLS.
+       * config/mips/mips.h (TARGET_ABSOLUTE_ABICALLS): New macro.
+       (ASM_SPEC): Pass down -mshared and -mno-shared.
+       (MIPS_CALL): New macro.
+       * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Remove __ABICALLS__
+       definition.
+       * doc/invoke.texi (-mabicalls): Update documentation.
+       (-mshared): Document.
+
+2006-03-21  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/unwind-hpux.c: New file.
+       * config/ia64/t-hpux: Add unwind-hpux.c to libgcc.
+
+2006-03-21  Steve Ellcey  <sje@cup.hp.com>
+
+       PR libgomp/26384
+       * config/pa/pa64-hpux.h (LIB_SPEC): Fix for -mt and -pthread options.
+
+2006-03-21  Jeff Law  <law@redhat.com>
+
+       * tree-vrp.c (extract_range_from_unary_expr): Derive ranges for
+       type conversions of a VR_VARYING source to a wider type.
+
+2006-03-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config.gcc (i[34567]86-*-solaris2*): Add config/sol2-10.h to
+       tm_file on Solaris 10 and later.
+       (sparc64-*-solaris2*): Likewise.
+       (sparc-*-solaris2*): Likewise.
+       * config/sol26.h: Rename to config/sol2-6.h.
+       * config/sol2-10.h: New file.
+
+2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26781
+       * tree-ssa-pre.c (create_component_ref_by_pieces):
+       Handle STRING_CST.
+
+2006-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/26690
+       * tree.c (get_callee_fndecl): If CALL is error_mark_node,
+       return it immediately.
+
+2006-03-21  Michael Matz  <matz@suse.de>
+
+       * genautomata.c (<struct state>, num_out_arcs, presence_signature):
+       New members.
+       (remove_arc, add_arc): Update num_out_arcs member.
+       (set_out_arc_insns_equiv_num): Returns nothing instead of number
+       of out arcs.
+       (cache_presence): New function.
+       (compare_states_for_equiv): New function.
+       (state_is_differed): Don't take number of outargs, adjust callers.
+       Use new invariant for speeding up.
+       (init_equiv_class): Create initial classes based on sorted
+       input.
+       (partition_equiv_class): Don't track out_arcs_num.
+       (evaluate_equiv_classes): Call cache_presence on all states and
+       sort them.
+
+2006-03-21  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin-protos.h (bfin_dsp_memref_p): Declare.
+       * config/bfin/bfin.c (bfin_dsp_memref_p): New function.
+       (bfin_valid_reg_p): Test for pseudos explicitly and use only
+       REGNO_MODE_CODE_OK_FOR_BASE_P.  New args MODE and OUTER_CODE; all
+       callers changed.
+       * config/bfin/bfin.h (PREG_P): Use P_REGNO_P.
+       (IREG_P, P_REGNO_P, I_REGNO_P): New macros.
+       (enum reg_class, REG_CLASS_CONTENTS): Add IPREGS.
+       (BASE_REG_CLASS, REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+       REGNO_OK_FOR_BASE_STRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): Delete
+       macros.
+       (IREG_POSSIBLE_P, MODE_CODE_BASE_REG_CLASS,
+       REGNO_MODE_CODE_OK_FOR_BASE_P): New macros.
+       (REGNO_REG_CLASS): ARGP is in PREGS.
+       * config/bfin/bfin.md (movhi_insn): Allow for addresses containing
+       IREGS.
+       (zero_extendhisi2, extendhisi2): Likewise; changed to define_and_split
+       to deal with those addresses.
+       * addresses.h: New file.
+       * caller-save.c: Include "addresses.h".
+       (init_caller_save): Use new base_reg_class function.
+       * rtl-factoring.c: Include "addresses.h".
+       (recompute_gain_for_pattern_seq): Use new function ok_for_base_p_1.
+       * recog.c: Include "addresses.h".
+       (preprocess_constraints): Use new base_reg_class function.
+       * regrename.c: Include "addresses.h".
+       (scan_rtx_address): Use new regno_ok_for_base_p and base_reg_class
+       functions.  Keep track of a new var INDEX_CODE to compute valid
+       classes.
+       (replace_oldest_value_addr): Likewise.
+       (replace_oldest_value_mem): Use base_reg_class.
+       * reload.c: Include "addresses.h".
+       (REGNO_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P): Delete macros.
+       (find_reloads): Use new base_reg_class function.
+       (find_reloads_address): Likewise; also use regno_ok_for_base_p.
+       (find_reloads_address_1): Likewise. New args OUTER_CODE and INDEX_CODE;
+       all callers and prototype changed.
+       * reload1.c: Include "addresses.h".
+       (maybe_fix_stack_asms): Use base_reg_class.
+       * regclass.c: Include "addresses.h".
+       (ok_for_index_p_nonstrict, ok_for_base_p_nonstrict): New functions.
+       (init_reg_autoinc): Use new base_reg_class function.
+       (record_reg_classes): Likewise.
+       (record_address_regs): Delete arg CLASS; add args CONTEXT, MODE,
+       OUTER_CODE and INDEX_CODE.  All callers and prototype changed.
+       Use new args to compute necessary class.
+
+       * Makefile.in (regclass.o, reload.o, reload1.o, caller-save.o, recog.o,
+       regrename.o, rtl-factoring.o): Update dependencies.
+       * doc/tm.texi (MODE_CODE_BASE_REG_CLASS): Document.
+       (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+       (REG_OK_FOR_BASE_P, REG_MODE_OK_FOR_BASE_P, REG_MODE_OK_FOR_REG_BASE_P,
+       REG_OK_FOR_INDEX_P): Delete documentation.
+
+2006-03-21  Alexey Starovoytov  <alexey.starovoytov@sun.com>
+
+       * config.gcc (sparc-*-solaris2*): Change the default CPU setting
+       from V7 to V9 for Solaris 7 and above.
+
+2006-03-21  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * doc/invoke.texi: Document new flag -fargument-noalias-anything.
+       * tree-ssa-alias.c (may_alias_p): If flag_argument_noalias > 2,
+       argument pointers may not alias any other storage.
+       * common.opt: Define option -fargument-noalias-anything.
+       * tree-ssa-structalias.c (intra_create_variable_infos): Fortran
+       alias semantics is specified by flag_argument_noalias > 2.
+
+2006-03-20  Jeff Law  <law@redhat.com>
+
+       * tree-pass.h (pass_phi_only_copy_prop): Delete.
+       (pass_phi_only_cprop): Declare.
+       * passes.c (init_optimization_passes): Replace pass_phi_only_copy_prop
+       with phi_only_cprop
+       * tree-ssa-dom.c (degenerate_phi_result): New function.
+       (remove_stmt_or_phi, get_lhs_or_phi_result): Likewise.
+       (get_rhs_or_phi_arg, propagate_rhs_into_lhs): Likewise.
+       (eliminate_const_or_copy, eliminate_degenerate_phis_1): Likewise.
+       (eliminate_degenerate_phis): Likewise.
+       (pass_phi_only_cprop): New pass descriptor.
+       * tree-ssa-copy.c (init_copy_prop): Lose PHIS_ONLY argument and
+       support code.  Callers updated.
+       (execute_copy_prop, do_copy_prop): Likewise and corresponding changes.
+       (store_copy_prop): Likewise.
+       (do_phi_only_copy_prop, pass_phi_only_copy_prop): Remove.
+
+2006-03-20  Jason Merrill  <jason@redhat.com>
+
+       PR c++/21764
+       * c-pragma.c (visstack): Move out of handle_pragma_visibility.
+       (push_visibility, pop_visibility): Likewise.
+       * c-pragma.h: Declare them.
+
+2006-03-20  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (untangle_mova): Initialize n_addr and n_target.
+
+       * config/sh/sh.c (find_regmode_weight): Change the type of the first
+       parameter and use get_ebb_head_tail.
+       (sh_md_init_global): Adjust uses of find_regmode_weight.
+
+2006-03-20  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * function.h (struct function) <x_tail_recursion_reentry>:
+       Rename to x_stack_check_probe_note.
+       (tail_recursion_reentry): Rename to stack_check_probe_note.
+       * function.c: Replace tail_recursion_reentry with
+       stack_check_probe_note everywhere.
+       (expand_function_start): Only emit a note for
+       stack_check_probe_note with -fstack-protect.
+       * stmt.c (expand_case): Don't emit NOTE_INSN_DELETED notes.
+
+       * emit-rtl.c (remove_unnecessary_notes): Remove.
+       (pass_remove_unnecessary_notes): Remove.
+       * rtl.h (remove_unnecessary_notes): Remove prototype.
+       * final.c (final_start_function): Don't call remove_unnecessary_notes.
+       * tree-pass.h (pass_remove_unnecessary_notes): Remove.
+       * passes.c (pass_remove_unnecessary_notes): Don't run it.
+
+2006-03-20  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26629
+       * tree-ssa-pre (phi_translate): Handle ARRAY_REF's operands.
+       (valid_in_set): Handle ARRAY_REF.
+       Change "if min_variant or VH" to asserts.
+       (create_component_ref_by_pieces): Handle ARRAY_REF.
+       (create_expression_by_pieces): Likewise.
+       (can_PRE_operation): ARRAY_REFs can now be PRE'd.
+
+2006-03-20  David Edelsohn  <edelsohn@gnu.org>
+
+       * genpreds.c (write_insn_extra_address_constraint): Argument `c'
+       is operand of switch, not str[0].
+
+2006-03-20  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_handle_option): Use
+       TARGET_NO_FP_IN_TOC inside #ifdef TARGET_USES_SYSV4_OPT too.
+
+2006-03-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * genpreds.c (write_tm_preds_h): Add semicolon and newline at
+       end of insn_extra_address_constraint declaration.
+
+2006-03-19  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.opt (no-fp-in-toc): Use Var not Mask.
+       (no-sum-in-toc): Same.
+       * config/rs6000/rs6000.c (rs6000_handle_option): Use new
+       variables.
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
+       NO_FP_IN_TOC for -fPIC instead of mask.
+
+       * config/rs6000/t-aix43 (T_ADAFLAGS): Delete.
+       (BOOT_LDFLAGS): Delete.
+       (LDFLAGS): Delete.
+       * config/rs6000/t-aix52: Same.
+
+       * config/rs6000/rs6000.md (store_multiple_power): Delete.
+       (stmsi[345678]_power): New.
+
+2006-03-17  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.opt: Add empty line to end of file.
+
+2006-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26721
+       * builtins.c (get_pointer_alignment): For component style references
+       adjust alignment to the component type alignment.  Make sure
+       to adjust alignment for component access of constants.
+
+2006-03-17  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md (strlensi): Emit barrier after
+       unconditional jump.
+
+2006-03-17  Paul Brook  <paul@codesourcery.com>
+
+       * doc/install.texi: Docuemnt --with-mode.
+       * config.gcc: Add --with-mode for arm*-*-*.
+       * config/arm/arm.h (OPTION_DEFAULT_SPECS): Add "mode".
+
+2006-03-17  J"orn Rennecke <joern.rennecke@st.com>
+
+       * sh.c (max_labelno_before_reorg): New variable.
+       (sh_reorg): Initialize it.
+       (find_barrier): Check max_labelno_before_reorg before using
+       label_to_alignment.  Take length of explicit alignment insns
+       into account.  When seeing a UNSPECV_CONST_END, return it.
+
+       * sh.c (fixup_mova): Set mode of affected label to QImode.
+       (untangle_mova): New function.
+       (find_barrier): Use it.  Check mode of label before decrementing
+       num_mova.
+       (sh_reorg): Likewise.
+       Set mode of all insns back to VOIDmode.
+
+       * sh.c (MOVA_LABELREF): New macro.
+       (mova_p, fixup_mova, sh_reorg): Use it.
+       (find_barrier, sh_reorg): Don't count num_mova back to 0 unless
+       ADDR_DIFF_VEC matches mova.
+
+2006-03-17  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * dwarf2asm.c (dw2_asm_output_offset): Mark 'base' argument
+       with ATTRIBUTE_UNUSED.
+
+2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
+
+       * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
+       pointer, instead of assuming it is possible to derive the
+       correct args size from a call insn.
+
+2006-03-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * rtl.h (CONST_INT_P): Define.
+       * config/vax/vax.c (print_operand_address): Use CONST_INT_P()
+       instead of GET_CODE(x) == CONST_INT.
+       (vax_rtx_costs): Likewise.
+       (vax_output_int_move): Likewise.
+       (vax_output_int_add): Likewise.
+       (legitimate_constant_address_p): Likewise.
+       (index_term_p): Likewise.
+       * config/vax/vax.h (PRINT_OPERAND): Likewise.
+       * config/vax/vax.md (and<mode>3): Likewise.
+       (ashrsi3): Likewise.
+       (extv): Likewise.
+       (movstricthi): Likewise.
+       (movstrictqi): Likewise.
+       (rotrsi3): Likewise.
+       (five unnamed insns): Likewise.
+
+2006-03-16  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/tm.texi (SDB and DWARF): Add extra parameter to
+       ASM_OUTPUT_DWARF_OFFSET.  Use @var to indicate metavariables.
+       * dwarf2asm.h (dw2_asm_output_offset): Add section parameter.
+       * dwarf2asm.c (dw2_asm_output_offset): Add base section parameter.
+       Pass to ASM_OUTPUT_DWARF_OFFSET.
+       * dwarf2out.c (debug_frame_section): New.
+       (output_call_frame_info): Use debug_frame_section.  Pass it to
+       dw2_asm_output_offset.
+       (output_die): Pass appropriate section to dw2_asm_output_offset.
+       (output_compilation_unit_header): Likewise.
+       (output_pubnames): Likewise.
+       (output_aranges): Likewise.
+       (enum dw_val_class): Break dw_val_class_lbl_offset into
+       dw_val_class_lineptr and dw_val_class_macptr.
+       (add_AT_lbl_offset): Delete.
+       (add_AT_lineptr): New.
+       (add_AT_macptr): New.
+       (AT_lbl): Expect a lineptr or macptr.
+       (print_die): Handle dw_val_class_lineptr and dw_val_class_macptr.
+       (attr_checksum): Likewise.
+       (same_dw_val_p): Likewise.
+       (size_of_die): Likewise.
+       (value_format): Likewise.
+       (output_die): Likewise.
+       (dwarf2out_finish): Call add_AT_lineptr and add_AT_macptr instead of
+       add_AT_lbl_offset.
+       * config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
+       * config/i386/i386.c (x86_file_start): Call darwin_file_start.
+       * config/darwin-protos.h (darwin_file_start): New.
+       (darwin_asm_output_dwarf_offset): New.
+       * config/ia64/ia64.h (ASM_OUTPUT_DWARF_OFFSET): Add extra parameter.
+       * config/rs6000/rs6000.c (rs6000_darwin_file_start): Call
+       darwin_file_start.
+       * config/darwin.c (darwin_emit_unwind_label): Don't output label
+       if not EH section; simplify.
+       (darwin_file_start): New.
+       (darwin_asm_output_dwarf_offset): New.
+       * config/darwin.h (DEBUG_FRAME_SECTION): In __DWARF segment,
+       mark as 'debug'.
+       (DEBUG_INFO_SECTION): Likewise.
+       (DEBUG_ABBREV_SECTION): Likewise.
+       (DEBUG_ARANGES_SECTION): Likewise.
+       (DEBUG_MACINFO_SECTION): Likewise.
+       (DEBUG_LINE_SECTION): Likewise.
+       (DEBUG_LOC_SECTION): Likewise.
+       (DEBUG_PUBNAMES_SECTION): Likewise.
+       (DEBUG_STR_SECTION): Likewise.
+       (DEBUG_RANGES_SECTION): Likewise.
+       (FRAME_BEGIN_LABEL): Must start with 'L' in debug section.
+       (ASM_OUTPUT_DWARF_OFFSET): New.
+
+2006-03-16  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * config.gcc (tm_defines): Always add to previous value rather
+       than replacing it.
+
+2006-03-16  Richard Sandiford  <richard@codesourcery.com>
+
+       * config/mips/predicates.md (splittable_const_int_operand): New,
+       split from move_operand.
+       (splittable_symbolic_operand): New.
+       (move_operand): Add commentary.  Use splittable_const_int_operand.
+       Inline mips_atomic_symbolic_constant_p.
+       * config/mips/mips.md: Add combine splitters for handling moves
+       of splittable_const_int_operands and splittable_symbolic_operands.
+       * config/mips/mips-protos.h (mips_atomic_symbolic_constant_p): Delete.
+       (mips_split_symbol): Declare.
+       (mips_move_integer): Declare.
+       * config/mips/mips.c (mips_split_p): Make global.
+       (TARGET_MIN_ANCHOR_OFFSET): Override default.
+       (TARGET_MAX_ANCHOR_OFFSET): Likewise.
+       (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
+       (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Likewise.
+       (mips_offset_within_object_p): Handle block symbols.
+       (mips_atomic_symbolic_constant_p): Delete.
+       (mips_cannot_force_const_mem): Return false for constants that
+       mips_legitimize_move can handle.
+       (mips_use_blocks_for_constant_p): New function.
+       (mips_split_symbol): Make global.
+       (mips_move_integer): Likewise.  Add a temporary register argument.
+       (mips_legitimize_const_move): Use splittable_const_int_operand and
+       splittable_symbolic_operand.
+       (mips_use_anchors_for_symbol_p): New function.
+       * config/mips/mips.h: Protect externs with !USED_FOR_TARGET.
+       (mips_split_p): Declare.  
+
+2006-03-16  Richard Sandiford  <richard@codesourcery.com>
+
+       * config.gcc (mips64*-*-linux*): Keep existing tm_defines.
+       (mips*-*-linux*): Likewise.
+
+2006-03-16  Roger Sayle  <roger@eyesopen.com>
+           Daniel Speyer  <dspeyer@wam.umd.edu>
+
+       PR middle-end/18259
+       * tree-dump.c (dump_real): New function.
+       (dequeue_and_dump) <REAL_CST>: Use it to dump FP constants.
+       * Makefile.in (REAL_H): New macro for dependencies on real.h.
+       (tree-dump.o): Add $(REAL_H) to the dependencies.
+
+2006-03-16  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/21781
+       * real.c (real_from_string): If the mantissa is zero, don't bother
+       parsing the exponent as the result should always be zero.
+
+2006-03-16  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * simplify-rtx.c (simplify_plus_minus): Simplify within CONST terms.
+
+2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+       * config/ia64/ia64.c (stops_p): Added explicit initialization.
+       (ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
+       ia64_h_i_d_extended, ia64_set_sched_flags, ia64_speculate_insn,
+       ia64_needs_block_p, ia64_gen_check, ia64_sched_init_global,
+       ia64_sched_finish_global): New static functions to implement
+       hooks from gcc_target.sched.
+       (spec_check_no, max_uid, pending_data_specs): New static variables.
+       (ia64_mode_to_int, ia64_gen_spec_insn, ia64_spec_check_p,
+       ia64_spec_check_src_p): New static functions.
+       (ia64_adjust_cost): Renamed to ia64_adjust_cost_2.
+       (TARGET_SCHED_ADJUST_COST): Removed.
+       (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_INIT_GLOBAL,
+       TARGET_SCHED_FINISH_GLOBAL, TARGET_SCHED_H_I_D_EXTENDED,
+       TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
+       TARGET_SCHED_GEN_CHECK,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
+       TARGET_SCHED_SET_SCHED_FLAGS): New macros.
+       (update_set_flags, group_barrier_needed, set_src_needs_barrier):
+       Fixed to handle speculation checks.
+       (rtx_needs_barrier): Fixed to handle speculative loads and
+       their checks.
+       (ia64_variable_issue): Added code to count speculative loads and their
+       checks.
+       (ia64_first_cycle_multipass_dfa_lookahead_guard): Fixed to handle
+       speculative loads.
+       (enum SPEC_MODES, enum SPEC_GEN_LD_MAP, SPEC_GEN_CHECK_OFFSET):
+       New enumerations.
+       (SPEC_GEN_EXTEND_OFFSET, SPEC_N, SPEC_GEN_CHECK_MUTATION_OFFSET):
+       New constants.
+       (ia64_ld_address_bypass_p): Fixed to handle speculative loads.
+       (ia64_reorg): Reset stops_p to NULL after it is freed.
+       * config/ia64/ia64.md (UNSPEC_LDA, UNSPEC_LDS, UNSPEC_LDSA,
+       UNSPEC_LDCCLR, UNSPEC_CHKACLR, UNSPEC_CHKS): New constants.
+       (itanium_class): chk_s renamed to chk_s_i.  New constants: chk_s_f,
+       chk_a.
+       (data_speculative, control_speculative, check_load): New attributes.
+       (mov<mode>_advanced, mov<mode>_speculative,
+       mov<mode>_speculative_advanced, zero_extend<mode>di2_advanced,
+       zero_extend<mode>di2_speculative,
+       zero_extend<mode>di2_speculative_advanced): New patterns for
+       data and control speculative loads.
+       (mov<mode>_clr, zero_extend<mode>di2_clr): New patterns for
+       check loads.
+       (advanced_load_check_clr_<mode>, speculation_check_<mode>):
+       New pattern for data and control speculation checks.
+       (MODE, MODE_FOR_EXTEND, output_a, output_s, output_sa, output_c_clr,
+       ld_reg_constr, ldc_reg_constr, chk_reg_constr, mem_constr,
+       reg_pred_prefix, ld_class, chka_class, chks_class, attr_yes):
+       Auxiliary definitions for the patterns.
+       * config/ia64/itanium1.md (1_fldc, 1_fldpc, 1_ldc, 1_chk_s_f, 1_chk_a,
+       1b_fldc, 1b_fldpc, 1b_ldc, 1b_chk_s_f, 1b_chk_a): New resource
+       constraints.
+       (1_fld, 1_fldp, 1_ld, 1b_fld, 1b_fldp, 1b_ld): Add a condition
+       for speculation.
+       (1_chk_s, 1b_chk_s): Renamed to 1_chk_s_i, 1b_chk_s_i.
+       * config/ia64/itanium2.md (2_flda, 2_fldc, 2_fldpc, 2_ldc, 2_chk_s_f,
+       2_chk_a, 2b_flda, 2b_fldc, 2b_fldpc, 2b_ldc, 2b_chk_s_f, 2b_chk_a):
+       New resource constraints.
+       (2_fld, 2_fldp, 2_ld, 2b_fld, 2b_fldp, 2b_ld): Add a condition
+       for speculation.
+       (2_chk_s, 2b_chk_s): Renamed to 2_chk_s_i, 2b_chk_s_i.
+       * config/ia64/ia64.opt (msched-br-data-spec, msched-ar-data-spec,
+       msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
+       msched-in-control-spec, msched-ldc, msched-control-ldc,
+       msched-spec-verbose, msched-prefer-non-data-spec-insns,
+       msched-prefer-non-control-spec-insns,
+       msched-count-spec-in-critical-path): New flags to tune speculative
+       scheduling.
+       * doc/invoke.texi (msched-br-data-spec, msched-ar-data-spec,
+       msched-control-spec, msched-br-in-data-spec, msched-ar-in-data-spec,
+       msched-in-control-spec, msched-ldc, msched-control-ldc,
+       msched-spec-verbose, msched-prefer-non-data-spec-insns,
+       msched-prefer-non-control-spec-insns,
+       msched-count-spec-in-critical-path): Document new flags.
+
+2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+       * target.h (struct spec_info_def): New opaque declaration.
+       (struct gcc_target.sched): New fields: adjust_cost_2, h_i_d_extended,
+       speculate_insn, needs_block_p, gen_check,
+       first_cycle_multipass_dfa_lookahead_guard_spec, set_sched_flags.
+       * target-def.h (TARGET_SCHED_ADJUST_COST_2,
+       TARGET_SCHED_H_I_D_EXTENDED, TARGET_SCHED_SPECULATE_INSN,
+       TARGET_SCHED_NEEDS_BLOCK_P, TARGET_SCHED_GEN_CHECK,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
+       TARGET_SCHED_SET_SCHED_FLAGS): New macros to initialize fields in
+       gcc_target.sched.
+       (TARGET_SCHED): Use new macros.
+       * rtl.h (copy_DEPS_LIST_list): New prototype.
+       * sched-int.h (struct sched_info): Change signature of new_ready field,
+       adjust all initializations. New fields: add_remove_insn,
+       begin_schedule_ready, add_block, advance_target_bb, fix_recovery_cfg,
+       region_head_or_leaf_p.
+       (struct spec_info_def): New structure declaration.
+       (spec_info_t): New typedef.
+       (struct haifa_insn_data): New fields: todo_spec, done_spec, check_spec,
+       recovery_block, orig_pat.
+       (glat_start, glat_end): New variables declaraions.
+       (TODO_SPEC, DONE_SPEC, CHECK_SPEC, RECOVERY_BLOCK, ORIG_PAT):
+       New access macros.
+       (enum SCHED_FLAGS): New constants: SCHED_RGN, SCHED_EBB,
+       DETACH_LIFE_INFO, USE_GLAT.
+       (enum SPEC_SCHED_FLAGS): New enumeration.
+       (NOTE_NOTE_BB_P): New macro.
+       (extend_dependency_caches, xrecalloc, unlink_bb_notes, add_block,
+       attach_life_info, debug_spec_status, check_reg_live): New functions.
+       (get_block_head_tail): Change signature to get_ebb_head_tail, adjust
+       all uses in ddg.c, modulo-sched.c, haifa-sched.c, sched-rgn.c,
+       sched-ebb.c
+       (get_dep_weak, ds_merge): Prototype functions from sched-deps.c .
+       * ddg.c (get_block_head_tail): Adjust all uses.
+       * modulo-sched.c (get_block_head_tail): Adjust all uses.
+       (sms_sched_info): Initialize new fields.
+       (contributes_to_priority): Removed.
+       * haifa-sched.c (params.h): New include.
+       (get_block_head_tail): Adjust all uses.
+       (ISSUE_POINTS): New macro.
+       (glat_start, glat_end): New global variables.
+       (spec_info_var, spec_info, added_recovery_block_p, nr_begin_data,
+       nr_be_in_data, nr_begin_control, nr_be_in_control, bb_header,
+       old_last_basic_block, before_recovery, current_sched_info_var,
+       rgn_n_insns, luid): New static variables.
+       (insn_cost1): New function.  Move logic from insn_cost to here.
+       (find_insn_reg_weight1): New function.  Move logic from
+       find_insn_reg_weight to here.
+       (reemit_notes, move_insn, max_issue): Change signature.
+       (move_insn1): Removed.
+       (extend_h_i_d, extend_ready, extend_global, extend_all, init_h_i_d,
+       extend_bb): New static functions to support extension of scheduler's
+       data structures.
+       (generate_recovery_code, process_insn_depend_be_in_spec,
+       begin_speculative_block, add_to_speculative_block,
+       init_before_recovery, create_recovery_block, create_check_block_twin,
+       fix_recovery_deps): New static functions to support
+       generation of recovery code.
+       (fix_jump_move, find_fallthru_edge, dump_new_block_header,
+       restore_bb_notes, move_block_after_check, move_succs): New static
+       functions to support ebb scheduling.
+       (init_glat, init_glat1, attach_life_info1, free_glat): New static
+       functions to support handling of register live information.
+       (associate_line_notes_with_blocks, change_pattern, speculate_insn,
+       sched_remove_insn, clear_priorities, calc_priorities, bb_note,
+       add_jump_dependencies): New static functions.
+       (check_cfg, has_edge_p, check_sched_flags): New static functions for
+       consistancy checking.
+       (debug_spec_status): New function to call from debugger.
+       (priority): Added code to handle speculation checks.
+       (rank_for_schedule): Added code to distinguish speculative instructions.
+       (schedule_insn): Added code to handle speculation checks.
+       (unlink_other_notes, rm_line_notes, restore_line_notes, rm_other_notes):
+       Fixed to handle ebbs.
+       (move_insn): Added code to handle ebb scheduling.
+       (max_issue): Added code to use ISSUE_POINTS of instructions.
+       (choose_ready): Added code to choose between speculative and
+       non-speculative instructions.
+       (schedule_block): Added code to handle ebb scheduling and scheduling of
+       speculative instructions.
+       (sched_init): Initialize new variables.
+       (sched_finish): Free new variables.  Print statistics.
+       (try_ready): Added code to handle speculative instructions.
+       * lists.c (copy_DEPS_LIST_list): New function.
+       * sched-deps.c (extend_dependency_caches): New function.  Move logic
+       from create_dependency_caches to here.
+       (get_dep_weak, ds_merge): Make global.
+       * genattr.c (main): Code to output prototype for
+       dfa_clear_single_insn_cache.
+       * genautomata.c (DFA_CLEAR_SINGLE_INSN_CACHE_FUNC_NAME): New macros.
+       (output_dfa_clean_insn_cache_func): Code to output
+       dfa_clear_single_insn_cache function.
+       * sched-ebb.c (target_n_insns): Remove.  Adjust all users to use
+       n_insns.
+       (can_schedule_ready_p, fix_basic_block_boundaries, add_missing_bbs):
+       Removed.
+       (n_insns, dont_calc_deps, ebb_head, ebb_tail, last_bb):
+       New static variables.
+       (begin_schedule_ready, add_remove_insn, add_block1, advance_target_bb,
+       fix_recovery_cfg, ebb_head_or_leaf_p): Implement hooks from
+       struct sched_info.
+       (ebb_sched_info): Initialize new fields.
+       (get_block_head_tail): Adjust all uses.
+       (compute_jump_reg_dependencies): Fixed to use glat_start.
+       (schedule_ebb): Code to remove unreachable last block.
+       (schedule_ebbs): Added code to update register live information.
+       * sched-rgn.c (region_sched_info): Initialize new fields.
+       (get_block_head_tail): Adjust all uses.
+       (last_was_jump): Removed.  Adjust users.
+       (begin_schedule_ready, add_remove_insn, insn_points, extend_regions,
+       add_block1, fix_recovery_cfg, advance_target_bb, region_head_or_leaf_p):
+       Implement new hooks.
+       (check_dead_notes1): New static function.
+       (struct region): New fields: dont_calc_deps, has_real_ebb.
+       (RGN_DONT_CALC_DEPS, RGN_HAS_REAL_EBB): New access macros.
+       (BB_TO_BLOCK): Fixed to handle EBBs.
+       (EBB_FIRST_BB, EBB_LAST_BB): New macros.
+       (ebb_head): New static variable.
+       (debug_regions, contributes_to_priority): Fixed to handle EBBs.
+       (find_single_block_regions, find_rgns, find_more_rgns): Initialize
+       new fields.
+       (compute_dom_prob_ps): New assertion.
+       (check_live_1, update_live_1): Fixed to work with glat_start instead of
+       global_live_at_start.
+       (init_ready_list): New assertions.
+       (can_schedule_ready_p): Split update code to begin_schedule_ready.
+       (new_ready): Add support for BEGIN_CONTROL speculation.
+       (schedule_insns): Fixed code that updates register live information
+       to handle EBBs.
+       (schedule_region): Fixed to handle EBBs.
+       (init_regions): Use extend_regions and check_dead_notes1.
+       * params.def (PARAM_MAX_SCHED_INSN_CONFLICT_DELAY,
+       PARAM_SCHED_SPEC_PROB_CUTOFF): New parameters.
+       * doc/tm.texi (TARGET_SCHED_ADJUST_COST_2, TARGET_SCHED_H_I_D_EXTENDED,
+       TARGET_SCHED_SPECULATE_INSN, TARGET_SCHED_NEEDS_BLOCK_P,
+       TARGET_SCHED_GEN_CHECK,
+       TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC,
+       TARGET_SCHED_SET_SCHED_FLAGS): Document.
+       * doc/invoke.texi (max-sched-insn-conflict-delay,
+       sched-spec-prob-cutoff): Document.
+
+2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+       * sched-int.h (struct haifa_insn_data): New fields: resolved_deps,
+       inter_tick, queue_index.
+       (struct sched_info): Change signature of init_ready_list field.
+       Adjust all initializations.
+       (RESOLVED_DEPS): New access macro.
+       (ready_add): Remove prototype.
+       (try_ready): Add prototype.
+       * sched-rgn.c (init_ready_list): Use try_ready.
+       (schedule_region): Initialize
+       current_sched_info->{sched_max_insns_priority, queue_must_finish_empty}.
+       * sched-ebb.c (new_ready): Remove.  Adjust ebb_sched_info.
+       (init_ready_list): Use try_ready.
+       (schedule_ebb): Initialize current_sched_info->sched_max_insns_priority.
+       * lists.c (remove_list_elem): Remove `static'.
+       (remove_free_INSN_LIST_elem): New function.
+       * rtl.h (remove_list_elem, remove_free_INSN_LIST_elem): Add prototypes.
+       * haifa-sched.c (INTER_TICK, QUEUE_INDEX): New macros.
+       (INVALID_TICK, MIN_TICK, QUEUE_SCHEDULED, QUEUE_NOWHERE, QUEUE_READY):
+       New constants.
+       (readyp): New variable.
+       (queue_remove, ready_remove_insn, fix_inter_tick, fix_tick_ready,
+       change_queue_index, resolve_dep): New static functions.
+       (try_ready): New function.  Adjust callers in sched-rgn.c and
+       sched-ebb.c to use it instead of ready_add.
+       (clock_var): Move at the begining of file.
+       (rank_for_schedule): Fix typo.
+       (queue_insn): Add assertion.  Handle QUEUE_INDEX.
+       (ready_lastpos): Enforce assertion.
+       (ready_add): Make it static.  Handle QUEUE_INDEX.  Add new argument,
+       update all callers.
+       (ready_remove_first, ready_remove): Handle QUEUE_INDEX.
+       (schedule_insn): Rewrite to use try_ready and resolve_dep.
+       (queue_to_ready): Use free_INSN_LIST_list.
+       (early_queue_to_ready): Fix typo.
+       (schedule_block): Init readyp.  Move init_ready_list call after the
+       initialization of clock_var.  Fix error in rejecting insn by
+       targetm.sched.dfa_new_cycle.  Add call to fix_inter_tick.  Remove code
+       that previously corrected INSN_TICKs.  Add code for handling
+       QUEUE_INDEX.
+       (set_priorities): Fix typo.
+       (sched_init): Initialize INSN_TICK, INTER_TICK and QUEUE_INDEX.
+       Clarify comment and code that keeps current_sched_info->next_tail
+       non-null.
+
+2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+
+       * sched-rgn.c (extend_rgns): New static function.
+       (find_rgns): Use it.
+       (gather_region_statistics, print_region_statistics): New static
+       functions.
+       * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): New parameter.
+       * doc/invoke.texi (max-sched-extend-regions-iters): Document.
+
+2006-03-16  Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
+           Andrey Belevantsev <abel@ispras.ru>
+
+       * ddg.c (build_intra_loop_deps): Adjust add_forward_dependence call.
+       * lists.c (unused_deps_list): New variable.
+       (free_list): Add assertions to verify the proper distinguishing 
+       between INSN_LISTs and DEPS_LISTs.
+       (find_list_elem, remove_list_elem, remove_list_node): New static
+       functions.
+       (alloc_DEPS_LIST, free_DEPS_LIST, free_DEPS_LIST_node,
+       remove_free_INSN_LIST_elem, remove_free_DEPS_LIST_elem,
+       remove_free_INSN_LIST_node, remove_free_DEPS_LIST_node): New functions.
+       (alloc_INSN_LIST): Assert that the list we're working on is indeed
+       an INSN_LIST.
+       (free_INSN_LIST_node): Likewise.
+       * modulo-sched.c (current_sched_info): Initialize flags field.
+       * reg-notes.def: Exchange DEP_ANTI and DEP_OUTPUT.
+       * rtl.def (DEPS_LIST): Define.
+       * rtl.h: Declare new functions from lists.c.
+       * sched-deps.c (spec_dependency_cache): New static variable.
+       (maybe_add_or_update_back_dep_1, add_back_dep): New static functions.
+       (add_dependence): Change return type to void.  Move the logic to ...
+       (add_or_update_back_dep_1): ... here.  Handle speculative dependencies.
+       (delete_all_dependences): Add comment about forward_dependency_cache.
+       Handle spec_dependency_cache.  Handle DEPS_LISTs.
+       (fixup_sched_groups): Clarify the change of priority of output
+       and anti dependencies.
+       (sched_analyze_2): Adjust add_dependence calls to create data
+       speculative dependence.
+       (add_forward_dependence): Renamed to add_forw_dep, change prototype.
+       Adjust all callers.  Handle DEPS_LISTS.
+       (compute_forward_dependences): Use add_forw_dep.  Sort LOG_LINKs in
+       presence of speculation.
+       (init_dependency_caches, free_dependency_caches):
+       Handle spec_dependency_cache.
+       (adjust_add_sorted_back_dep, adjust_back_add_forw_dep, delete_forw_dep,
+       estimate_dep_weak, get_dep_weak, ds_merge, check_dep_status):
+       New static functions.
+       (add_or_update_back_dep, add_or_update_back_forw_dep,
+       add_back_forw_dep, delete_back_forw_dep): New functions.
+       * sched-int.h (ds_t, dw_t): New typedefs.
+       (struct sched_info): Add new field flags.
+       (struct haifa_insn_data): Add new bitfield has_internal_dep.
+       Prototype new sched-deps.c functions.
+       (HAS_INTERNAL_DEP, DEP_STATUS): New access macros.
+       (BITS_PER_DEP_STATUS, BITS_PER_DEP_WEAK, DEP_WEAK_MASK, MAX_DEP_WEAK,
+       MIN_DEP_WEAK, NO_DEP_WEAK, UNCERTAIN_DEP_WEAK, BEGIN_DATA, BE_IN_DATA,
+       BEGIN_CONTROL, BE_IN_CONTROL, BEGIN_SPEC, DATA_SPEC, CONTROL_SPEC,
+       SPECULATIVE, BE_IN_SPEC, FIRST_SPEC_TYPE, LAST_SPEC_TYPE,
+       SPEC_TYPE_SHIFT, DEP_TRUE, DEP_OUTPUT, DEP_ANTI, DEP_TYPES, HARD_DEP):
+       New constants.
+       (enum SPEC_TYPES_OFFSETS, enum DEPS_ADJUST_RESULT, enum SCHED_FLAGS):
+       New enums.
+       * sched-rgn.c (current_sched_info): Initialize flags field.
+       (schedule_insns): Initialize current_sched_info before the sched_init
+       call.
+       * sched-ebb.c (current_sched_info): Initialize flags field.
+       (add_deps_for_risky_insns): Use control_flow_insn_p instead of JUMP_P.
+       Call add_or_update_back_dep instead of add_dependence.
+       Create control speculative dependencies.
+       (schedule_insns): Initialize current_sched_info before the sched_init
+       call.
+
+2006-03-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux-unwind.h (shmedia_fallback_frame_state): Set
+       fs->signal_frame.
+       (sh_fallback_frame_state): Likewise.
+
+2006-03-15  Geoffrey Keating  <geoffk@apple.com>
+
+       * config.gcc (*-*-darwin*): Don't build crt2.o for all Darwin ports.
+       Do switch on default_use_cxa_atexit.
+       (powerpc*-*-darwin*): Build crt2.o on powerpc.
+       * config/darwin-crt3.o: New.
+       * config/darwin.h (LINK_SPEC): If -shared-libgcc, make linker default
+       to 10.3.  Pass '-multiply_defined suppress' if crt3.o is in use.
+       (STARTFILE_SPEC): Add crt3.o when -shared-libgcc and appropriate
+       OS version.
+       * config/rs6000/t-darwin: Move crt2.o building to here.
+       * config/rs6000/darwin.h (C_COMMON_OVERRIDE_OPTIONS): Update
+       Mac OS version for using __cxa_get_exception_ptr.  Don't test versions
+       of __cxa_atexit.
+
+2006-03-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * config/vax/vax.c (nonindexed_address_p): Change logical negation
+       from '! xxx' to '!xxx' for coding-style conformance.
+       * config/vax/vax.h (PCC_BITFIELD_TYPE_MATTERS): Likewise.
+       (EXTRA_CONSTRAINT): Likewise.
+       * config/vax/vax.md (four unnamed insns): Likewise.
+       
+2006-03-15  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (minipool_pad): New.
+       (add_minipool_forward_ref): Include pool alignment padding in address
+       calculation.
+       (push_minipool_fix): Set minipool_pad.
+       (minipool_pad): Ditto.
+
+2006-03-15  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+       * config/vax/vax.c (split_quadword_operands): Use MEM_P()
+       instead of GET_CODE() == MEM and REG_P() instead of
+       GET_CODE() == REG.
+       (print_operand_address): Likewise.
+       (vax_address_cost): Likewise.
+       (vax_rtx_costs): Likewise.
+       (vax_notice_update_cc): Likewise.
+       (vax_output_int_add): Likewise.
+       (INDEX_REGISTER_P): Likewise.
+       (BASE_REGISTER_P): Likewise.
+       (nonindexed_address_p): Likewise.
+       (vax_mode_dependent_address_p): Likewise.
+       * config/vax/vax.h (EXTRA_CONSTRAINT): Likewise.
+       (PRINT_OPERAND): Likewise.
+       * config/vax/vax.md (ashlsi3): Likewise.
+       (ashlsi3): Likewise.
+       (some more unnamed insns): Likewise.
+
+2006-03-15  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Make it an
+       iterator-style macro.
+       (mark_control_dependent_edges_necessary): Update the use of
+       EXECUTE_IF_CONTROL_DEPENDENT.
+
+2006-03-15  J"orn Rennecke <joern.rennecke@st.com>
+
+       * config/sh/predicates.md (cache_address_operand): Special.
+       (ua_address_operand): Likewise.
+
+2006-03-15  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * haifa-sched.c (unlink_other_notes, reemit_notes): Do not handle
+       loop notes.
+       * sched-deps.c (sched_analyze_insn, sched_analyze): Ditto.
+
+2006-03-15  Andreas Schwab  <schwab@suse.de>
+
+       * gensupport.c (identify_predicable_attribute): Don't free p_false
+       when it is still in use.
+
+2006-03-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config.gcc (default with_cpu setting) <sparc*-*-*>: Do not modify
+       the default setting here.
+
+2006-03-14  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * tree-pass.h (pass_cfg): Remove.
+       * alias.c (rest_of_handle_cfg, pass_cfg): Remove.
+       * passes.c (pass_cfg): Don't run it.
+
+2006-03-14  Kazu Hirata  <kazu@codesourcery.com>
+
+       * Makefile.in (reg-stack.o): Don't depend on gt-reg-stack.h.
+       * reg-stack.c (stack_regs_mentioned_data): Change the type to
+       VEC(char,heap) *.
+       (stack_regs_mentioned): Update the uses of
+       stack_regs_mentioned_data.  Don't access the array beyond its
+       end.
+       (reg_to_stack): Update the uses of stack_regs_mentioned_data.
+       Don't include gt-reg-stack.h.
+
+       * config/bfin/bfin.h (UNALIGNED_WORD_ASM_OP): Remove.
+       * system.h (UNALIGNED_WORD_ASM_OP): Poison.
+
+       * combine.c (UWIDE_SHIFT_LEFT_BY_BITS_PER_WORD): Remove.
+
+       PR middle-end/26684
+       * reg-stack.c (stack_regs_mentioned_data): Put it undef #ifdef
+       STACK_REGS.
+
+2006-03-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa/pa32-linux.h (CRT_CALL_STATIC_FUNCTION): Fix typo.
+
 2006-03-14  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/26672