+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
* 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.
* 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,
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
* 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.
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):