OSDN Git Service

PR c/17730
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b2f6bf7..4cdbe1b 100644 (file)
+2004-09-30  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17730
+       * c-typeck.c (lvalue_or_else): Pass msgid directly to error.
+
+2004-09-30  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (collect_points_to_info_r): Move analysis of
+       expressions...
+       (add_pointed_to_expr): ... here.
+       Call add_pointed_to_expr for variables with DECL_INITIAL set.
+       * tree-dfa.c (add_referenced_var): Scan DECL_INITIAL of any
+       pointer variable, if set.
+
+2004-09-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/sh.c: Follow spelling conventions.
+
+2004-09-29  Richard Henderson  <rth@redhat.com>
+
+       * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
+       * doc/tm.texi (DWARF_ZERO_REG): New.
+
+       * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
+       alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
+       * config/alpha/alpha.h (DWARF_ZERO_REG): New.
+
+2004-09-29  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * builtins.c (expand_builtin_strlen): Do not call emit_move_insn
+       with a PLUS as source operand.
+       (expand_movstr): Likewise.
+       (expand_builtin_stpcpy): Likewise.
+
+2004-09-29  Richard Henderson  <rth@redhat.com>
+
+       PR 17739
+       * tree-gimple.c (is_gimple_reg): Reject hard registers.
+       (is_gimple_asm_val): New.
+       * tree-gimple.h (is_gimple_asm_val): Declare.
+       * gimplify.c (gimplify_asm_expr): Use it.
+       * tree-pretty-print.c (print_declaration): Dump hard regs.
+       * tree-outof-ssa.c (check_replaceable): Don't check for hard regs.
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+       * tree-ssa-pre.c (is_undefined_value): Likewise.
+       * tree-ssa-copy.c (may_propagate_copy): Likewise.
+       (may_propagate_copy_into_asm): Protect DECL_HARD_REGISTER.
+       * tree-ssa.c (warn_uninit): Likewise.
+       * tree.h (DECL_HARD_REGISTER): Check for VAR_DECL.
+
+2004-09-29  Fariborz Jahanian <fjahanian@apple.com>
+
+       * c-decl.c (merge_decls): Use comptype when comparing
+       types to decide on DECL_SIZE save of olddecl.
+
+2004-09-29  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree.h (INDIRECT_REF_P): New macro.
+       * alias.c (get_alias_set): Use it
+       (nonoverlapping_memrefs_p): Ditto.
+       * emit-rtl.c (mem_expr_equal_p): Ditto.
+       (set_mem_attributes_minus_bitpos): Ditto.
+       (is_gimple_addressable): Ditto.
+       (get_base_address): Ditto.
+       * tree-ssa-alias.c (find_ptr_derefernece): Ditto.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Ditto.
+       * tree-ssa-dom.c (record_equivalences_from_stmt): Ditto.
+       * tree-ssa-loop-im.c (is_call_clobbered_ref): Ditto.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Ditto.
+       (add_address_candidates): Ditto.
+       (rewrite_address_base): Ditto.
+
+2004-09-30  Ben Elliston  <bje@au.ibm.com>
+
+       * tree-flow.h (struct bb_ann_d): Remove num_preds member.
+       * tree-into-ssa.c (rewrite_into_ssa): Don't set it.
+       (rewrite_ssa_into_ssa): Likewise.
+       * tree-phinodes.c (create_phi_node): Access the number of
+       predecessor edges using EDGE_COUNT() and not num_preds.
+
+2004-09-29  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/7425
+       * c-decl.c (merge_decls): Merge TREE_DEPRECATED.
+
+2004-09-29  Eric Christopher  <echristo@redhat.com>
+
+       * fold-const.c (tree_swap_operands_p): Remove duplicated code.
+
+2004-09-29  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md (moverside, movemside): With MEM, make sure
+       the address is (plus reg mem).
+
+2004-09-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Define.
+
+2004-09-29  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.c (make_node_stat): Fix uninitialized warning.  Replace
+       cascaded if ... else if with a switch.
+
+2004-09-29  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+       * read-rtl.c (apply_macro_to_string): Replace index with strchr.
+
+2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
+       and TI_VA_LIST_FPR_COUNTER_FIELD.
+       (va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
+       * tree-pass.h (pass_stdarg): Add.
+       * tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
+       * tree-stdarg.c: New file.
+       * Makefile.in (OBJS-common): Add tree-stdarg.o.
+       (tree-stdarg.o): Add dependencies.
+       * function.h (struct function): Add va_list_gpr_size and
+       va_list_fpr_size fields.
+       * function.c (allocate_struct_function): Initialize them.
+
+       * config/i386/i386.c (ix86_build_builtin_va_list): Initialize
+       va_list_{g,f}pr_counter_field.
+       (ix86_setup_incoming_varargs): Don't do anything if reg_save
+       area will not be used.  Only save registers that tree-stdarg.c
+       detected they need saving.
+       (ix86_va_start): Don't set up fields that won't be used.
+
+       * config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
+       va_list_{g,f}pr_counter_field.
+       (setup_incoming_varargs): Don't do anything if reg_save
+       area will not be used.  Only save registers that tree-stdarg.c
+       detected they need saving.
+       (rs6000_va_start): Don't set up fields that won't be used.
+
+2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
+       BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
+       BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
+       BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
+       * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
+       ATTR_NONNULL_1_4): New.
+
+2004-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/17697
+       * tree-ssa-ccp.c (execute_fold_all_builtins): Update eh and cleanup
+       cfg if needed.
+
+2004-09-28  Per Bothner  <per@bothner.com>
+
+       * profile.c (branch_prob): Pass correct value to output_location,
+       even when USE_MAPPED_LOCATION.  Fixes bug from 09-11.
+
+2004-09-28  Richard Henderson  <rth@redhat.com>
+
+       PR 15089
+       * tree-ssa-copy.c (may_propagate_copy_into_asm): New.
+       * tree-flow.h (may_propagate_copy_into_asm): Declare.
+       * tree-ssa-ccp.c (replace_uses_in): Use it.
+       * tree-ssa-dom.c (cprop_operand): Likewise.
+
+2004-09-28 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-threadupdate.c (create_block_for_threading):  Request
+       that no outgoing edges be left in the duplicate block.  Do no
+       update information on outgoing edges or PHI nodes in target
+       blocks here.
+       (remove_ctrl_stmt_and_useless_edges): Renamed from
+       remove_last_stmt_and_useless_edges.  Handle case where the
+       block is empty or has no control statements.  Do not update edge
+       flags here.
+       (thread_block): Create a template block rather than copying the
+       original block every time.  Create outgoing edges from the
+       duplicate blocks and update PHIs at the target of the outgoing
+       edges here.  Fix edge flags for the original block if necessary.
+       * cfghooks (duplicate_block): No longer assert that the original
+       block has incoming edges.
+
+2004-09-29  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * doc/extend.texi (Extended Asm): Add blurb about using Explicit
+       Reg Vars to enforce register allocation with general constraints.
+       (Explicit Reg Vars): Clarify relation to asm statements.
+       (Local Reg Vars): Similar.
+
+2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
+       TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
+       build_control_flow, new_edge): Remove.
+       (schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
+       (bitlst, bitlst_table_last, bitlst_table): Remove.
+       (bblst): Store basic_block pointer instead of block index.
+       (bblst_table): Likewise.
+       (edgelst): Store edge pointer instead of edge index.
+       (edgelst_table, edgelst_last): New variables.
+       (extract_bitlst): Rename to ...
+       (extract_edgelst): ... this.  Return edge pointers, not indices.
+       (split_edges): Update call.
+       (rgn_edges): Store edge pointers instead of indices.
+       (edge_to_bit): Remove.
+       (EDGE_TO_BIT): Store per-region edge index in edge->aux.
+       (SET_EDGE_TO_BIT): New macro.
+       (is_cfg_nonregular): Check for simple cases of unreachable blocks.
+       (find_rgns): Remove edge_list parameter.  Traverse standard CFG
+       data structures instead of haifa_edge et al.  Use edge pointers
+       instead of edge indices everywhere.
+       (compute_dom_prob_ps): Use standard CFG data structures.  Account
+       for exit edges.
+       (compute_trg_info): Likewise.
+       (propagate_deps): Likewise.
+       (debug_candidate): Account for bblst data structure change.
+       (check_live_1, update_live_1, is_pfree): Likewise.
+       (IS_REACHABLE): Use standard CFG data structures.
+       (init_ready_list): Update bblst_table/edgelst_table allocation.
+       (schedule_region): Update alloc/cleanup code to data structure
+       changes.  Use edge->aux to store per-region edge index.
+       (init_regions): No longer call build_control_flow.  Do not
+       create edge list any more.
+
+2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * cse.c (cse_insn): Avoid creating direct non-local jumps.
+       * combine.c (can_combine_p): Likewise.
+       * local-alloc. (update_equiv_regs): Likewise.
+
+2004-09-28  Richard Henderson  <rth@redhat.com>
+
+       PR 17531
+       * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
+       Don't check VOIDmode here.  Force PLUS operands to common type.
+       (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
+       Pmode if given a non pointer type.
+
+2004-09-28  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR 17531
+       * optabs.c (expand_binop): Force constants to the correct mode.
+
+2004-09-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (s390_adjust_cost): Remove.
+       (TARGET_SCHED_ADJUST_COST): Do not redefine.
+       (s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
+       * config/s390/s390.md ("main_pool"): Use "larl" type
+       attribute if TARGET_CPU_ZARCH.
+
+2004-09-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_prologue): Declare ei
+       variable.
+
+2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-loop.c (pass_record_bounds): Do not assign a
+       name to the pass.
+
+2004-09-28  Steven Bosscher  <stevenb@suse.de>
+
+       * common.opt (flag_gcse_sm): Disable by default.
+       (flag_gcse_las): Likewise.
+       (flag_web): Likewise.  Create from this file.
+       * flags.h: Remove flag_web declaration.
+       * toplev.c (flag_web): Likewise.
+       (process_options): Never set flag_web.
+
+2004-09-28  Steven Bosscher  <stevenb@suse.de>
+
+       * Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
+       * tree-ssa-propagate.c: Include vec.h.
+       (interesting_ssa_edges, varying_ssa_edges): Make these VECs
+       instead of varrays.
+       (cfg_blocks_add): Assert the block is not already in the worklist.
+       Update uses of interesting_ssa_edges and varying_ssa_edges.
+       (process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
+       ssa_propagate): Likewise.
+
+2004-09-28  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/16409
+       * c-decl.c (start_decl): Check for initializing incomplete array
+       of VLAs.
+       (build_compound_literal): Check for TYPE being error_mark_node.
+       * c-parse.in (primary): Check for VLA compound literals.
+
+2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-live.c (calculate_live_on_entry): Fix warnings
+       with --disable-checking.
+
+2004-09-28  Devang Patel  <dpatel@apple.com>
+
+       * tree-pretty-print.c (dump_generic_node): Print vector types.
+
+2004-09-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/sh.h (INIT_CUMULATIVE_ARGS): Replace with an
+       invocation of the function sh_init_cumulative_args.
+       (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
+       (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
+       * config/sh/sh-protos.h: Prototype sh_init_cumulative_args.
+       * config/sh/sh.c (sh_init_cumulative_args): New function based
+       on the contents of the old INIT_CUMULATIVE_ARGS macro but with a
+       heuristic added to determine the setting of force_mem when a
+       library function is being called.
+
+2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
+       Skip constant arguments.
+
+2004-09-28  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-alias.c (create_name_tags): If PTR points to a
+       volatile type, mark the tag volatile.
+       (get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
+       volatile.
+
+2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree.def (vec_cond_expr): Fix. Change 'e'
+       to tcc_expression.
+
+2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Fix a comment typo.
+
+2004-09-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * optabs.c, optabs.h: Fix comment typos.
+
+2004-09-28  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * config/sparc/sparc.md (call_address_struct_value_sp32):
+       Properly mask the immediate field of the 'unimp' instruction.
+       (call_symbolic_struct_value_sp32): Likewise.
+
+2004-09-28  Ben Elliston  <bje@au.ibm.com>
+           Steven Bosscher  <stevenb@suse.de>
+           Andrew Pinski  <pinskia@physics.uc.edu>
+
+       Merge from edge-vector-branch:
+       * basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
+       (struct edge_def): Remove pred_next, succ_next members.
+       (struct basic_block_def): Remove pred, succ members.  Add preds
+       and succs members of type VEC(edge).
+       (FALLTHRU_EDGE): Redefine using EDGE_SUCC.
+       (BRANCH_EDGE): Likewise.
+       (EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
+       (EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
+       (edge_iterator): New.
+       (ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
+       (ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
+       (FOR_EACH_EDGE): New.
+       * bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
+       where applicable.
+       (rotate_loop): Likewise.
+       (find_traces_1_route): Likewise.
+       (bb_to_key): Likewise.
+       (connect_traces): Likewise.
+       (copy_bb_p): Likewise.
+       (find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
+       (add_labels_and_missing_jumps): Likewise.
+       (fix_up_fall_thru_edges): Likewise.
+       (find_jump_block): Likewise.
+       (fix_crossing_conditional_branches): Likewise.
+       (fix_crossing_unconditional_branches): Likewise.
+       (add_reg_crossing_jump_notes): Likewise.
+       * bt-load.c (augment_live_range): Likewise.
+       * cfg.c (clear_edges): Likewise.
+       (unchecked_make_edge): Likewise.
+       (cached_make_edge): Likewise.
+       (make_single_succ_edge): Likewise.
+       (remove_edge): Likewise.
+       (redirect_edge_succ_nodup): Likewise.
+       (check_bb_profile): Likewise.
+       (dump_flow_info): Likewise.
+       (alloc_aux_for_edges): Likewise.
+       (clear_aux_for_edges): Likewise.
+       (dump_cfg_bb_info): Likewise.
+       * cfganal.c (forwarder_block_p): Likewise.
+       (can_fallthru): Likewise.
+       (could_fall_through): Likewise.
+       (mark_dfs_back_edges): Likewise.
+       (set_edge_can_fallthru_flag): Likewise.
+       (find_unreachable_blocks): Likewise.
+       (create_edge_list): Likewise.
+       (verify_edge_list): Likewise.
+       (add_noreturn_fake_exit_edges): Likewise.
+       (connect_infinite_loops_to_exit): Likewise.
+       (flow_reverse_top_sort_order_compute): Likewise.
+       (flow_depth_first_order_compute): Likewise.
+       (flow_preorder_transversal_compute): Likewise.
+       (flow_dfs_compute_reverse_execute): Likewise.
+       (dfs_enumerate_from): Likewise.
+       (compute_dominance_frontiers_1): Likewise.
+       * cfgbuild.c (make_edges): Likewise.
+       (compute_outgoing_frequencies): Likewise.
+       (find_many_sub_basic_blocks): Likewise.
+       (find_sub_basic_blocks): Likewise.
+       * cfgcleanup.c (try_simplify_condjump): Likewise.
+       (thread_jump): Likewise.
+       (try_forward_edges): Likewise.
+       (merge_blocks_move): Likewise.
+       (outgoing_edges_match): Likewise.
+       (try_crossjump_to_edge): Likewise.
+       (try_crossjump_bb): Likewise.
+       (try_optimize_cfg): Likewise.
+       (merge_seq_blocks): Likewise.
+       * cfgexpand.c (expand_gimple_tailcall): Likewise.
+       (expand_gimple_basic_block): Likewise.
+       (construct_init_block): Likewise.
+       (construct_exit_block): Likewise.
+       * cfghooks.c (verify_flow_info): Likewise.
+       (dump_bb): Likewise.
+       (delete_basic_block): Likewise.
+       (split_edge): Likewise.
+       (merge_blocks): Likewise.
+       (make_forwarder_block): Likewise.
+       (tidy_fallthru_edges): Likewise.
+       (can_duplicate_block_p): Likewise.
+       (duplicate_block): Likewise.
+       * cfglayout.c (fixup_reorder_chain): Likewise.
+       (fixup_fallthru_exit_predecessor): Likewise.
+       (can_copy_bbs_p): Likewise.
+       (copy_bbs): Likewise.
+       * cfgloop.c (flow_loops_cfg_dump): Likewise.
+       (flow_loop_entry_edges_find): Likewise.
+       (flow_loop_exit_edges_find): Likewise.
+       (flow_loop_nodes_find): Likewise.
+       (mark_single_exit_loops): Likewise.
+       (flow_loop_pre_header_scan): Likewise.
+       (flow_loop_pre_header_find): Likewise.
+       (update_latch_info): Likewise.
+       (canonicalize_loop_headers): Likewise.
+       (flow_loops_find): Likewise.
+       (get_loop_body_in_bfs_order): Likewise.
+       (get_loop_exit_edges): Likewise.
+       (num_loop_branches): Likewise.
+       (verify_loop_structure): Likewise.
+       (loop_latch_edge): Likewise.
+       (loop_preheader_edge): Likewise.
+       * cfgloopanal.c (mark_irreducible_loops): Likewise.
+       (expected_loop_iterations): Likewise.
+       * cfgloopmanip.c (remove_bbs): Likewise.
+       (fix_bb_placement): Likewise.
+       (fix_irreducible_loops): Likewise.
+       (remove_path): Likewise.
+       (scale_bbs_frequencies): Likewise.
+       (loopify): Likewise.
+       (unloop): Likewise.
+       (fix_loop_placement): Likewise.
+       (loop_delete_branch_edge): Likewise.
+       (duplicate_loop_to_header_edge): Likewise.
+       (mfb_keep_just): Likewise.
+       (create_preheader): Likewise.
+       (force_single_succ_latches): Likewise.
+       (loop_split_edge_with): Likewise.
+       (create_loop_notes): Likewise.
+       * cfgrtl.c (rtl_split_block): Likewise.
+       (rtl_merge_blocks): Likewise.
+       (rtl_can_merge_blocks): Likewise.
+       (try_redirect_by_replacing_jump): Likewise.
+       (force_nonfallthru_and_redirect): Likewise.
+       (rtl_tidy_fallthru_edge): Likewise.
+       (commit_one_edge_insertion): Likewise.
+       (commit_edge_insertions): Likewise.
+       (commit_edge_insertions_watch_calls): Likewise.
+       (rtl_verify_flow_info_1): Likewise.
+       (rtl_verify_flow_info): Likewise.
+       (purge_dead_edges): Likewise.
+       (cfg_layout_redirect_edge_and_branch): Likewise.
+       (cfg_layout_can_merge_blocks_p): Likewise.
+       (rtl_flow_call_edges_add): Likewise.
+       * cse.c (cse_cc_succs): Likewise.
+       * df.c (hybrid_search): Likewise.
+       * dominance.c (calc_dfs_tree_nonrec): Likewise.
+       (calc_dfs_tree): Likewise.
+       (calc_idoms): Likewise.
+       (recount_dominator): Likewise.
+       * domwalk.c (walk_dominator_tree): Likewise.
+       * except.c (emit_to_new_bb_before): Likewise.
+       (connect_post_landing_pads): Likewise.
+       (sjlj_emit_function_enter): Likewise.
+       (sjlj_emit_function_exit): Likewise.
+       (finish_eh_generation): Likewise.
+       * final.c (compute_alignments): Likewise.
+       * flow.c (calculate_global_regs_live): Likewise.
+       (initialize_uninitialized_subregs): Likewise.
+       (init_propagate_block_info): Likewise.
+       * function.c (thread_prologue_and_epilogue_insns): Likewise.
+       * gcse.c (find_implicit_sets): Likewise.
+       (bypass_block): Likewise.
+       (bypass_conditional_jumps): Likewise.
+       (compute_pre_data): Likewise.
+       (insert_insn_end_bb): Likewise.
+       (insert_store): Likewise.
+       (remove_reachable_equiv_notes): Likewise.
+       * global.c (global_conflicts): Likewise.
+       (calculate_reg_pav): Likewise.
+       * graph.c (print_rtl_graph_with_bb): Likewise.
+       * ifcvt.c (mark_loop_exit_edges): Likewise.
+       (merge_if_block): Likewise.
+       (find_if_header): Likewise.
+       (block_jumps_and_fallthru_p): Likewise.
+       (find_if_block): Likewise.
+       (find_cond_trap): Likewise.
+       (block_has_only_trap): Likewise.
+       (find_if_case1): Likewise.
+       (find_if_case_2): Likewise.
+       * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
+       (perfect_nestify): Likewise.
+       * lcm.c (compute_antinout_edge): Likewise.
+       (compute_laterin): Likewise.
+       (compute_available): Likewise.
+       (compute_nearerout): Likewise.
+       * loop-doloop.c (doloop_modify): Likewise.
+       * loop-init.c (loop_optimizer_init): Likewise.
+       * loop-invariant.c (find_exits): Likewise.
+       * loop-iv.c (simplify_using_initial_values): Likewise.
+       (check_simple_exit): Likewise.
+       (find_simple_exit): Likewise.
+       * loop-unroll.c (peel_loop_completely): Likewise.
+       (unroll_loop_constant_iterations): Likewise.
+       (unroll_loop_runtime_iterations): Likewise.
+       * loop-unswitch.c (may_unswitch_on): Likewise.
+       (unswitch_loop): Likewise.
+       * modulo-sched.c (generate_prolog_epilog): Likewise.
+       (sms_schedule): Likewise.
+       * postreload-gcse.c (eliminate_partially_redundant_load):
+       Likewise.
+       * predict.c (can_predict_insn_p): Likewise.
+       (set_even_probabilities): Likewise.
+       (combine_predictions_for_bb): Likewise.
+       (predict_loops): Likewise.
+       (estimate_probability): Likewise.
+       (tree_predict_by_opcode): Likewise.
+       (tree_estimate_probability): Likewise.
+       (last_basic_block_p): Likewise.
+       (propagate_freq): Likewise.
+       (estimate_loops_at_level): Likewise.
+       (estimate_bb_frequencies): Likewise.
+       * profile.c (instrument_edges): Likewise.
+       (get_exec_counts): Likewise.
+       (compute_branch_probabilities): Likewise.
+       (branch_prob): Likewise.
+       * ra-build.c (live_in): Likewise.
+       * ra-rewrite.c (rewrite_program2): Likewise.
+       * ra.c (reg_alloc): Likewise.
+       * reg-stack.c (reg_to_stack): Likewise.
+       (convert_regs_entry): Likewise.
+       (compensate_edge): Likewise.
+       (convert_regs_1): Likewise,
+       (convert_regs_2): Likewise.
+       (convert_regs): Likewise.
+       * regrename.c (copyprop_hardreg_forward): Likewise.
+       * reload1.c (fixup_abnormal_edges): Likewise.
+       * sbitmap.c (sbitmap_intersection_of_succs): Likewise.
+       (sbitmap_insersection_of_preds): Likewise.
+       (sbitmap_union_of_succs): Likewise.
+       (sbitmap_union_of_preds): Likewise.
+       * sched-ebb.c (compute_jump_reg_dependencies): Likewise.
+       (fix_basic_block_boundaries): Likewise.
+       (sched_ebbs): Likewise.
+       * sched-rgn.c (build_control_flow): Likewise.
+       (find_rgns): Likewise.
+       * tracer.c (find_best_successor): Likewise.
+       (find_best_predecessor): Likewise.
+       (tail_duplicate): Likewise.
+       * tree-cfg.c (make_edges): Likewise.
+       (make_ctrl_stmt_edges): Likewise.
+       (make_goto_expr_edges): Likewise.
+       (tree_can_merge_blocks_p): Likewise.
+       (tree_merge_blocks): Likewise.
+       (cfg_remove_useless_stmts_bb): Likewise.
+       (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
+       (tree_block_forwards_to): Likewise.
+       (cleanup_control_expr_graph): Likewise.
+       (find_taken_edge): Likewise.
+       (dump_cfg_stats): Likewise.
+       (tree_cfg2vcg): Likewise.
+       (disband_implicit_edges): Likewise.
+       (tree_find_edge_insert_loc): Likewise.
+       (bsi_commit_edge_inserts): Likewise.
+       (tree_split_edge): Likewise.
+       (tree_verify_flow_info): Likewise.
+       (tree_make_forwarder_block): Likewise.
+       (tree_forwarder_block_p): Likewise.
+       (thread_jumps): Likewise.
+       (tree_try_redirect_by_replacing_jump): Likewise.
+       (tree_split_block): Likewise.
+       (add_phi_args_after_copy_bb): Likewise.
+       (rewrite_to_new_ssa_names_bb): Likewise.
+       (dump_function_to_file): Likewise.
+       (print_pred_bbs): Likewise.
+       (print_loop): Likewise.
+       (tree_flow_call_edges_add): Likewise.
+       (split_critical_edges): Likewise.
+       (execute_warn_function_return): Likewise.
+       (extract_true_false_edges_from_block): Likewise.
+       * tree-if-conv.c (tree_if_conversion): Likewise.
+       (if_convertable_bb_p): Likewise.
+       (find_phi_replacement_condition): Likewise.
+       (combine_blocks): Likewise.
+       * tree-into-ssa.c (compute_global_livein): Likewise.
+       (ssa_mark_phi_uses): Likewise.
+       (ssa_rewrite_initialize_block): Likewise.
+       (rewrite_add_phi_arguments): Likewise.
+       (ssa_rewrite_phi_arguments): Likewise.
+       (insert_phi_nodes_for): Likewise.
+       (rewrite_into_ssa): Likewise.
+       (rewrite_ssa_into_ssa): Likewise.
+       * tree-mudflap.c (mf_build_check_statement_for): Likewise.
+       * tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
+       (rewrite_trees): Likewise.
+       * tree-pretty-print.c (dump_bb_header): Likewise.
+       (dump_implicit_edges): Likewise.
+       * tree-sra.c (insert_edge_copies): Likewise.
+       (find_obviously_necessary_stmts): Likewise.
+       (remove_data_stmt): Likewise.
+       * tree-ssa-dom.c (thread_across_edge): Likewise.
+       (dom_opt_finalize_block): Likewise.
+       (single_incoming_edge_ignoring_loop_edges): Likewise.
+       (record_equivalences_from_incoming_edges): Likewise.
+       (cprop_into_successor_phis): Likewise.
+       * tree-ssa-live.c (live_worklist): Likewise.
+       (calculate_live_on_entry): Likewise.
+       (calculate_live_on_exit): Likewise.
+       * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
+       (copy_loop_headers): Likewise.
+       * tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
+       (fill_always_executed_in): Likewise.
+       * tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
+       (compute_phi_arg_on_exit): Likewise.
+       * tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
+       (get_loops_exit): Likewise.
+       (split_loop_exit_edge): Likewise.
+       (ip_normal_pos): Likewise.
+       * tree-ssa-loop-niter.c (simplify_using_initial_conditions):
+       Likewise.
+       * tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
+       (replace_phi_with_stmt): Likewise.
+       (value_replacement): Likewise.
+       * tree-ssa-pre.c (compute_antic_aux): Likewise.
+       (insert_aux): Likewise.
+       (init_pre): Likewise.
+       * tree-ssa-propagate.c (simulate_stmt): Likewise.
+       (simulate_block): Likewise.
+       (ssa_prop_init): Likewise.
+       * tree-ssa-threadupdate.c (thread_block): Likewise.
+       (create_block_for_threading): Likewise.
+       (remove_last_stmt_and_useless_edges): Likewise.
+       * tree-ssa.c (verify_phi_args): Likewise.
+       (verify_ssa): Likewise.
+       * tree_tailcall.c (independent_of_stmt_p): Likewise.
+       (find_tail_calls): Likewise.
+       (eliminate_tail_call): Likewise.
+       (tree_optimize_tail_calls_1): Likewise.
+       * tree-vectorizer.c (vect_transform_loop): Likewise.
+       * var-tracking.c (prologue_stack_adjust): Likewise.
+       (vt_stack_adjustments): Likewise.
+       (vt_find_locations): Likewise.
+       * config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
+       * config/i386/i386.c (ix86_pad_returns): Likewise.
+       * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+
+2004-09-28  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/16532
+       * config/sparc/sparc.c (struct machine_function): New field
+       'leaf_function_p' and 'prologue_data_valid_p'.
+       (sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
+       to conveniently access the above fields.
+       (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
+       (eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
+       of the generic flavor 'current_function_uses_only_leaf_regs'.
+       (eligible_for_sibcall_delay): Likewise.
+       (sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
+       'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
+       (sparc_asm_function_prologue): Add sanity check for the assumption
+       made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
+       (sparc_can_use_return_insn_p): New function.
+       (sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
+       (output_restore): Likewise.
+       (output_sibcall): Likewise.
+       (sparc_output_mi_thunk): Likewise.
+       * config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
+       * config/sparc/sparc.md (return): New expander.
+
+       * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
+
+2004-09-27  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/17642
+       * stor-layout.c (layout_decl): Use fold_convert, not convert.
+       (bit_from_pos): Likewise.
+       (byte_from_pos): Likewise.
+       (pos_from_bit): Likewise.
+       (normalize_offset): Likewise.
+       (place_field): Likewise.
+       (finalize_type_size): Likewise.
+       (layout_type): Likewise.
+       * tree.c (build_index_type): Likewise.
+
+2004-09-27  Devang Patel  <dpatel@apple.com>
+
+       * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
+       * genopinit.c (optabs): New entry for vcond_gen_code and
+       vcondu_gen_code.
+       * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
+       (get_rtx_code): New function.
+       (vector_compare_rtx): New function.
+       (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
+       (expand_vec_cond_expr_p): New function.
+       (expand_vec_cond_expr): New function.
+       (get_vcond_icode): New function.
+       * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
+       (vcond_gen_code, vcondu_gen_code): Same.
+
+2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (STAGESTUFF): Split into ...
+       (STAGECOPYSTUFF, STAGEMOVESTUFF): ... these.
+       (mostlyclean): Update.
+       (stage1-start, stage2-start, stage3-start, stage4-start,
+       stageprofile-start, stagefeedback-start): Copy the STAGECOPYSTUFF.
+       Move the STAGEMOVESTUFF.
+
+2004-09-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * system.h (getpagesize): Return 'int' instead of 'long'.
+
+2004-09-27  Michael Matz <matz@suse.de>
+
+       PR bootstrap/17698
+       PR bootstrap/17702
+       * bitmap.h (bmp_iter_single_init, bmp_iter_and_not_init,
+       bmp_iter_and_init): Shift by bit_in_word.
+
+2004-09-27  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * aclocal.m4: Quote m4_includes. Include ../config/gcc-lib-path.m4.
+       * configure.ac: Don't sinclude it here.
+       * configure: Regenerate.
+
+2004-09-27  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimate_address, print_operand):
+       Handle AND pattern
+
+2004-09-27  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/13804
+       * c-typeck.c (build_component_ref): Name type involved in
+       diagnostic for structure or union without a member of the given
+       name.
+
+2004-09-27  DJ Delorie  <dj@redhat.com>
+
+       * config/stormy16/stormy16.c (xstormy16_asm_output_aligned_common):
+       .comm alignment is bytes, not bits.
+
+2004-09-27  Devang Patel  <dpatel@apple.com>
+
+       * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
+       (print_call_name): Do not print VEC_COND_EXPR.
+
+2004-09-27  Devang Patel  <dpatel@apple.com>
+
+       * tree-pretty-print.c (dump_generic_node): Print VEC_COND_EXPR.
+
+2004-09-27  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (athlon_cost, k8_cost): Set BRANCH_COST to 5.
+
+2004-09-27  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bitmap.h: Fix a comment typo.
+
+2004-09-27  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
+
+       * libgcc2.c (getpagesize): Change type of return value to int.
+
+2004-09-26  Matt Austern  <austern@apple.com>
+
+       * ggc-page.c (GGC_QUIRE_SIZE): Bump up from 16 to 256 if we're
+       using mmap.
+
+2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * bitmap.h (EXECUTE_IF_SET_IN_BITMAP, EXECUTE_IF_AND_COMPL_IN_BITMAP,
+       EXECUTE_IF_AND_IN_BITMAP): Changed to iterator style.
+       (bitmap_iterator): New type.
+       (bmp_iter_common_next_1, bmp_iter_single_next_1, bmp_iter_single_init,
+       bmp_iter_end_p, bmp_iter_single_next, bmp_iter_and_not_next_1,
+       bmp_iter_and_not_init, bmp_iter_and_not_next, bmp_iter_and_next_1,
+       bmp_iter_and_init, bmp_iter_and_next): New functions.
+       * basic-block.h (EXECUTE_IF_SET_IN_REG_SET,
+       EXECUTE_IF_AND_COMPL_IN_REG_SET, EXECUTE_IF_AND_IN_REG_SET): Changed to
+       use iterator-style EXECUTE_IF_IN_BITMAP macros.
+       * bitmap.c (bitmap_print): Ditto.
+       * bt-load.c (clear_btr_from_live_range, add_btr_to_live_range,
+       btr_def_live_range): Ditto.
+       * cfganal.c (compute_dominance_frontiers_1) Ditto.
+       * cgraphunit.c (convert_UIDs_in_bitmap, cgraph_characterize_statics):
+       Ditto.
+       * ddg.c (build_inter_loop_deps): Ditto.
+       * df.c (FOR_EACH_BB_IN_BITMAP, df_bb_reg_info_compute, df_refs_update):
+       Ditto.
+       * except.c (remove_eh_handler): Ditto.
+       * flow.c (reg_set_to_hard_reg_set): Ditto.
+       * gcse.c (clear_modify_mem_tables): Ditto.
+       * global.c (build_insn_chain): Ditto.
+       * ifcvt.c (dead_or_predicable): Ditto.
+       * loop-invariant.c (get_inv_cost, set_move_mark, move_invariant_reg):
+       Ditto.
+       * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Ditto.
+       * ra-rewrite.c (reloads_to_loads, rewrite_program2,
+       detect_web_parts_to_rebuild, delete_useless_defs, actual_spill): Ditto.
+       * tree-cfg.c (allocate_ssa_names, tree_duplicate_sese_region,
+       tree_purge_all_dead_eh_edges): Ditto.
+       * tree-into-ssa.c (compute_global_livein, insert_phi_nodes,
+       insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags,
+       rewrite_ssa_into_ssa): Ditto.
+       * tree-outof-ssa.c (find_replaceable_exprs): Ditto.
+       * tree-sra.c (scan_function, decide_instantiations, scalarize_parms):
+       Ditto.
+       * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape,
+       compute_flow_sensitive_aliasing, maybe_create_global_var,
+       dump_points_to_info_for): Ditto.
+       * tree-ssa-dce.c (EXECUTE_IF_CONTROL_DEPENDENT): Ditto.
+       * tree-ssa-dse.c (dse_finalize_block): Ditto.
+       * tree-ssa-live.c (live_worklist, calculate_live_on_entry,
+       calculate_live_on_exit, build_tree_conflict_graph, dump_live_info):
+       Ditto.
+       * tree-ssa-loop-ivopts.c (find_induction_variables,
+       find_interesting_uses, add_old_ivs_candidates, alloc_use_cost_map,
+       determine_use_iv_costs, determine_set_costs, find_best_candidate,
+       set_cost_up_to, create_new_ivs, remove_unused_ivs, free_loop_data):
+       Ditto.
+       * tree-ssa-loop-manip.c (add_exit_phis_var, add_exit_phis): Ditto.
+       * tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops,
+       add_call_read_ops): Ditto.
+       * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Ditto.
+
+2004-09-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (print_operand): Use non-trapping completers for UNLE, UNLT,
+       UNGE, UNGT, UNEQ, UNORDERED and ORDERED comparisons.
+
+2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * builtins.c (expand_builtin_memcmp): Adjust MEM_SIZE to
+       reflect size of memory regions being compared.
+
+2004-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * builtins.c (get_memory_rtx): Set mem attributes for non-ADDR_EXPR
+       expressions.  Always clear MEM_SIZE and alias set.
+
+2004-09-26  Roger Sayle  <roger@eyesopen.com>
+           Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       PR middle-end/17112
+       * stor-layout.c (compute_record_mode): For records with a single
+       field, only use the field's mode if its size matches what we'd
+       have choosen for the record ourselves.  This forces the use of
+       BLKmode for packed records that don't completely fill a mode.
+
+2004-09-26  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/17151
+       * combine.c (force_to_mode): Remove dubious early return test that
+       inhibits further optimization.
+
+2004-09-26  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * profile.c: Fix a comment typo.
+
+2004-09-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR bootstrap/17591
+       * tree-ssa-loop-im.c (for_each_index): Call callback for component_refs
+       with varying offset.
+       * tree-ssa-loop-ivopts.c (abnormal_ssa_name_p): New function.
+       (idx_contains_abnormal_ssa_name_p): Scan step and lower bound for
+       ARRAY_REFS.
+       (expr_invariant_in_loop_p): New function.
+       (idx_find_step): Handle step and lower bound for ARRAY_REFs.  Handle
+       component_ref_field_offset for COMPONENT_REFs.  Do not allow
+       ALIGN_INDIRECT_REFs and MISALIGNED_INDIRECT_REFs.
+       (add_address_candidates): Do not handle ALIGN_INDIRECT_REFs and
+       MISALIGNED_INDIRECT_REFs.
+       (idx_remove_ssa_names): Handle step and lower bound for ARRAY_REFs.
+       (rewrite_address_base): Do not handle ALIGN_INDIRECT_REFs and
+       MISALIGNED_INDIRECT_REFs.
+
+2004-09-26  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/11459
+       * gcc.c (cpp_options, cc1_options): Preserve relative order of
+       -std and -ansi options.
+
+2004-09-26  Jan Hubicka  <jh@suse.cz>
+
+       * dwarf2out.c (dwarf2out_finish): Set parent to comp_unit_die
+       for nested functions whose proper parent has not been output.
+
+       * profile.c (compute_branch_probabilities): Use REG_BR_PROB notes
+       when re-constructing profile previously invalidated by loop.
+
+2004-09-25  Dale Johannesen  <dalej@apple.com>
+
+       * tree-gimple.c:  Move GIMPLE definition...
+       * doc/tree-ssa.texi:  here.
+
+2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-vectorizer.c: Fix a comment typo.
+
+2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-typeck.c, defaults.h, dwarf.h, dwarf2out.c, fold-const.c,
+       gthr-dce.h, gthr-posix.h, gthr-solaris.h, gthr-win32.h,
+       lambda-code.c, lambda-mat.c, libgcc2.c, stmt.c,
+       tree-ssa-pre.c, tree-vn.c, tree.h: Fix comment formatting.
+
+2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-loop-unswitch.c: Fix a comment typo.
+
+2004-09-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/passes.texi: Fix a typo.
+
+2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * tree-optimize.c (init_tree_optimization_passes): Add
+       pass_record_bounds.
+       * tree-pass.h (pass_record_bounds): Declare.
+       * tree-ssa-loop.c (tree_ssa_loop_bounds, pass_record_bounds):
+       New pass.
+
+2004-09-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR tree-optimization/17474
+       * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Determine
+       offset of the field correctly when DECL_FIELD_BIT_OFFSET != 0.
+
+2004-09-25  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (counts_to_freqs): Make global.
+       * predict.h (counts_to_freqa): Declare.
+       * profile.c (compute_branch_probabilities): Compute frequencies
+       * tree-profile.c (do_tree_profiling): Refine conditional on when
+       tree profiling pass is needed.
+
+       * passes.c (rest_of_handle_cfg): Disable const/pure function
+       detection when doing tree based profiling.
+
+       * tree-inline.c (expand_call_inline): Fix incorrectly reversed
+       conditional.
+
+2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (struct mips_args): Clarify comments.
+       * config/mips/mips.c (struct mips_arg_info): Likewise.
+       (mips_arg_info): Don't allow fpr_p to affect the register or
+       stack alignment.  Remove o64 silliness.
+       (function_arg): Deal with the o32 float,float case specially.
+
+2004-09-25  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (loadx, storex): Define for V2SF.
+
+2004-09-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_back_chain_rtx): Add prototype.
+       * config/s390/s390.c (s390_back_chain_rtx): New function.
+       * config/s390/s390.md ("allocate_stack"): Use s390_back_chain_rtx.
+       Call anti_adjust_stack.
+       ("restore_stack_block"): Use s390_back_chain_rtx.  Enable pattern
+       only if compiling with back chain.
+       ("save_stack_nonlocal", "restore_stack_nonlocal"): Save/restore
+       back chain only if back chain enabled.  Use s390_back_chain_rtx.
+
+2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * doc/trouble.texi: Remove obsolete information.  Update
+       information on how to regenerate fixincluded headers.
+
+2004-09-25  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/12951
+       * doc/invoke.texi: Document that
+       -Wno-error-implicit-function-declaration is not accepted.
+
+2004-09-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): New.
+       * config/alpha/alpha.c (alpha_vector_mode_supported_p): Don't depend
+       on TARGET_MAX.
+       (alpha_expand_mov): Allow unaligned vectors.
+       (alpha_expand_unaligned_store): Use CONST0_RTX.
+       (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
+
+2004-09-24 Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (dom_opt_finalize_block): Fix violation of strict
+       aliasing rules.
+       (simplify_cond_and_lookup_avail_expr): Likewise.
+
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/12802
+       * doc/extend.texi (Unnamed Fields): Remove "." from end of long
+       title.  Document interaction with -fms-extensions.
+       * doc/invoke.texi (-fms-extensions): Refer to Unnamed Fields
+       section.
+
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/12713
+       * doc/extend.texi: Document interaction of attribute noreturn and
+       longjmp.
+
+2004-09-24  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/17503
+       * regclass.c (subregs_of_mode): Turn into an htab.  Make static.
+       (som_hash, som_eq): New.
+       (init_subregs_of_mode, record_subregs_of_mode): New.
+       (cannot_change_mode_set_regs): Rewrite for htab implementation.
+       (invalid_mode_change_p): Likewise.
+       * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
+       * flow.c (mark_used_regs): Likewise.
+       (life_analysis): Use init_subregs_of_mode.
+       * regs.h (subregs_of_mode): Remove.
+       * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * tree-ssa-phiopt.c (conditional_replacement): Use the correct
+       type with the copy of the conditional.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/16954
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+       Prevent renaming if the aliasing sets of the type which the
+       pointer points to are different.
+
+2004-09-24  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/17188
+       * c-decl.c (diagnose_mismatched_decls): Check for duplicate
+       declarations of enumerators.
+       (start_struct): Check TYPE_SIZE rather than TYPE_FIELDS to check
+       for redefinition.  Check for nested redefinition.
+       (finish_struct): Don't check for nested redefinition.
+       (start_enum): Check for nested redefinition.
+
+2004-09-24  Devang Patel  <dpatel@apple.com>
+
+       * tree-if-conv.c (tree_if_convert_cond_expr0: Create temp. variable
+       only when necesssary.
+       (combine_blocks): Combine loop header and exit block.
+
+2004-09-24  Paolo Bonzini  <bonzini@gnu.org>
+
+       * hooks.c (hook_tree_tree_bool_null): New.
+       * hooks.h (hook_tree_tree_bool_null): Declare it.
+       * target-def.c (TARGET_FOLD_BUILTIN): Point to it.
+       * targhooks.c (default_fold_builtin): Remove.
+       * targhooks.h (default_fold_builtin): Remove.
+
+2004-09-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR rtl-optimization/17625
+       * loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
+
+2004-09-24  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/17624
+       * tree-ssa-forwprop.c (record_single_argument_cond_exprs):
+       Reject if any of the operands occur in an abnormal PHI.
+
 2004-09-24  Andreas Schwab  <schwab@suse.de>
 
        * tree-ssa-dom.c (record_range): Fix violation of strict aliasing
        PR c++/13989
        PR c++/9844
        * tree.c (reconstruct_complex_type): Remove extra "this".
-       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): 
+       * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute):
        Add V4SFmode to case statement.
 
 2004-09-23  Joseph S. Myers  <jsm@polyomino.org.uk>
        dominance data during error message printing.
        * tree-mudflap.c (mf_build_check_statement_for): Build basic blocks
        and edges more correctly.
-       
+
 2004-09-23  Dorit Naishlos <dorit@il.ibm.com>
 
        * tree.def (ALIGN_INDIRECT_REF, MISALIGNED_INDIRECT_REF):