+2006-03-07 Geoffrey Keating <geoffk@apple.com>
+
+ * 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
+ * Makefile.in (stmp-int-hdrs): Remove include/unwind.h before
+ copying over it.
+
+2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vrp.c (remove_range_assertions): Do not update statements
+ unnecessarily.
+
+2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cse.c (rest_of_handle_cse): Do not pass CLEANUP_PRE_LOOP to cfg
+ cleanup.
+ * gcse.c (rest_of_handle_gcse): Ditto.
+ * except.c (gate_handle_eh): Ditto.
+ * cfgcleanup.c (rest_of_handle_jump2): Ditto.
+ * basic-block.h (CLEANUP_PRE_LOOP): Remove.
+
+2006-03-02 Eric Christopher <echristo@apple.com>
+
+ * config/i386/i386.c (machopic_output_stub): Add indirection to
+ jump.
+
+2006-03-02 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * loop.c: Removed.
+
+2006-03-02 David S. Miller <davem@sunset.davemloft.net>
+
+ Sun Niagara specific optimizations.
+ * config.gcc: Recognize niagara as target.
+ * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Mention Niagara.
+ (TARGET_CPU_niagara): Define.
+ (CPP_CPU64_DEFAULT_SPEC): Define __sparc_v9__ for Niagara.
+ (ASM_CPU64_DEFAULT_SPEC): Pass -Av9b for Niagara.
+ (CPP_CPU_SPEC): Handle -mcpu=niagara.
+ (ASM_CPU_SPEC): Likewise.
+ (PROCESSOR_NIAGARA): New enum entry.
+ (REGISTER_MOVE_COST): Handle Niagara.
+ (BRANCH_COST, PREFETCH_BLOCK, SIMULTANEOUS_PREFETCHES): Likewise.
+ * config/sparc/sparc.c (niagara_costs): New processor_costs entry.
+ (sparc_override_options): Recognize "niagara", set appropriate
+ default MASK_* values for it, and align functions to 32-bytes
+ by default just like ULTRASPARC/ULTRASPARC3.
+ (sparc_initialize_trampoline): Handle niagara like ultrasparc.
+ (sparc64_initialize_trampoline): Likewise.
+ (sparc_use_sched_lookahead): Use zero for niagara.
+ (sparc_issue_rate): Use one for niagara.
+ * config/sparc/niagara.md: New file.
+ * config/sparc/sparc.md: Include it.
+ * config/sparc/sol2-bi.h (CPP_CPU64_DEFAULT_SPEC,
+ ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Set appropriately
+ when default cpu is niagara.
+ (CPP_CPU_SPEC): Handle -mcpu=niagara.
+ (ASM_CPU_SPEC): Likewise.
+ * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Set appropriately
+ when default cpu is niagara.
+ (ASM_CPU_SPEC): Handle -mcpu=niagara.
+ * config/sparc/linux64.h: Handle a default of TARGET_CPU_niagara
+ just like v9/ultrasparc/ultrasparc3.
+ * doc/invoke.texi: Add documentation for "niagara" and improve
+ existing documentation for ultrasparc variants.
+
+2006-03-02 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa-operands.c (update_stmt_operands): Update documentation.
+
+2006-03-02 Richard Sandiford <richard@codesourcery.com>
+
+ * doc/tm.texi (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Document.
+ (ASM_OUTPUT_BSS): Describe the two ways of handling global BSS,
+ and say that only one is needed.
+ * doc/rtl.texi (SYMBOL_REF_BLOCK): Say that the block can be null.
+ * target.h (have_switchable_bss_sections): New hook.
+ * explow.c (use_anchored_address): Check that the symbol is in a block.
+ * varasm.c (tls_comm_section, comm_section, lcomm_section)
+ (bss_noswitch_section): New variables.
+ (get_unnamed_section): Add SECTION_UNNAMED to the flags.
+ (get_noswitch_section): New function.
+ (get_block_for_section): Allow SECT to be null.
+ (unlikely_text_section_p): Use SECTION_STYLE.
+ (bss_initializer_p): New function.
+ (get_variable_section): Move earlier in file. Take a new argument,
+ prefer_noswitch_p. Move bss checks from assemble_variable to here.
+ Return one of the new *_sections in such cases.
+ (get_block_for_decl): New function, extracting some logic from
+ use_blocks_for_decl_p.
+ (change_symbol_section): Remove in favor of...
+ (change_symbol_block): ...this new function.
+ (use_blocks_for_decl_p): Remove checks now performed by
+ get_block_for_decl.
+ (make_decl_rtl): Use change_symbol_block and get_block_for_decl.
+ (ASM_EMIT_LOCAL, ASM_EMIT_BSS, ASM_EMIT_COMMON): Delete in favor of...
+ (emit_local, emit_bss, emit_common): ...these new functions.
+ Return true if the alignment was honored.
+ (emit_tls_common): New function.
+ (asm_emit_uninitialised): Delete.
+ (assemble_variable_noswitch): New function, split out from...
+ (assemble_variable): ...here. Don't make decisions about common
+ variables here. Globalize all public decls that go into non-common
+ sections. Check whether SYMBOL_REF_BLOCK is null.
+ (output_constant_def_contents): Check whether SYMBOL_REF_BLOCK is null.
+ (output_constant_pool): Likewise.
+ (init_varasm_once): Initialize the new section variables.
+ (have_global_bss_p): New function.
+ (categorize_decl_for_section): Use bss_initializer_p.
+ (switch_to_section): Use SECTION_STYLE. Abort for SECTION_NOSWITCH.
+ (place_block_symbol): Assert that the symbol must be in a block.
+ * target-def.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): New macro.
+ (TARGET_INITIALIZER): Include it.
+ * rtl.h (SYMBOL_REF_BLOCK): Document the null alternative.
+ * output.h (SECTION_STYLE_MASK, SECTION_COMMON): New macros.
+ (SECTION_MACH_DEP): Bump by two.
+ (SECTION_UNNAMED, SECTION_NOSWITCH): New macros.
+ (unnamed_section): Mention SECTION_UNNAMED in comment.
+ (named_section): Likewise SECTION_NAMED.
+ (noswitch_section_callback): New type.
+ (noswitch_section): New structure.
+ (section): Add a noswitch_section alternative.
+ (SECTION_STYLE): New macro.
+ (tls_comm_section, comm_section, lcomm_section): Declare.
+ (bss_noswitch_section, have_global_bss_p): Declare.
+ * config/elfos.h (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
+ * config/iq2000/iq2000.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
+ Override.
+ * config/v850/v850.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Override.
+ * config/stormy16/stormy16.c (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS):
+ Override.
+
2006-03-02 Daniel Berlin <dberlin@dberlin.org>
* gcc/tree-vrp.c (execute_vrp): Return value.