OSDN Git Service

2004-09-16 Frank Ch. Eigler <fche@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7429882..1c3e9dd 100644 (file)
@@ -1,5 +1,840 @@
+2004-09-16  Frank Ch. Eigler  <fche@redhat.com>
+
+       * profile.c (branch_prob): Restore support for USE_MAPPED_LOCATION.
+
+2004-09-16 Jeff Law  <law@redhat.com>
+
+       * tree-into-ssa.c (block_defs_stack): New toplevel varray.
+       (rewrite_block_data): Remove, no longer used.
+       (rewrite_initialize_block_local_data): Remove, no longer used.
+       (rewrite_initialize_block): Mark parameters as unused as needed.
+       Change references to the block local block_defs to be block_defs_stack.
+       Push a marker onto the block_defs_stack.
+       (ssa_rewrite_initialize_block): Similarly.
+       (rewrite_stmt, ssa_rewrite_stmt): Similarly.
+       (ssa_register_new_def): No longer needs varray argument.  Use
+       block_defs_stack instead.  No longer handle possibly null block_defs
+       varray.  Reverse order of items we push on the stack to make it
+       easier to identify our marker.
+       (register_new_def): No longer handle possibly null block_defs
+       varray.
+       (rewrite_finalize_block): Revamp to look for markers in the global
+       block_defs_stack varray rather than wiping a block local varray.
+       Mark arguments as unused as needed.
+       (ssa_rewrite_finalize_block): Similarly.
+       (rewrite_into_ssa): Update initialization of dom walker structure
+       to reflect that we don't need block local data anymore.  Initialize
+       the block_defs_stack varray.
+       (rewrite_ssa_into_ssa): Similarly.
+       * tree-ssa-dom.c (block_defs_stack): New toplevel varray.
+       (struct dom_walk_data): Kill block_defs field.
+       (tree_ssa_dominator_optimize): Initialize block_defs_stack.
+       (thread_across_edge): Use the global block_defs_stack instead of
+       the old block_defs varray.
+       (dom_opt_initialize_block_local_data): Update now that we don't have
+       block_defs field to check anymore.
+       (dom_opt_initialize_block): Push a marker onto block_defs_stack.
+       (restore_currdefs_to_original_value): Use the new block_defs_stack
+       instead of a block local varray.
+       (dom_opt_finalize_block): Similarly.
+       (record_equivalencs_from_phis): Similarly.
+       (optimize_stmt, register_definitions_for_stmt): Similarly.
+
+2004-09-16  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/17517
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't 
+       coalesce same-root variables without checking for abnormal PHI usage.
+
+2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+       
+       * cfgloop.h (duplicate_loop):  Add prototype.
+       * cfgloopmanip.c (duplicate_loop): Make non-static.
+       * lambda-code.c (perfect_nestify): Factor out test whether
+       we can handle this loop into separate function.
+       Call it.
+       (can_convert_to_perfect_nest): New function.
+       (replace_uses_of_x_with_y): Add modify_stmt call.
+       * tree-loop-linear.c (linear_transform_loops): Call
+       rewrite_into_loop_closed_ssa and free_df.
+
+2004-09-16  Daniel Berlin  <dberlin@dberlin.org>
+
+       * lambda-code.c (invariant_in_loop): is_gimple_min_invariant is
+       loop invariant as well.
+       (perfect_nestify): new function.
+       (gcc_loop_to_lambda_loop): New parameters to track lower bounds,
+       upper bounds, and steps. 
+       Set outerinductionvar properly.
+       (gcc_loopnest_to_lambda_loopnest): Add loops and need_perfect
+       parameters.
+       Return NULL if we need a perfect loop and can't make one.
+       (lambda_loopnest_to_gcc_loopnest): Correct algorithm.
+       (not_interesting_stmt): New function.
+       (phi_loop_edge_uses_def): Ditto.
+       (stmt_uses_phi_result): Ditto.
+       (stmt_is_bumper_for_loop): Ditto.
+       (perfect_nest_p): Ditto.
+       (nestify_update_pending_stmts): Ditto.
+       (replace_uses_of_x_with_y): Ditto.
+       (stmt_uses_op): Ditto.
+       (perfect_nestify): Ditto.
+       * lambda-mat.c (lambda_matrix_id_p): New function.
+       * lambda-trans.c (lambda_trans_matrix_id_p): Ditto.
+       * lambda.h: Update prototypes.
+       * tree-loop-linear (linear_transform_loop): Use new
+       perfect_nest_p. Detect and ignore identity transform.
+       * tree-ssa-loop.c (pass_linear_transform): Use TODO_write_loop_closed.
+
+2004-09-16  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-loop-linear.c (gather_interchange_stats): Add more comments.
+       Gather also strides of accessed data.  Pass in the data references 
+       array.
+       (try_interchange_loops): Add a new heuristic for handling the temporal 
+       locality.  Pass in the data references array.
+       (linear_transform_loops): Pass the data references array to
+       try_interchange_loops.
+
+2004-09-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/invoke.texi: Fix typos.  Follow spelling conventions.
+
+2004-09-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * doc/c-tree.texi (Classes): Remove index entries for
+       TREE_VIA_{PUBLIC,PROTECTED,PRIVATE}.
+
+2004-09-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * fold-const.c (fold): Fold difference of addresses.
+       (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on
+       get_inner_reference.
+       * tree-ssa-loop-ivopts.c (peel_address): Removed.
+       (ptr_difference_const): Moved to fold-const.c.
+       (split_address_cost): Use get_inner_reference instead of peel_address.
+       (ptr_difference_cost): Change type of diff to HOST_WIDE_INT.
+       * tree.h (ptr_difference_const): Export.
+
+       * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction
+       variable type to the dump.  Fix indentation.
+       (idx_find_step): Handle nonconstant array_ref_element_size and
+       array_ref_low_bound.
+       (idx_record_use): Handle array_ref_element_size and
+       array_ref_low_bound.
+       (find_interesting_uses_stmt): Handle memory = nontrivial_expression
+       statements correctly.
+       (get_computation_at, iv_value): Do not unshare expressions here.
+       (rewrite_use_outer): Unshare the expression before it is emitted
+       to code.
+       * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for):
+       Moved to tree.c.
+       * tree.c (unsigned_type_for, signed_type_for): Moved from
+       tree-ssa-loop-niter.c.  Use langhooks.
+       * tree.h (signed_type_for): Export.
+
+2004-09-16  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Update
+       prototype.
+
+2004-09-15  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/11572
+       * c-incpath.h (target_c_incpath_s): Add extra_pre_includes.
+       Add two parameters to extra_includes.
+       (C_INCPATH_INIT): Remove.
+       * c-incpath.c (register_include_chains): Call extra_pre_includes
+       before adding the standard include directory.
+       Update call to extra_includes.
+       (!defined TARGET_EXTRA_INCLUDES): Update
+       hook_void_charptr_charptr_int and add !define
+       TARGET_EXTRA_PRE_INCLUDES.
+       (!define TARGET_EXTRA_INCLUDES): Define as
+       hook_void_charptr_charptr_int.
+       (!define TARGET_EXTRA_PRE_INCLUDES): Likewise.
+       (target_c_incpath): Always declare.
+       * fixinclude.c (defined TARGET_EXTRA_INCLUDES): Declare a
+       empty function.
+       (define TARGET_EXTRA_PRE_INCLUDES): Likewise.
+       * config/darwin.h: (darwin_register_frameworks): Update for
+       the two new parameters.
+       (darwin_register_objc_includes): Add prototype.
+       (TARGET_EXTRA_PRE_INCLUDES): Define.
+       * config/darwin-c.c (darwin_register_objc_includes): New function.
+       (darwin_register_frameworks): Update for the two new parameters.
+       (target_c_incpath): Remove.
+       * config/t-darwin (darwin-c.o): Add $(PREPROCESSOR_DEFINES) to
+       the compile line.
+       * doc/tm.texi (TARGET_EXTRA_INCLUDES): Document the two new
+       parameters.
+       (TARGET_EXTRA_PRE_INCLUDES): Document.
+
+       * gcc.c (spec_function): Add replace-outfile.
+       (replace_outfile_spec_function): New function.
+       * config/darwin.h (LINK_SPEC): Add replace
+       -lobjc with -lobjc-gnu if -fgnu-runtime is
+       supplied.
+       * invoke.texi (replace-outfile): Document.
+
+2004-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (expr_expected_value, strip_builtin_expect): New function.
+       (tree_predict_by_opcode): Use it.
+       (tree_estimate_probability): Add, for now disabled,
+       strip_builtin_expect call.
+
+2004-09-15  James E Wilson  <wilson@specifixinc.com>
+
+       PR target/17455
+       * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
+       if current_function_decl is a sibcall.
+
+2004-09-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * varasm.c (default_function_rdodata_section): Make sure to pass
+       along a decl for a link-once section.
+
+2004-09-15  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
+       warning with code disable.  Fix formatting.
+
+2004-09-15  Steven Bosscher  <stevenb@suse.de>
+
+       * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
+       * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
+        after propagating into an ADDR_EXPR.
+
+2004-09-15  Andrew Pinski  <apinski@apple.com>
+
+       PR rtl-opt/17427
+       * gcse.c (process_insert_insn): insn_invalid_p has side effects.
+       Move it out of gcc_assert.
+
+2004-09-15  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
+       except.c, fold-const.c, function.c, langhooks.c, params.c,
+       reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+       tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
+       for quoting in diagnostics going through pretty-print.c.  Use ''
+       for quoting in other diagnostic text.
+       * langhooks.c: Include intl.h.  Mark text locating diagnostics for
+       translation.
+       * Makefile.in (langhooks.o): Update dependencies.
+       * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
+       formats.
+
+2004-09-15  Mark Mitchell  <mark@codesourcery.com>
+
+       * configure.ac: Check for COMDAT support.  Robustify check for
+       SHF_MERGE support.
+       * configure: Regenerated.
+       * config.in: Likewise.
+       * langhooks-def.h (lhd_comdat_group): New function.
+       (LANG_HOOKS_COMDAT_GROUP): New macro.
+       (LANG_HOOKS_DECLS): Use it.
+       * langhooks.c (lhd_comdat_group): Define.
+       * langhooks.h (lang_hooks_for_decls): Add comdat_group.
+       * output.h (named_section_flags): Make it a macro.
+       (named_section_real): New function.
+       (default_no_named_section): Add decl parameter.
+       (default_elf_asm_named_section): Likewise.
+       (default_coff_asm_named_section): Likewise.
+       (default_pe_asm_named_section): Likewise.
+       * target.h (gcc_target): Adjust type of named_section.
+       * varasm.c (named_section_flags): Rename to named_section_real.
+       Add decl parameter.
+       (default_no_named_section): Add decl parameter.
+       (default_elf_asm_named_section): Use COMDAT, if available.  Deal
+       with the case that ASM_COMMENT_START is "@".
+       (default_coff_asm_named_section): Add decl parameter.
+       (default_pe_asm_named_section): Likewise.
+       * config/alpha/alpha.c (vms_asm_named_section): Add decl
+       parameter.
+       (unicosmk_asm_named_section): Likewise.
+       * config/arm/arm.c (arm_elf_asm_named_section): Remove.
+       * config/arm/elf.h (TARGET_ASM_NAMED_SECTION): Likewise.
+       * config/c4x/c4x.c (c4x_asm_named_section): Add decl parameter.
+       * config/cris/cris-protos.h (cris_target_asm_named_section):
+       Likewise.
+       * config/cris/cris.c (cris_target_asm_named_section):
+       Likewise.
+       * config/darwin/darwin-protos.h (darwin_asm_named_section):
+       Likewise.
+       * config/darwin/darwin.c (darwin_asm_named_section): Likewise.
+       * config/h8300/h8300.c (h8300_asm_named_section): Likewise.
+       * config/i386/i386-protos.h (i386_pe_asm_named_section):
+       Likewise.
+       * config/i386/winnt.c (i386_pe_asm_named_section): Likewise.
+       * config/m68k/m68k.c (m68k_coff_asm_named_section): Likewise.
+       * config/mcore/mcore.c (mcore_asm_named_section): Likewise.
+       * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section):
+       Likewise.
+       * config/sparc/sparc.c (sparce_elf_asm_named_section): Likewise.
+       * cp/cp-lang.h (LANG_HOOKS_COMDAT_GROUP): Define.
+       * cp/cp-tree.h (cxx_comdat_group): Declare.
+       * cp/decl.c (cxx_comdat_group): New function.
+
+2004-09-15  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa.c (verify_flow_sensitive_alias_info): Do not walk dead nodes.
+       * tree-tailcall.c (eliminate_tail_call): Release SSA name.
+
+       * tree-cfg.c (remove_bb): Release SSA defs.
+
+2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/tm.texi: Follow spelling conventions.
+
+2004-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-dom.c: Fix comment typos.
+
+2004-09-15  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux-unwind.h (struct gcc_pt_regs): Extend to
+       include ccr.
+       (ppc_fallback_frame_state): Save location of CR.
+
+2004-09-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (string_constant): Handle also read-only variables
+       initialized to string literals.
+
+       * builtins.c (expand_builtin_memmove): Optimize memmove (x, y, 1)
+       into memcpy (x, y, 1) if memcpy can be expanded inline.
+
+2004-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR tree-optimization/17468
+       * tree-ssa.c (verify_use, verify_phi_args, verify_ssa):  Verify that
+       definition inside a block precede uses.
+       * tree-tailcall.c (adjust_return_value): Emit statements in the
+       correct order.
+
+2004-09-15  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Delete.
+
+2004-09-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
+
+2004-09-14 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (avail_exprs_stack): New global varray.
+       (struct dom_walk_block_data): Remove avail_exprs member.
+       (tree_ssa_dominator_optimize): Initialize avail_exprs_stack.
+       (lookup_avail_expr): No longer need to pass in address of
+       the block local available exprs stack.  All callers changed.
+       (simplify_cond_and_lookup_avail_expr): Similarly.
+       (simplify_switch_and_lookup_avail_expr): Similarly.
+       (get_eq_expr_value, record_cond): Likewise.
+       (record_dominating_conditions): Likewise.
+       (update_rhs_and_lookup_avail_expr): Likewise.
+       (record_equivalences_from_stmt): Likewise.
+       (dom_opt_initialize_block_local_data): No longer test state of
+       block local avail_exprs.
+       (dom_opt_initialize_block): Mark unwind point in the global
+       avail_expr stack.
+       (remove_expressions_from_table): Update to unwind to the
+       most recent unwind marker in the global avail_expr stack.
+       All callers changed.
+       (dom_opt_finalize_block): Mark unwind point in the global
+       avail_expr stack as needed.
+       (record_cond): Push elements into the global avail_exprs stack.
+
+       * tree-dfa.c (free_df_for_stmt): No longer static.
+       (free_df): Update comments.
+       * tree-flow.h (free_df_for_stmt): Prototype.
+       * tree-ssa-dse.c (dse_optimize_stmt): Call free_df_for_stmt.  Also
+       call release_defs.
+
+2004-09-14  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/17252
+       * tree-ssa-alias.c (may_alias_p): Don't assume that a
+       pointer may not point to itself when using relaxed
+       aliasing rules.
+
+2004-09-14  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/17397
+       * gimplify.c (gimplify_addr_expr): Don't inadvertently change types
+       while folding <ADDR_EXPR <INDIRECT_REF X>>.
+
+2004-09-14  Andrew Pinski  <apinski@apple.com>
+
+       * tree-ssa-copy.c (may_propagate_copy): Don't check the aliasing
+       sets of the pointers but the aliasing sets of what they point to.
+
+2004-09-14  Roger Sayle  <roger@eyesopen.com>
+
+       PR rtl-optimization/9771
+       * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
+       conditional compilation in init_reg_sets_1.
+       (init_reg_sets_1): Let global_regs[i] take priority over the frame
+       (but not stack) pointer exceptions to regs_invalidated_by_call.
+       (globalize_reg): Globalizing a fixed register may need to update
+       regs_invalidated_by_call.
+
+2004-09-14  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/15262
+       * tree-dfa.c (dump_variable): Also print the type of the
+       variable.
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): If two
+       memory tags are of conflicting alias sets but have no aliased
+       symbols in common, add one tag to the alias set of the other.
+       (setup_pointers_and_addressables): Remove hack to deal with
+       programs with no aliased symbols.
+       (may_alias_p): Don't special case aggregate types.
+
+2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/15498
+       * doc/invoke.texi (Environment Variables): Correct example locale.
+
+2004-09-14  Jan Hubicka  <jh@suse.cz>
+
+       * cfg.c (expunge_block): Revert previous change adding ggc_free call.
+
+2004-09-14  Mark Mitchell  <mark@codesourcery.com>
+
+       * config.gcc: Do not build a shared libgcc for arm-none-eabi.
+
+2004-09-14  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-tree.h (struct c_declspecs): Add const_p, volatile_p and
+       restrict_p.
+       (struct c_declarator): Change u.array.quals and pointer_quals to
+       int.  Add u.array.attrs.
+       (quals_from_declspecs): New.
+       * c-decl.c (quals_from_declspecs): New.
+       (shadow_tag_warned): Give more specific message for useless type
+       qualifiers.
+       (build_array_declarator, set_array_declarator_inner,
+       grokdeclarator, make_pointer_declarator, build_null_declspecs,
+       declspecs_add_qual): Update for changed structures.
+
+2004-09-14  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (stmts_to_rescan): Move from a block-local
+       to a global varray.  
+       (tree_ssa_dominator_optimize): Allocate stmts_to_rescan.
+       (dom_opt_initialize_block_local_data): No longer test state
+       of stmts_to_rescan.
+       (dom_opt_finalize_block): Update due to change in scope of
+       stmts_to_rescan.
+       (optimize_stmt): Similarly.
+
+2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cgraph.h, cgraphunit.c, fold-const.c, lambda-mat.c,
+       lambda.h, profile.c, tree-optimize.c, tree-sra.c, vec.h: Fix
+       comment typos.  Follow spelling conventions.
+
+2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/darwin-c.c, config/alpha/alpha.c, config/i386/i386.c,
+       config/i386/predicates.md, config/sparc/sparc.c: Follow
+       spelling conventions.
+
+2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+           Steven Bosscher  <stevenb@suse.de>
+
+       * Makefile.in (loop-unroll.o): Add HASHTAB_H and RECOG_H dependency.
+       * basic-block.h (struct reorder_block_def): Add copy_number field.
+       * cfgloop.h (biv_p): Declare.
+       * cfgloopmanip.c (duplicate_loop_to_header_edge): Set copy_number.
+       * common.opt (fsplit-ivs-in-unroller): New flag.
+       * loop-iv.c (biv_p): New function.
+       * loop-unroll.c: Include hashtab.h and recog.h.
+       (struct iv_to_split, struct split_ivs_info): New types.
+       (analyze_ivs_to_split, si_info_start_duplication, split_ivs_in_copies,
+       free_si_info, si_info_hash, si_info_eq, analyze_iv_to_split_insn,
+       determine_split_iv_delta, get_ivts_expr, allocate_basic_variable,
+       insert_base_initialization, split_iv): New functions.
+       (peel_loop_completely, unroll_loop_constant_iterations,
+       unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
+       Use them.
+       * doc/invoke.texi (-fsplit-ivs-in-unroller): Document.
+
+2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-cfg.c (thread_jumps): Update dominators correctly in
+       case destination of threaded edge dominates its source.
+
+2004-09-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * unroll.c: Removed.
+       * loop.h: Removed.
+       * Makefile.in (LOOP_H, unroll.o): Removed.
+       (toplev.o, passes.o, stmt.o, integrate.o, loop.o): Remove LOOP_H
+       dependency.
+       * alias.c (init_alias_analysis): Remove flag_old_unroll_loops
+       reference.
+       * cfgloop.h (LOOP_PREFETCH, loop_optimize): Moved from loop.h.
+       * common.opt (fold-unroll-loops, fold-unroll-all-loops): Removed.
+       * loop.c: Do not include loop.h.
+       (LOOP_INFO, LOOP_MOVABLES, LOOP_REGS, LOOP_IVS, INSN_LUID,
+       REGNO_FIRST_LUID, REGNO_LAST_LUID, enum g_types, struct induction,
+       struct iv_class, enum iv_mode, struct iv, REG_IV_TYPE, REG_IV_INFO,
+       REG_IV_CLASS, struct loop_ivs, struct loop_mem_info, struct loop_reg,
+       struct loop_regs, struct loop_movables, struct loop_info): Moved
+       from loop.h.
+       (back_branch_in_range_p, fold_rtx_mult_add, biv_total_increment,
+       reg_dead_after_loop, final_biv_value, loop_find_equiv_value,
+       find_common_reg_term, loop_iterations, final_giv_value): Moved
+       from unroll.c.
+       (uid_luid, uid_loop, max_uid_for_loop, max_reg_before_loop,
+       loop_dump_stream, for_each_insn_in_loop, express_from,
+       extend_value_for_giv, loop_iv_add_mult_emit_before,
+       loop_iv_add_mult_sink, loop_iv_add_mult_hoist,
+       loop_insn_first_p, get_condition_for_loop,
+       loop_insn_emit_before, loop_insn_hoist,
+       loop_insn_sink): Made static.
+       (loop_invariant_p): Made static.  Removed flag_old_unroll_loops
+       reference.
+       (strength_reduce): Do not call unroller.
+       (record_giv): Do not initialize unrolled field.
+       (prescan_loop): Do not set loop_info->preconditioned.
+       * passes.c: Do not include loop.h.
+       (rest_of_handle_loop_optimize): Do not call unroller.
+       * predict.c: Do not include loop.h.
+       * rtl.h (NOTE_PRECONDITIONED): Removed.
+       * stmt.c: Do not include loop.h.
+       * toplev.c: Do not include loop.h.
+       (process_options): Do not handle flag_old_unroll_loops.
+
+       * doc/invoke.texi (fold-unroll-loops, fold-unroll-all-loops):
+       Documentation removed.
+       * doc/passes.texi (unroll.c, loop.h): Documentation removed.
+
+2004-09-14  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * Makefile.in (STAGE1_CHECKING): New variable.
+       (stage1_build): Use it.
+       * tree-ssa.c (verify_ssa): Preserve state of dominance
+       information.
+
+2004-09-14  Uros Bizjak  <uros@kss-loka.si>
+
+       * config/i386/i386.c (output_fp_compare): Add generation
+       of ftst instruction.
+       * config/i386/i386.md (*cmpfp_0_sf, cmpfp_0_df, cmpfp_0_xf):
+       Use output_fp_compare () function.
+       (cmpfp_i, *cmpfp_i_sse, *cmpfp_i_sse_only): Fix insn constraint.
+       (fix_truncdi_memory): Remove operands[5] copy.
+
+2004-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/m32r/m32r.md, config/m68k/m68kelf.h,
+       config/mcore/mcore.md, config/rs6000/linux64.h,
+       config/rs6000/rs6000.c, config/sparc/sparc.c: Fix comment
+       typos.
+
+2004-09-13  James E Wilson  <wilson@specifixinc.com>
+
+       * Makefile.in (GEN_PROTOS_OBJS): Add $(BUILD_ERRORS).
+       * gen-protos.c: Include errors.h.
+       (progname): Delete.
+
+2004-09-14  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (predict.o): Depend on tree-scalar-evolution.h
+       * predict.c: Include tree-scalar-evolution.h and cfgloop.h
+       (predict_loops): Use number_of_iterations_exit to predict
+       number of iterations on trees.
+
+2004-09-13  Dale Johannesen  <dalej@apple.com>
+
+       PR 17408
+       PR 17409
+       * c-decl.c (start_decl): Repair TREE_STATIC for initialized
+       objects declared extern.
+
+2004-09-14  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm.c (arm_expand_prologue): Make args_to_push a
+       HOST_WIDE_INT.
+
+2004-09-13  Daniel Jacobowitz  <dan@debian.org>
+
+       * fold-const.c (fold_checksum_tree): Ignore TYPE_CACHED_VALUES.
+       Only use TYPE_BINFO for aggregates.
+
+2004-09-13  Daniel Jacobowitz  <dan@debian.org>
+
+       * expmed.c (synth_mult): Initialize latency.  Check cost before
+       checking ops count.
+
+2004-09-13  Kenneth Zadeck  <Kenneth.Zadeck@NaturalBridge.com>
+
+       * tree-ssa-operands.c (get_call_expr_operands): Added parm to
+       add_call_clobber_ops and add_call_read_ops.
+       (add_call_clobber_ops, add_call_read_ops): Added code to reduce
+       the number of vdefs and vuses inserted based on analysis of global
+       variables across calls.  * tree-dfa.c (find_referenced_vars):
+       Needed to reset static var maps before each function is compiled.
+       * cgraphunit.c:
+       (static_vars_to_consider_by_tree,static_vars_to_consider_by_uid,
+       static_vars_info,functions_to_static_vars_info,module_statics_escape,
+       all_module_statics,searchc_env,dfs_info): New fields to support
+       analysis of static global variables.
+       (print_order, convert_UIDs_in_bitmap, new_static_vars_info,
+       cgraph_reset_static_var_maps, get_global_static_vars_info,
+       get_global_statics_not_read, get_global_statics_not_written,
+       searchc, cgraph_reduced_inorder, has_proper_scope_for_analysis,
+       check_rhs_var, check_lhs_var, get_asm_expr_operands,
+       process_call_for_static_vars, scan_for_static_refs,
+       cgraph_characterize_statics_local, cgraph_get_static_name_by_uid,
+       clear_static_vars_maps, cgraph_propagate_bits,
+       cgraph_characterize_statics): New. Functions to support analysis
+       of static global variables.
+       (cgraph_mark_local_and_external_functions): Renamed from:
+       (cgraph_mark_local_functions)
+       (cgraph_expand_all_functions): Remove call to
+       cgraph_mark_local_and_external_functions.
+       (cgraph_optimize): Added driver to analyze static variables whose
+       scope is within the compilation unit.  * cgraph.h (struct
+       cgraph_local_info, GTY): Added statics_read, statics_written,
+       local, calls_read_all, calls_write_all, for_functions_valid.
+       (struct cgraph_node): Added next_cycle.  * cgraph.c
+       (dump_cgraph_node): Added print routines for new fields.  *
+       makefile.in: macroized cgraph.h, added cgraphunit.c to the ggc
+       list.
+
+2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-decl.c (grokdeclarator): Correct comments about where storage
+       class specifiers are rejected by grammar and add corresponding
+       asserts.  Diagnose typedefs and parameters declared inline.
+       Change warning for inline main to a pedwarn.  Only diagnose inline
+       main if hosted.
+       (declspecs_add_scspec): Allow duplicate "inline".
+
+2004-09-13  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_scalar_mode_supported_p): New.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): New.
+
+2004-09-13  Richard Henderson  <rth@redhat.com>
+
+       PR 17436
+       * tree.h (TYPE_CONTAINS_PLACEHOLDER_INTERNAL): New.
+       (tree_type): Replace spare with contains_placeholder_bits.
+       (type_contains_placeholder_1): Rename from type_contains_placeholder_p,
+       make static.  Remove seen_types list.
+       (type_contains_placeholder_p): New.
+
+2004-09-13  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/mips.c (CODE_FOR_mips_sqrt_ps): New.
+       (sb1_bdesc, bdesc_map, bdesc_arrays): New.
+       (mips_expand_builtin): Add SB-1 support.  Use bdesc_map and
+       bdesc_arrays instead of mips_bdesc.
+       (mips_init_builtins): Likewise.
+       * config/mips/mips.h (TARGET_SB1): New.
+       (HAVE_SQRT_P): Delete.
+       * config/mips/mips.md (divide_condition): Support V2SF.
+       (sqrt_condition, recip_condition): New.
+       (div<mode>3): Use ANYF instead of SCALARF.
+       (*div<mode>3): Use ANYF instead of SCALARF.  Use UNITMODE instead of
+       MODE.
+       (*recip<mode>3, *rsqrt<mode>a, *rsqrt<mode>b): Use recip_condition
+       instead of ISA_HAS_FP4.  Use ANYF instead of SCALARF.  Use UNITMODE
+       instead of MODE.
+       (sqrt<mode>2): Use sqrt_condition instead of HAVE_SQRT_P.  Use ANYF
+       instead of SCALARF.  Use UNITMODE instead of MODE.
+
+2004-09-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * config.in: Regenerate after removal of libbanshee.
+
+2004-09-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR tree-optimization/17400
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+       coalesce partitions when one occurs in an abnormal PHI.
+                                                             
+2004-09-13  Andrew Pinski  <apinski@apple.com>
+
+       * config/rs6000/darwin.h (ASM_OUTPUT_COMMON): Change variable size's
+       name to _new_size.
+
+2004-09-13  Richard Henderson  <rth@redhat.com>
+
+       PR inline-asm/6806
+       * cselib.c (cselib_invalidate_rtx): Export.  Remove unused args.
+       (cselib_invalidate_rtx_note_stores): New.
+       (cselib_record_sets, cselib_process_insn): Update to match.
+       * cselib.h (cselib_invalidate_rtx): Declare.
+       * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
+
+2004-09-13  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/10528
+       * tree-inline.c (copy_body_r): Recompute bits for ADDR_EXPR,
+       after copying its argument.
+
+2004-09-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-common.c, c-decl.c, c-lex.c, c-objc-common.c, c-opts.c,
+       c-parse.in, c-pragma.c, c-typeck.c: Use %q, %< and %> for quoting
+       in diagnostics.  Use %' for English apostrophes.
+       * c-tree.h (ATTRIBUTE_GCC_CDIAG): Define.
+       (pedwarn_c90, pedwarn_c99): Use it.
+       * c-decl.c (lookup_label): Quote label name in diagnostic.
+       * c-parse.in (yyprint): Use ' instead of ` for left quote.
+       * c-typeck.c (warn_for_assignment): Likewise.
+
+2004-09-13  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (x86_schedule): New global variable.
+       (override_options): Disable scheduling when not supported.
+       * i386.h (x86_schedule): Declare.
+       (TARGET_SCHEDULE): New macro.
+
+2004-09-12  Richard Henderson  <rth@redhat.com>
+
+       PR c++/16254
+       * fold-const.c (fold) <case CLEANUP_POINT_EXPR>: Remove.
+       * tree.c, tree.h (has_cleanups): Remove.
+
+2004-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-ssa-loop-manip.c (split_loop_exit_edge): Handle non-ssaname
+       arguments of the phi nodes correctly.
+
+2004-09-12  Jan Hubicka  <jh@suse.cz>
+
+       * ggc-common.c (cmp_statistics): Fix sorting.
+
+2004-09-12  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/16795
+       * expmed.c (expand_divmod): If cheap power of 2 divide is
+       available, use it for negative constant as well.
+
+2004-09-12  Andrew Pinski  <apinski@apple.com>
+
+       * darwin.h (ASM_OUTPUT_COMMON): Make sure we do not have a
+       size of 0.
+
+       * tree-chrec.c (initialize_scalar_evolutions_analyzer): Remove.
+
+2004-09-12  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_split_ashldi): Special case op1 as one
+       or minus one.
+       (ix86_split_ashrdi, ix86_split_lshrdi): Clean up conditions for
+       post-reload, and scratch NULL.
+       * config/i386/i386.md (testqi_1): Use FLAGS_REG name.
+       (x86_shift_adj_2): Use ix86_expand_clear.
+       (ashldi3): Remove CMOVE expansion difference.
+       (ashldi3_1): Remove.
+       (*ashldi3_1): Rename from *ashldi3_2.  Use reg_or_pm1_operand and
+       add constraints for immediates.  New peephole for split-with-temp.
+       Run splitter after peep2 pass.
+       (ashrdi3, ashrdi3_1, ashrdi3_2): Similarly.
+       (lshrdi3, lshrdi3_1, lshrdi3_2): Similarly.
+       (setcc_2): Rename with *.
+       * config/i386/predicates.md (reg_or_pm1_operand): New.
+       (ashldi_input_operand): New.
+
+2004-09-12  Richard Henderson  <rth@redhat.com
+
+       * print-rtl.c (print_decl_name): New.
+       (print_mem_expr): Use it.
+
+2004-09-12  Richard Henderson  <rth@redhat.com
+
+       PR 17186, part deux
+       * except.c (sjlj_emit_function_exit): Fix logic locating
+       sjlj_exit_after in final block.
+
+2004-09-12  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * common.opt: Remove flags -fmove-all-movables and
+       -freduce-all-givs.
+       * loop-invariant.c (find_invariants_to_move):
+       Remove all uses of flag_move_all_movables.
+       * loop.c (move_movables): Remove all uses of
+       flag_move_all_movables.
+       (strength_reduce): Remove all uses of
+       flag_reduce_all_givs.
+       * doc/invoke.texi: Remove documentation of flags
+       -fremove-all-movables and -freduce-all-givs.
+
+2004-09-11  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/17411
+       * tree-sra.c (generate_element_zero): Revert recent build_int_cst
+       change. elt->type may be a floating point type, so use fold_convert.
+
+2004-09-11  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.c (machopic_validate_stub_or_non_lazy_ptr): Mark
+       the thing referenced as used, not the stub itself.
+
+2004-09-11  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-tree.h (enum c_storage_class): New.
+       (struct c_declspecs): Add storage_class, inline_p and thread_p.
+       * c-decl.c (shadow_tag_warned): Give errors for "inline" in empty
+       declarations and "auto" or "register" in file scope empty
+       declarations.  Give more specific warnings for other cases of
+       storage class specifiers in empty declarations.
+       (grokdeclarator): Update for new structures.  Don't check for
+       multiple storage classes.  Diagnose file-scope "register" if
+       pedantic.
+       (build_null_declspecs): Update.
+       (declspecs_add_scspec): Update.  Diagnose multiple storage class
+       specifiers and invalid uses of "__thread".
+
+2004-09-11  Zack Weinberg  <zack@codesourcery.com>
+
+       * tree.c (tree_code_size): New function, bulk of code from tree_size.
+       (tree_size, make_node): Use it.
+       * tree-ssa-pre.c (init_pre): Use it.
+       * tree.h: Prototype it.
+
+2004-09-11  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-cfg.c (set_bb_for_stmt): Use PHI_BB.
+       * tree-dfa.c (compute_immediate_uses, add_immediate_use,
+       redirect_immediate_use): Use PHI_DF.
+       * tree-flow-inline.h (stmt_ann): Abort on phi nodes.
+       (bb_for_stmt): Use PHI_BB.
+       (get_immediate_uses): Use PHI_DF.
+       * tree-ssa-dse.c (max_stmt_uid): New variable.
+       (get_stmt_uid): New function.
+       (dse_optimize_stmt, dse_record_phis, tree_ssa_dse): Do not use phi
+       node annotations.
+       * tree-ssa-loop-im.c (LIM_DATA): Do not use phi statement annotations.
+       (max_uid): Renamed to max_stmt_uid.
+       (get_stmt_uid): New function.
+       (maybe_queue_var, single_reachable_address, determine_lsm): Do not use
+       phi node annotations.
+       * tree-ssa.c (replace_immediate_uses): Do not use phi node annotations.
+       * tree.h (PHI_BB, PHI_DF): New accessor functions.
+       (struct tree_phi_node): Add bb and df fields.
+
+2004-09-11  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/17416
+       * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
+       in conflict loop.
+
 2004-09-11  Jan Hubicka  <jh@suse.cz>
 
+       * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
+       (EMIT_MODE_SET): UNINITIALIZED mode needs no set.
+       * i386.md (i387_cw): Add 'uninitialized' mode.
+
        * profile.c (BB_TO_GCOV_INDEX): move more to the front.
        (output_location): Break out from ....
        (branch_prob): ... here; handle gcov output on trees.
        * tree-pretty-print.c (dump_decl_name): Print unnamed decls as
        D.xxx rather than <Dxxx>.
 
-2004-09-10  Adam Nemet  <anemet@lnxw.com>  
+2004-09-10  Adam Nemet  <anemet@lnxw.com>
 
        * configure.ac (AC_MSG_CHECKING(what linker to use)):
        in_tree_ld_is_elf should be true for LynxOS.
-       * configure: Regenerate.  
+       * configure: Regenerate.
 
 2004-09-10  Adam Nemet  <anemet@lnxw.com>
 
        * doc/install.texi (powerpc-*-darwin*): Mention cctools version
        required.
 
-2004-08-02  Gabriel Dos Reis  <gdr@cs.tamu.edu>
+2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
 
        * gdbinit.in: Reflect previous changes to rtunion_def.