aboutsummaryrefslogtreecommitdiff
path: root/gcc/bt-load.c
AgeCommit message (Collapse)AuthorFilesLines
2004-12-06bt-load.c (btr_def_s): New member own_end;J"orn Rennecke1-19/+54
* bt-load.c (btr_def_s): New member own_end; (add_btr_to_live_range): Add second parameter. Changed caller. (clear_btr_from_live_range): Clear btrs_live_at_end bit for the register its definition basic block if own_end is set. (augment_live_range): Also take btrs_live_at_end into account. (combine_btr_defs): Don't bother with other_def->other_btr_uses_after_use if it pertains to a different register. (move_btr_def): Set def->other_btr_uses_before_def after calling combine_btr_defs." * bt-load.c (augment_live_range): New argument full_range. Changed all callers. * bt-load.c (move_tr_def): Set other_tr_uses_before_def taking new btr assignment into account. From-SVN: r91780
2004-11-25bt-load.c (migrate_btr_defs): Remove unneeded NULL check.Nathan Sidwell1-4/+1
* bt-load.c (migrate_btr_defs): Remove unneeded NULL check. * df.c (df_free): Likewise. * ra-build.c (ra_build_free, ra_build_free_all): Likewise. * tree-ssa-loop-ivopts.c (set_use_iv_cost): Likewise. From-SVN: r91280
2004-11-22bitmap.h (struct bitmap_obstack): New obstack type.Nathan Sidwell1-4/+0
* bitmap.h (struct bitmap_obstack): New obstack type. (struct bitmap_head_def): Replace using_obstack with obstack pointer. (bitmap_default_obstack): New. (bitmap_initialize): Make inline, does not do allocation. (bitmap_release_memory): Remove. (bitmap_obstack_initialize, bitmap_obstack_release): Declare. (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, bitmap_obstack_free, bitmap_malloc_free): Declare. (BITMAP_OBSTACK_ALLOC, BITMAP_GGC_ALLOC, BITMAP_XMALLOC): Adjust. (BITMAP_FREE): Replace with ... (BITMAP_OBSTACK_FREE): ... this. (BITMAP_XFREE): Adjust. (BITMAP_INIT_ONCE): Remove. * bitmap.c (bitmap_obstack, bitmap_obstack_init, bitmap_free: Remove. (bitmap_default_obstack): New. (bitmap_elem_to_freelist): Adjust. (bitmap_element_allocate): Adjust. Break initialization into ... (bitmap_obstack_initialize): ... here. (bitmap_release_memory): Replace with ... (bitmap_obstack_release): ... this. (bitmap_obstack_alloc, bitmap_malloc_alloc, bitmap_gc_alloc, bitmap_obstack_free, bitmap_malloc_free): New. (bitmap_ior_and_compl, bitmap_ior_and_compl_into): Use bitmap_initialize. (bitmap_initialize): Move to bitmap.h. * gengtype.c (open_base_files): Add obstack.h to ifiles. * Makefile.in (BASIC_BLOCK_H, REGS_H): Add obstack.h. * basic-block.h (INIT_REG_SET): Allocate from reg_obstack. (INITIALIZE_REG_SET): Remove. (FREE_REG_SET): Use BITMAP_OBSTACK_FREE. (INIT_ONCE_REG_SET, MAX_REGNO_REG_SET): Remove. (flow_obstack): Do not declare. (reg_obstack): Declare. * regs.h: Include obstack.h. * tree-optimize.c (tree_rest_of_compilation): Initialize and release bitmap obstack here. * bb-reorder.c: #include regs, not basic-block. (fix_crossing_conditional_branches): Allocate regsets from reg_obstack. * bt-load.c: Do not inlude bitmap.h, sbitmap.h, basic-block.h or obstack.h. * caller-save.c: Include regs.h earlier. * cfg.c: Do not include basic-block.h or obstack.h. (reg_obstack): Define. * cfganal.c: Include obstack.h * cfgcleanyp.c: Do not include basic-block.h. Include regs.h earlier. * cfglayout.c: Do not include obstack.h. (flow_obstack): Remove declaration. (cfg_layout_duplicate_bb): Use reg_obstack. * cfgloop.c, cfgloopanal.c, cfgloopmanip.c: Include obstack.h. * cfgrtl.c (rtl_split_block): Use reg_obstack. (force_nonfallthru_and_redirect, rtl_split_edge): Likewise. (safe_insert_insn_on_edge): Use OBSTACK_ALLOC_REG_SET, adjust. (cfg_layout_split_edge): Use reg_obstack. * cse.c: Include regs.h earlier. * ddg.c: Do not include basic-block.h. * dominance.c: Inlude obstack.h. * flow.c (update_life_info): Use OBSTACK_ALLOC_REG_SET, adjust. (calculate_global_regs_live): Likewise. (allocate_bb_life_data): Use reg_obstack. (init_propagate_block_info): Use OBSTACK_ALLOC_REGSET. * global.c: Do not include basic-block.h. (build_insn_chain): Use OBSTACK_ALLOC_REG_SET, adjust. * graph.c: Include obstack.h. * haifa-sched.c: Do not include basic-block.h. * ifcvt.c: Use OBSTACK_ALLOC_REG_SET, adjust. * local-alloc.c: Do not include basic-block.h. * loop-init.c, loop-invariant.c: Include obstack.h. * loop-iv.c: Likewise. (simplify_using_initial_values): Use OBSTACK_ALLOC_REG_SET, adjust. * loop-unroll.c, loop-unswitch.c: Inlude obstack.h. * modulo-sched.c: Do not include basic-block.h. * passes.c (rest_of_handle_final): Do not call regset_release_memory. * ra-debug.c: Include regs.h earlier. Do not include basic-block.h. * recog.c (peephole2_optimize): Use OBSTACK_ALLOC_REG_SET, adjust. * regclass.c (init_reg_sets): Do not call INIT_ONCE_REG_SET. (allocate_reg_info): Do not call MAX_REGNO_REG_SET. (regset_release_memory): Remove. * resource.c: Do not include basic-block.h. * rtlanal.c: Do not include basic-block.h. * sbitmap.c: Include obstack.h. * sched-deps.c: Do not include basic-block.h. (reg_pending_sets_head, reg_pending_clobbers_head, reg_pending_uses_head): Remove. (init_deps_global): Use OBSTACK_ALLOC_REG_SET. * sched-ebb.c: Do not include basic-block.h. * sched-rgn.c: Likewise. * tree-if-conv.c (get_loop_body_in_if_conv_order): Use BITMAP_XFREE. * tree-outof-ssa.c (perform_edge_inserts): Use BITMAP_XFREE. * tree-sra.c (decide_instantiations): Adjust bitmap initialization. * tree-ssa-dce.c: Include obstack.h. * tree-ssa-pre.c (grand_bitmap_obstack): Make a bitmap_obstack. (value_insert_into_set_bitmap): Remove useless bitmap_clear. (bitmap_set_new): Likewise. (init_pre): Initialize bitmap obstack. (fini_pre): Release bitmap obstack. * tree-ssanames.c (ssa_names_to_rewrite): Make static. (marked_for_rewrite_p): ssa_names_to_rewrite is never NULL. (mark_for_rewrite, unmark_for_rewrite): Likewise. (marked_ssa_names): Likewise. (init_ssanames): Use BITMAP_XMALLOC. (fini_ssanames): Use BITMAP_XFREE. * web.c: Include obstack.h From-SVN: r91009
2004-11-04bitmap.c (bitmap_print): Make bitno unsigned.Nathan Sidwell1-23/+11
* bitmap.c (bitmap_print): Make bitno unsigned. * bt-load.c (clear_btr_from_live_range, btr_def_live_range): Likewise. * caller-save.c (save_call_clobbered_regs): Likewise. * cfganal.c (compute_dominance_frontiers_1): Likewise. * cfgcleanup.c (thread_jump): Likewise. * cfgrtl.c (safe_insert_insn_on_edge): Likewise. * conflict.c (conflict_graph_compute): Likewise. * ddg.c (add_deps_for_use): Likewise. * df.c (df_refs_update): Likewise. * except.c (remove_eh_handler): Likewise. * flow.c (verify_local_live_at_start, update_life_info, initialize_uninitialized_subregs, propagate_one_insn, free_propagate_block_info, propagate_block, find_use_as_address, reg_set_to_hard_reg_set): Likewise. * gcse.c (clear_modify_mem_tables): Likewise. * global.c (global_conflicts, build_insn_chain): Likewise. * ifcvt.c (dead_or_predicable): Likewise. * local-alloc.c (update_equiv_regs): Likewise. * loop.c (load_mems): Likewise. * ra-build.c (livethrough_conflicts_bb, conflicts_between_webs): Likewise. * ra-rewrite.c (reloads_to_loads, rewrite_program2, actual_spill): Likewise. * reload1.c (order_regs_for_reload, finish_spills): Likewise. * sched-deps.c (sched_analyze_insn, free_deps): Likewise. * sched-rgn.c (propagate_deps * tree-cfg.c (tree_purge_all_dead_eh_edges): Likewise. * tree-dfa.c (dump_dfa_stats tree-into-ssa.c (compute_global_livein, insert_phi_nodes, insert_phi_nodes_for, debug_def_blocks_r, invalidate_name_tags): Likewise. * tree-outof-ssa.c (coalesce_ssa_name, coalesce_vars, free_temp_expr_table, find_replaceable_exprs): Likewise. * tree-sra.c (scan_function, scalarize_parms): Likewise. * tree-ssa-alias.c (init_alias_info, compute_points_to_and_addr_escape, compute_flow_sensitive_aliasing, maybe_create_global_var): Likewise. * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Likewise. * tree-ssa-live.c (new_tree_live_info, live_worklist, calculate_live_on_entry, calculate_live_on_exit, compare_pairs, sort_coalesce_list, build_tree_conflict_graph, dump_live_info tree-ssa-loop-manip.c (add_exit_phis_var): Likewise. tree-ssa-operands.c (get_asm_expr_operands, add_call_clobber_ops, add_call_read_ops): Likewise. * tree-ssa-pre.c (bitmap_print_value_set, insert_aux): Likewise. * tree-ssa-live.h (num_var_partitions): Return unsigned. From-SVN: r90053
2004-09-28backport: basic-block.h: Include vec.h, errors.h.Ben Elliston1-2/+4
2004-09-24 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. Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu> Co-Authored-By: Steven Bosscher <stevenb@suse.de> From-SVN: r88222
2004-09-26bitmap.h (EXECUTE_IF_SET_IN_BITMAP, [...]): Changed to iterator style.Zdenek Dvorak1-33/+37
* 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. From-SVN: r88145
2004-08-30alias.c (mems_in_disjoint_alias_sets_p, [...]): Use gcc_assert and ↵Nathan Sidwell1-7/+7
gcc_unreachable instead of abort. * alias.c (mems_in_disjoint_alias_sets_p, record_alias_subset, record_set, rtx_equal_for_memref_p, init_alias_analysis): Use gcc_assert and gcc_unreachable instead of abort. * alloc-pool.c (abort, fancy_abort): Remove. (create_alloc_pool, free_alloc_pool, pool_alloc, pool_free): Use gcc_assert or gcc_unreachable. * attribs.c (init_attributes, decl_attributes): Likewise. * bb-reorder.c (FREE, find_traces_1_round, copy_bb, mark_bb_for_unlikely_executed_section, add_labels_and_missing_jumps, fix_crossing_conditional_branches, fix_crossing_unconditional_branches): Likewise. * bitmap.c (bitmap_first_set_bit, bitmap_last_set_bit, bitmap_operation): Likewise. * bt-load.c (insn_sets_btr_p, augment_live_range, move_btr_def): Likewise. * builtins.c (c_readstr, expand_builtin_longjmp, apply_args_size, apply_result_size, expand_builtin_apply, expand_builtin_mathfn, expand_builtin_mathfn_2, expand_builtin_mathfn_3, builtin_memcpy_read_str, expand_movstr, expand_builtin_stpcpy, expand_builtin_memcmp, expand_builtin_args_info, std_gimplify_va_arg_expr, expand_builtin_unop, expand_builtin_fputs, expand_builtin_profile_func, expand_builtin_fork_or_exec, fold_builtin_bitop, fold_builtin_classify, fold_builtin_fputs): Likewise. From-SVN: r86797
2004-07-20genattr.c (struct range, [...]): Remove them.Paolo Bonzini1-7/+4
2004-07-19 Paolo Bonzini <bonzini@gnu.org> * genattr.c (struct range, struct function_unit, write_units, extend_range, init_range): Remove them. (main): Remove code dealing with DEFINE_FUNCTION_UNIT. Output "#define INSN_SCHEDULING" here. * genattrtab.c (struct range, struct function_unit_op, struct function_unit, struct dimension, enum operator, operate_exp, expand_units, simplify_knowing, encode_units_mask, simplify_by_exploding, find_and_mark_used_attributes, unmark_used_attributes, add_values_to_cover, increment_current_value, test_for_current_value, simplify_with_current_value, simplify_with_current_value_aux, gen_unit, write_unit_name, write_function_unit_info, write_complex_function, write_toplevel_expr, find_single_value, extend_range): Remove. (write_attr_get): Do not handle common_av->value being an FFS. (struct attr_desc): Remove func_units_p and blockage_p. (write_attr_valueq): Do not handle them. (find_attr): Do not clear them. (make_internal_attr): Do not initialize them. (main): Remove code dealing with DEFINE_FUNCTION_UNIT. * sched-vis.c (init_target_units, insn_print_units, init_block_visualization, print_block_visualization, visualize_scheduled_insns, visualize_no_unit, visualize_stall_cycles, visualize_alloc, visualize_free, target_units, get_visual_tbl_length, MAX_VISUAL_LINES, INSN_LEN, n_visual_lines, visual_tbl_line_length, visual_tbl, n_vis_no_unit, MAX_VISUAL_NO_UNIT, vis_no_unit): Remove. * haifa-sched.c (blockage_range, clear_units, schedule_unit, actual_hazard, potential_hazard, insn_unit, unit_last_insn, unit_tick, actual_hazard_this_instance, potential_hazard, schedule_unit, max_insn_queue_index_value): Remove. (MAX_INSN_QUEUE_INDEX): Removed, renamed throughout to max_insn_queue_index. * rtl.def (DEFINE_FUNCTION_UNIT): Remove. * doc/md.texi (Processor pipeline description): Remove references to old pipeline descriptions. (Automaton pipeline description): Merge with the above. (Old pipeline description, Comparison of the two descriptions): Remove. * bt-load.c (migrate_btr_def): Remove references to use_pipeline_interface. * haifa-sched.c (insn_cost, schedule_insn, schedule_block, advance_one_cycle, sched_init, queue_to_ready, sched_finish): Likewise. * modulo-sched.c (sms_schedule, advance_one_cycle, ps_has_conflicts): Likewise. * sched-rgn.c (init_ready): Likewise. (debug_dependencies): Likewise, and remove an "if (1)". * target.h (use_dfa_pipeline_interface): Remove. * config/alpha/alpha.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/arc/arc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/arm/arm.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/c4x/c4x.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/frv/frv.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/i386/i386.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/ia64/ia64.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/iq2000/iq2000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/m32r/m32r.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/mcore/mcore.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/mips/mips.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/pa/pa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/rs6000/rs6000.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/s390/s390.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/sh/sh.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/sparc/sparc.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/v850/v850.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * config/xtensa/xtensa.c (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. * doc/tm.texi (TARGET_USE_DFA_PIPELINE_INTERFACE): Remove. From-SVN: r84944
2004-07-09alias.c (nonlocal_mentioned_p, [...]): Use, LABEL_P, JUMP_P, CALL_P, ↵Jerry Quinn1-6/+6
NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. 2004-07-08 Jerry Quinn <jlquinn@optonline.net> * alias.c (nonlocal_mentioned_p, nonlocal_referenced_p, nonlocal_set_p, init_alias_analysis): Use, LABEL_P, JUMP_P, CALL_P, NONJUMP_INSN_P, INSN_P, NOTE_P, BARRIER_P. * bb-reorder.c (mark_bb_for_unlikely_executed_section, add_labels_and_missing_jumps, find_jump_block, fix_crossing_unconditional_branches, add_reg_crossing_jump_notes): Likewise. * bt-load.c (btr_referenced_p, compute_defs_uses_and_gen, link_btr_uses, move_btr_def): Likewise. * builtins.c (expand_builtin_longjmp, expand_builtin_nonlocal_goto, expand_builtin_expect_jump): Likewise. * caller-save.c (save_call_clobbered_regs, insert_one_insn): Likewise. * calls.c (expand_call, emit_library_call_value_1): Likewise. * cfganal.c (forwarder_block_p): Likewise. * cfgbuild.c (inside_basic_block_p, count_basic_blocks, make_label_edge, rtl_make_eh_edge, make_edges, find_basic_blocks_1, find_bb_boundaries): Likewise. * cfgcleanup.c (try_simplify_condjump, try_forward_edges, merge_blocks_move_predecessor_nojumps, merge_blocks_move_successor_nojumps, insns_match_p, flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge, try_optimize_cfg): Likewise. * cfgexpand.c (expand_block, construct_exit_block): Likewise. * cfglayout.c (skip_insns_after_block, label_for_bb, record_effective_endpoints, insn_locators_initialize, fixup_reorder_chain, update_unlikely_executed_notes): Likewise. * cfgmainloop.c (create_loop_notes): Likewise. * cfgrtl.c (delete_insn, delete_insn_chain, create_basic_block_structure, rtl_delete_block, free_bb_for_insn, update_bb_for_insn, rtl_merge_blocks, rtl_can_merge_blocks, block_label, try_redirect_by_replacing_jump, last_loop_beg_note, redirect_branch_edge, force_nonfallthru_and_redirect, rtl_tidy_fallthru_edge, back_edge_of_syntactic_loop_p, rtl_split_edge, commit_one_edge_insertion, print_rtl_with_bb, update_br_prob_note, rtl_verify_flow_info_1, rtl_verify_flow_info, purge_dead_edges, cfg_layout_redirect_edge_and_branch, cfg_layout_delete_block, cfg_layout_can_merge_blocks_p, cfg_layout_merge_blocks, rtl_block_ends_with_call_p, need_fake_edge_p, rtl_flow_call_edges_add): Likewise. * combine.c (combine_instructions, can_combine_p, try_combine, find_split_point, record_dead_and_set_regs, reg_dead_at_p, distribute_notes, distribute_links, insn_cuid): Likewise. * cse.c (fold_rtx, cse_insn, cse_around_loop, invalidate_skipped_block, cse_set_around_loop, cse_end_of_basic_block, cse_main, cse_basic_block, cse_condition_code_reg): Likewise. * cselib.c (cselib_process_insn): Likewise. * ddg.c (create_ddg): Likewise. * df.c (df_insn_refs_record, df_bb_rd_local_compute, df_insns_modify): Likewise. * dwarf2out.c (dwarf2out_stack_adjust, dwarf2out_frame_debug, gen_label_die, dwarf2out_var_location): Likewise. * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn, next_insn, previous_insn, next_nonnote_insn, prev_nonnote_insn, last_call_insn, active_insn_p, next_label, prev_label, link_cc0_insns, next_cc0_user, try_split, add_insn_after, add_insn_before, remove_insn, add_function_usage_to, reorder_insns, find_line_note, remove_unnecessary_notes, emit_insn_after_1, classify_insn): Likewise. * except.c (convert_from_eh_region_ranges_1, emit_to_new_bb_before, connect_post_landing_pads, sjlj_mark_call_sites, sjlj_emit_function_enter, sjlj_emit_function_exit, reachable_handlers, can_throw_internal, can_throw_external, set_nothrow_function_flags, convert_to_eh_region_ranges): Likewise. * explow.c (optimize_save_area_alloca): Likewise. * expr.c (expand_expr_real): Likewise. * final.c (insn_current_reference_address, compute_alignments, shorten_branches, final, scan_ahead_for_unlikely_executed_note, final_scan_insn, output_asm_label, leaf_function_p): Likewise. * flow.c (first_insn_after_basic_block_note, delete_dead_jumptables, propagate_block_delete_insn, propagate_one_insn, init_propagate_block_info, propagate_block, libcall_dead_p, mark_set_1, attempt_auto_inc, find_auto_inc, try_pre_increment): Likewise. * function.c (instantiate_virtual_regs, reorder_blocks_1, expand_function_start, expand_function_end, contains, thread_prologue_and_epilogue_insns, reposition_prologue_and_epilogue_notes): Likewise. * gcse.c (constprop_register, bypass_conditional_jumps, insert_insn_end_bb, gcse_after_reload): Likewise. * genemit.c (gen_expand, gen_split): Likewise. * genpeep.c (gen_peephole, main): Likewise. * global.c (build_insn_chain): Likewise. * graph.c (node_data, print_rtl_graph_with_bb): Likewise. * haifa-sched.c (unlink_other_notes, unlink_line_notes, get_block_head_tail, no_real_insns_p, rm_line_notes, save_line_notes, restore_line_notes, rm_redundant_line_notes, rm_other_notes, ok_for_early_queue_removal, set_priorities, sched_init): Likewise. * ifcvt.c (count_bb_insns, first_active_insn, last_active_insn, cond_exec_process_insns, end_ifcvt_sequence, noce_process_if_block, merge_if_block, block_jumps_and_fallthru_p, find_if_block, dead_or_predicable): Likewise. * integrate.c (try_constants): Likewise. * jump.c (rebuild_jump_labels, cleanup_barriers, purge_line_number_notes, init_label_info, mark_all_labels, squeeze_notes, get_label_before, get_label_after, reversed_comparison_code_parts, simplejump_p, pc_set, returnjump_p, onlyjump_p, follow_jumps, mark_jump_label, delete_barrier, delete_prior_computation, delete_computation, delete_related_insns, delete_for_peephole, redirect_jump): Likewise. * lcm.c (optimize_mode_switching): Likewise. * local-alloc.c (validate_equiv_mem, update_equiv_regs, block_alloc): Likewise. * loop-doloop.c (doloop_valid_p, doloop_optimize): Likewise. * loop-invariant.c (find_exits, find_invariants_bb): Likewise. * loop-iv.c (simplify_using_assignment): Likewise. * loop.c (compute_luids, loop_optimize, scan_loop, libcall_other_reg, libcall_benefit, skip_consec_insns, move_movables, prescan_loop, find_and_verify_loops, labels_in_range_p, for_each_insn_in_loop, loop_bivs_init_find, strength_reduce, check_insn_for_bivs, check_insn_for_givs, check_final_value, update_giv_derive, basic_induction_var, product_cheap_p, check_dbra_loop, loop_insn_first_p, last_use_this_basic_block, canonicalize_condition, get_condition, loop_regs_scan, load_mems, try_copy_prop, LOOP_BLOCK_NUM, loop_dump_aux): Likewise. * modulo-sched.c (doloop_register_get, find_line_note, sms_schedule, sms_schedule_by_order): Likewise. * optabs.c (emit_no_conflict_block, emit_libcall_block): Likewise. * postreload.c (reload_cse_simplify_operands, reload_combine, reload_cse_move2add): Likewise. * predict.c (can_predict_insn_p, estimate_probability, expected_value_to_br_prob, process_note_predictions): Likewise. * print-rtl.c (print_rtx, print_rtl, print_rtl_single): Likewise. * profile.c (branch_prob): Likewise. * ra-build.c (live_out_1, livethrough_conflicts_bb, detect_webs_set_in_cond_jump): Likewise. * ra-debug.c (ra_print_rtx_object, ra_debug_insns, ra_print_rtl_with_bb): Likewise. * ra-rewrite.c (insert_stores, rewrite_program2): Likewise. * recog.c (next_insn_tests_no_inequality, find_single_use, split_all_insns, peephole2_optimize, if_test_bypass_p): Likewise. * reg-stack.c (next_flags_user, record_label_references, emit_swap_insn, swap_rtx_condition, subst_stack_regs, compensate_edge, convert_regs_1): Likewise. * regclass.c (scan_one_insn): Likewise. * regmove.c (optimize_reg_copy_1, optimize_reg_copy_2, fixup_match_2, regmove_optimize, fixup_match_1, single_set_for_csa, combine_stack_adjustments_for_block): Likewise. * regrename.c (build_def_use, copyprop_hardreg_forward_1): Likewise. * reload.c (find_reloads, find_reloads_address_1, subst_reloads, find_equiv_reg): Likewise. * reload1.c (reload, calculate_needs_all_insns, set_label_offsets, reload_as_needed, emit_input_reload_insns, do_output_reload, delete_output_reload, delete_address_reloads_1, fixup_abnormal_edges): Likewise. * reorg.c (find_end_label, emit_delay_sequence, delete_from_delay_slot, delete_scheduled_jump, optimize_skip, get_jump_flags, rare_destination, mostly_true_jump, try_merge_delay_insns, redundant_insn, own_thread_p, fill_simple_delay_slots, fill_slots_from_thread, fill_eager_delay_slots, relax_delay_slots, make_return_insns, dbr_schedule): Likewise. * resource.c (find_basic_block, next_insn_no_annul, find_dead_or_set_registers, mark_target_live_regs): Likewise. * rtl.h (RTX_PREV): Likewise. * rtlanal.c (global_reg_mentioned_p, no_labels_between_p, no_jumps_between_p, reg_used_between_p, reg_referenced_between_p, reg_set_p, find_last_value, dead_or_set_regno_p, find_reg_fusage, find_regno_fusage, pure_call_p, replace_label, rtx_referenced_p_1, tablejump_p, computed_jump_p, insns_safe_to_move_p, find_first_parameter_load, can_hoist_insn_p): Likewise. * sched-deps.c (get_condition, add_dependence, sched_analyze_2, sched_analyze_insn, sched_analyze, add_forward_dependence): Likewise. * sched-ebb.c (fix_basic_block_boundaries, add_deps_for_risky_insns, schedule_ebbs): Likewise. * sched-rgn.c (is_cfg_nonregular, find_conditional_protection, is_conditionally_protected, can_schedule_ready_p, add_branch_dependences, debug_dependencies): Likewise. * stmt.c (emit_nop, expand_start_case, emit_jump_if_reachable): Likewise. * unroll.c (unroll_loop, copy_loop_body, back_branch_in_range_p, reg_dead_after_loop, loop_find_equiv_value, loop_iterations, set_dominates_use, ujump_to_loop_cont): Likewise. * var-tracking.c (prologue_stack_adjust, vt_initialize): Likewise. * varasm.c (output_constant_pool_1): Likewise. From-SVN: r84341
2004-06-15alias.c (record_set, [...]): Use REG_P.Jerry Quinn1-3/+3
2004-06-15 Jerry Quinn <jlquinn@optonline.net> * alias.c (record_set, record_base_value, canon_rtx, get_addr, nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P. * bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set): Likewise. * builtins.c (expand_builtin_setjmp, expand_builtin_apply, expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp, expand_builtin_strcmp, expand_builtin_strncmp, expand_builtin_frame_address): Likewise. * caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs, insert_one_insn): Likewise. * calls.c (prepare_call_address, precompute_register_parameters, precompute_arguments, expand_call, emit_library_call_value_1): Likewise. * cfganal.c (flow_active_insn_p): Likewise. * combine.c (set_nonzero_bits_and_sign_copies, can_combine_p, combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P, subst, combine_simplify_rtx, simplify_if_then_else, simplify_set, make_extraction, recog_for_combine, gen_lowpart_for_combine, simplify_comparison, record_dead_and_set_regs_1, record_dead_and_set_regs, record_promoted_value, check_promoted_subreg, get_last_value_validate, get_last_value, reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes, unmentioned_reg_p_1): Likewise. * conflict.c (mark_reg): Likewise. * cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost, mention_regs, insert_regs, lookup, lookup_for_remove, insert, merge_equiv_classes, flush_hash_table, invalidate, remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg, invalidate_for_call, use_related_value, canon_hash, exp_equiv_p, cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant, record_jump_cond, cse_insn, addr_affects_sp_p, invalidate_from_clobbers, cse_process_notes, cse_around_loop, cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode, cse_cc_succs, cse_condition_code_reg): Likewise. * cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p, cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx, cselib_record_set, cselib_record_sets): Likewise. * dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms, dbxout_block): Likewise. * df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg, is_based_loc, rtl_for_decl_location): Likewise. * emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl, set_decl_incoming_rtl, mark_user_reg): Likewise. * explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg, copy_to_suggested_reg, allocate_dynamic_stack_space, probe_stack_range, hard_function_value): Likewise. * expmed.c (store_bit_field, store_fixed_bit_field, store_split_bit_field, extract_bit_field, extract_fixed_bit_field, extract_split_bit_field, expand_divmod, emit_store_flag_force): Likewise. * expr.c (convert_move, convert_modes, block_move_libcall_safe_for_call_parm, emit_group_load, use_reg, use_group_regs, emit_move_insn, emit_move_insn_1, compress_float_constant, push_block, emit_single_push_insn, emit_push_insn, get_subtarget, expand_assignment, store_expr, store_constructor, store_field, force_operand, safe_from_p, expand_expr_real_1, expand_increment, do_store_flag, do_tablejump): Likewise. * final.c (profile_function, final_scan_insn, alter_subreg, get_mem_expr_from_op, output_asm_operand_names, output_operand, only_leaf_regs_used, leaf_renumber_regs_insn): Likewise. * flow.c (verify_wide_reg_1, mark_regs_live_at_end, find_regno_partial, propagate_one_insn, init_propagate_block_info, insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond, attempt_auto_inc, find_auto_inc, mark_used_regs, count_or_remove_death_notes_bb): Likewise. * function.c (find_temp_slot_from_address, update_temp_slot_address, preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn, fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof, put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk, purge_single_hard_subreg_set, instantiate_decl, instantiate_virtual_regs_1, aggregate_value_p, assign_parms, promoted_input_arg, setjmp_vars_warning, setjmp_args_warning, setjmp_protect, setjmp_protect_args, fix_lexical_addr, expand_function_start, diddle_return_value, clobber_return_register, expand_function_end, keep_stack_depressed, handle_epilogue_set, update_epilogue_consts): Likewise. * genemit.c (gen_exp, gen_insn): Likewise. * genrecog.c (make_insn_sequence): Likewise. * global.c (global_conflicts, expand_preferences, mark_reg_store, mark_reg_conflicts, set_preference, reg_becomes_live, build_insn_chain, mark_reg_change): Likewise. * haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight): Likewise. * ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block): Likewise. * integrate.c (copy_rtx_and_substitute, try_constants, subst_constants, mark_stores, allocate_initial_values): Likewise. * jump.c (reversed_comparison_code_parts, delete_prior_computation, delete_computation, rtx_renumbered_equal_p, true_regnum, reg_or_subregno): Likewise. * lcm.c (reg_dies, reg_becomes_live): Likewise. * local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem, update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set, wipe_dead_reg, no_conflict_p): Likewise. * loop-iv.c (simple_reg_p, simple_set_p, kill_sets, iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered, simple_rhs_p, simplify_using_assignment, implies_p): Likewise. * loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p, move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p, find_single_use_in_loop, count_one_set, loop_bivs_init_find, loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs, valid_initial_value_p, simplify_giv_expr, consec_sets_giv, loop_regs_update, check_dbra_loop, maybe_eliminate_biv, maybe_eliminate_biv_1, record_initial, update_reg_last_use, canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop, try_swap_copy_prop): Likewise. * optabs.c (expand_binop, expand_vector_binop, expand_vector_unop, expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float): Likewise. * postreload.c (reload_cse_simplify, reload_cse_simplify_set, reload_cse_simplify_operands, reload_combine, reload_combine_note_store, reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise. * print-rtl.c (print_rtx): Likewise. * ra-build.c (copy_insn_p, remember_move, init_one_web_common, contains_pseudo, handle_asm_insn): Likewise. * ra-debug.c (ra_print_rtx_object, dump_constraints, dump_static_insn_cost): Likewise. * ra-rewrite.c (slots_overlap_p, emit_colors, remove_suspicious_death_notes): Likewise. * recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use, register_operand, scratch_operand, nonmemory_operand, constrain_operands): Likewise. * reg-stack (check_asm_stack_operands, remove_regno_note, emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat, subst_asm_stack_regs): Likewise. * regclass.c (scan_one_insn, record_reg_classes, copy_cost, record_address_regs, reg_scan_mark_refs): Likewise. * regmove.c (discover_flags_reg, replacement_quality, copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize, fixup_match_1): Likewise. * regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value, kill_set_value, copyprop_hardreg_forward_1): Likewise. * reload.c (MATCHES, push_secondary_reload, find_reusable_reload, reload_inner_reg_of_subreg, can_reload_into, push_reload, combine_reloads, find_dummy_reload, hard_reg_set_here_p, operands_match_p, decompose, find_reloads, find_reloads_toplev, find_reloads_address, subst_indexed_address, find_reloads_address_1, find_reloads_subreg_address, find_replacement, refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise. * reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns, find_reg, delete_dead_insn, alter_reg, eliminate_regs, elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs, forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs, emit_input_reload_insns, emit_output_reload_insns, do_input_reload, do_output_reload, emit_reload_insns, gen_reload, delete_address_reloads_1, inc_for_reload): Likewise. * reorg.c (update_reg_dead_notes, fix_reg_dead_note, update_reg_unused_notes, fill_slots_from_thread): Likewise. * resource.c (update_live_status, mark_referenced_resources, mark_set_resources, mark_target_live_regs): Likewise. * rtlanal.c (nonzero_address_p, get_jump_table_offset, global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p, reg_set_p, set_noop_p, find_last_value, refers_to_regno_p, note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note, find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in, parms_set, find_first_parameter_load, keep_with_call_p, hoist_test_store, hoist_update_store, address_cost, nonzero_bits1, num_sign_bit_copies1): Likewise. * rtlhooks.c (gen_lowpart_general): Likewise. * sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn, sched_analyze): Likewise. * sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1): Likewise. * sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise. * simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation, simplify_binary_operation, simplify_const_relational_operation, simplify_subreg): Likewise. * stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands, expand_end_stmt_expr, expand_return, expand_decl, expand_anon_union_decl): Likewise. * unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body, find_splittable_regs, find_splittable_givs, find_common_reg_term, loop_iterations): Likewise. * var-tracking.c (variable_union, variable_part_different_p, variable_different_p, count_uses, add_uses, add_stores, compute_bb_dataflow, set_variable_part, delete_variable_part, emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters): Likewise. * varasm.c (assemble_variable): Likewise. From-SVN: r83195
2004-05-15basic-block.h (life_analysis, [...]): Update prototypes.Steven Bosscher1-2/+2
* basic-block.h (life_analysis, delete_noop_moves): Update prototypes. * bt-load.c (branch_target_load_optimize): Don't take the insns stream as an argument. Update the life_analysis calls. * combine.c (combine_instructions): Update delete_noop_moves calls. * flow.c (notice_stack_pointer_modification): Don't take the insns stream as an argument. Work on the flow graph. (life_analysis): Likewise. (delete_noop_moves): Likewise. * passes.c (rest_of_handle_stack_regs): Update reg_to_stack call. (rest_of_handle_life): Update life_analysis call. (rest_of_compilation): Likewise, and also update branch_target_load_optimize call. * ra.c (reg_alloc): Update life_analysis call. * reg-stack.c (reg_to_stack): Likewise. Also, don't take the insns stream as an argument. * regrename.c (copyprop_hardreg_forward): Update delete_noop_moves call. * rtl.c (branch_target_load_optimize, reg_to_stack): Update prototypes. * value-profile.c (branch_prob): Update life_analysis call. * web.c (web_main): Work on the CFG, not on the insns stream. * config/ip2k/ip2k.c (ip2k_reorg): Update life_analysis calls. * config/m68hc11/m68hc11.c (m68hc11_reorg): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. From-SVN: r81873
2004-03-22bt-load.c, [...]: Remove unnecessary casts.Kazu Hirata1-2/+1
* bt-load.c, builtins.c, cfghooks.c, cfgrtl.c, gcse.c, ggc-page.c, integrate.c, var-tracking.c, web.c: Remove unnecessary casts. From-SVN: r79811
2004-03-20bb-reorder.c, [...]: Replace calls via (*targetm.foo) () with targetm.foo ().Kazu Hirata1-1/+1
* bb-reorder.c, bt-load.c, c-decl.c, cfgcleanup.c, coverage.c, dwarf2asm.c, ifcvt.c, stor-layout.c, varasm.c: Replace calls via (*targetm.foo) () with targetm.foo (). From-SVN: r79750
2004-03-20alias.c, [...]: Replace calls via (*targetm.foo) () with targetm.foo ().Kazu Hirata1-3/+3
* alias.c, attribs.c, bt-load.c, builtins.c, c-common.c, c-decl.c, c-objc-common.c, c-typeck.c, calls.c, cfglayout.c, cse.c, dbxout.c, dwarf2out.c, except.c, final.c, haifa-sched.c, integrate.c, passes.c, rtlanal.c, sched-rgn.c, sched-vis.c, simplify-rtx.c, stor-layout.c, tree.c, varasm.c, vmsdbgout.c: Replace calls via (*targetm.foo) () with targetm.foo (). From-SVN: r79729
2004-02-24toplev.c (dump_file_tbl): Rename from dump_file.Richard Henderson1-48/+48
* toplev.c (dump_file_tbl): Rename from dump_file. * bb-reorder.c, bt-load.c, cfgcleanup.c, cfglayout.c, cfgloopanal.c, cfgloopmanip.c, cfgrtl.c, config/arm/arm.c, config/frv/frv.c, config/i386/i386.c, config/ia64/ia64.c, config/mips/mips.c, config/sh/sh.c, cse.c, flow.c, ifcvt.c, loop-iv.c, loop-unroll.c, loop-unswitch.c, output.h, predict.c, profile.c, ra-build.c, ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, regrename.c, reload1.c, toplev.c, tracer.c, value-prof.c, var-tracking.c, web.c: s/rtl_dump_file/dump_file/g. From-SVN: r78399
2004-02-02alias.c (record_set): Use hard_regno_nregs.Jan Hubicka1-2/+2
* alias.c (record_set): Use hard_regno_nregs. * bt-load.c (find_btr_reference, note_btr_set): Likewise. * builtins.c (apply_args_size): Likewise. * caller-save.c (setup_save_areas, save_call_clobbered_regs, mark_set_regs, add_stored_regs, mark_referenced_regs, insert_restore, insert_save, insert_one_insn): Likewise. * cfgcleanup.c: Include regs.h (mark_effect, mentions_nonequal_regs): Likewise. * cfgrtl.c (mark_killed_regs): Likewise * combine.c (update_table_tick, record_value_for_reg, record_dead_and_set_regs, get_last_value_validate, use_crosses_set_p, reg_dead_at_p_1, reg_dead_at_p, mark_used_regs_combine, move_deaths, reg_bitfield_target_p, distribute_notes): Likewise. * cse.c (mention_regs, insert, invalidate, invalidate_for_call, exp_equiv_p, cse_insn): Likewise. * cselib.c (cselib_lookup): Likewise. (cselib_invalidate_regno, cselib_record_set): Likewise. * df.c (df_ref_record): Likewise. * dwarf2out.c (reg_loc_descriptor, multiple_reg_loc_descriptor): Likewise. * flow.c (mark_reg, insn_dead_p, mark_set_1, mark_used_reg, count_or_remove_death_notes_bb): Likewise. * function.c (aggregate_value_p, keep_stack_depressed): Likewise. * gloval.c (global_alloc, find_reg, mark_reg_store, mark_reg_conflicts, mark_reg_death, set_preference, reg_becomes_live, reg_dies): Likewise. * integrate.c (mark_stores): Likewise. * jump.c (delete_prior_computation): Likewise. * lcm.c (reg_dies, reg_becomes_live): Likewise. * local-alloc.c (combine_regs, find_free_reg, post_mark_life): Likewise. * loop.c (LOOP_REGNO_NREGS): Likewise. * postreload.c (reload_combine, reload_combine_note_store, reload_combine_note_use, reload_cse_move2add, move2add_note_store): Likewise. * ra-colorize.c (combine, color_usable_p, get_free_reg, calculate_dont_begin, calculate_dont_begin, colorize_one_web, try_recolor_web, insert_coalesced_conflicts, check_colors, break_precolored_alias): Likewise. * ra-debug.c: Include regs.h (ra_print_rtx_object): Likewise. * ra-rewrite (choose_spill_colors): Likewise. (spill_same_color_p, update_spill_colors, spill_is_free): Likewise. * ra.c (init_ra): Likewise. * recog.c (reg_fits_class_p, peep2_reg_dead_p, peep2_find_free_register): Likewise. * reg-stack.c (subst_stack_regs_pat, convert_regs_exit): Likewise. * regclass.c (hard_regno_nregs): New array. (init_reg_modes_once): Initialize it. (choose_hard_reg_mode): Use it. (record_reg_classes): Likewise. * regmove.c (mark_flags_life_zones): Likewise. * regrename.c (note_sets, clear_dead_regs, regrename_optimize, scan_rtx_reg, dump_def_use_chain, kill_value, set_value_regno, copy_value, maybe_mode_change, find_oldest_value_reg, copyprop_hardreg_forward_1): * regs.h (hard_regno_nregs): Declare. * realod.c (reload_inner_reg_of_subreg): Use it. (push_reload, combine_reloads, find_dummy_reload, hard_reg_set_here_p, operands_match_p, decompose, find_reloads, refers_to_regno_for_reload_p, find_equiv_reg, regno_clobbered_p, reload_adjust_reg_for_mode): Likewise. * reload1.c (compute_use_by_pseudos, count_pseudo, count_spilled_pseudo, find_reg, find_reload_regs, mark_home_live, spill_hard_reg, forget_old_reloads_1, mark_reload_reg_in_use, clear_reload_reg_in_use, reload_reg_free_for_value_p, free_for_value_p allocate_reload_reg, choose_reload_regs, emit_reload_insns, delete_output_reload): Likewise. * resource.c (update_live_status, mark_referenced_resources, mark_set_resources, mark_target_live_regs): Likewise. * rtlanal.c: Include regs.h (refers_to_regno_p, reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p, find_regno_note, find_reg_fusage, subreg_regno_offset, subreg_offset_representable_p, hoist_test_store): Likewise. * sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise. * sched-rgn.c (check_live_1, update_live_1): Likewise. * stmt.c: Include regs.h (decl_conflicts_with_clobbers_p): Likewise. * varasm.c (make_decl_rtl): Likewise. * Makefile.in (cfgcleanup.o, rtlanal.o, ra-debug.o): Add regs.h dependnecy. From-SVN: r77088
2004-01-31bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (".Kazu Hirata1-2/+2
* bt-load.c: Replace "gen_rtx (FOO, " with "gen_rtx_FOO (". * calls.c: Likewise. * emit-rtl.c: Likewise. * function.c: Likewise. * reload1.c: Likewise. * config/i386/cygming.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/winnt.c: Likewise. From-SVN: r77025
2004-01-27re PR middle-end/13779 ([3.4 only] powerpc64: incorrect initialization of ↵J"orn Rennecke1-14/+83
'long long' with constant) * Makefile.in (bt-load.o): Depend on except.h. * bt-load.c (except.h): #include. (compute_defs_uses_and_gen): If insn at end of BB can throw within this function, consider registers used by it unavailable for btr migration. (move_btr_def): If insn at end of BB can throw, insert before rather than after. * flags.h (flag_btr_bb_exclusive): Declare. * toplev.c (flag_btr_bb_exclusive): New variable. (f_options): Add btr-bb-exclusive. * bt-load.c (augment_live_range): Restore old behaviour if flag_btr_bb_exclusive is set. * common.opt: Add entry for -fbtr-bb-exclusive. * opts.c (common_handle_options): Same. * doc/invoke.texi: Document -fbtr-bb-exclusive. * bt-load.c (btrs_live_at_end): New variable. (compute_defs_uses_and_gen): Compute its pointed-to array. (clear_btr_from_live_range, add_btr_to_live_range): Update it. (augment_live_range): When augmenting with a new dominator, use only its btrs_live_at_end set, but also add in the full set of the old dominator. (btr_def_live_range): Use btrs_live_at_end. (move_btr_def): Set other_btr_uses_before_def, and move new set to the end of the basic block, if appropriate. (migrate_btr_defs): Allocate and free btrs_live_at_end. * bt-load.c (basic_block_freq): Remove outdated comment. 2004-01-27 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.h: Correct target_flags free bits comment. (PREDICATE_CODES): Remove duplicate. * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. (MASK_PROFILE_KERNEL): Adjust define. 2004-01-27 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.c (ix86_constant_alignment): Decrease alignment of long string literals from 32 bytes to sizeof (void *) when !-Os and to 1 with -Os. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept constant addresses in the normal mode. 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * system.h (CHAR_BITFIELD): Delete. (BOOL_BITFIELD): New. * c-decl.c (c_scope): Use BOOL_BITFIELD. * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (arc_return_in_memory): Likewise. * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. 2004-01-26 Richard Henderson <rth@redhat.com> * c-parse.in (extension): Use itype. (SAVE_EXT_FLAGS): Don't allocate a tree. (RESTORE_EXT_FLAGS): Don't read a tree. 2004-01-26 Jan Hubicka <jh@suse.cz> * cselib.c (discard_useless_values): Clear out value pointer pointing to datastructure to be recycled. 2004-01-25 Jan Hubicka <jh@suse.cz> * genextract.c (main): Do not output the memset when not checking. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements. 2004-01-26 Jeff Law <law@redhat.com> * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add acute accents for Petur Runolfsson's entry. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. * config/pdp11/pdp11.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * config/rs6000/rs6000.c (rs6000_emit_move): split slow unaligned load/store into smaller loads and stores. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * function.c (assign_parms): Do not assign long long argument to memory in prologue if is it loaded into register. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> PR middle-end/13779 * expr.c (emit_group_load): split constant correctly into register components of PARALLEL insn. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * gcc/config/rs6000/rs6000.md (save_stack_nonlocal): Use adjust_address_nv directly with appropriate mode. (restore_stack_nonlocal): Ditto. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/xtensa/xtensa-protos.h: Remove the prototype for xtensa_builtin_saveregs. * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (xtensa_builtin_saveregs): Make it static. (xtensa_return_in_memory): New. * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (PROMOTE_PROTOTYPES): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New. (arm_setup_incoming_varargs): Likewise. * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New. (cris_setup_incoming_varargs): Likewise. * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. (ns32k_struct_value_rtx): Likewise. * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to NS32K_STRUCT_VALUE_REGNUM. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (arm_struct_value_rtx): Likewise. * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_REGNUM): Likewise. (PROMOTE_PROTOTYPES): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ia64/ia64-protos.h: Remove the prototype for ia64_setup_incoming_varargs and ia64_return_in_memory. * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (ia64_setup_incoming_varargs): Adjust the arguments to meet the requirement of TARGET_SETUP_INCOMING_VARARGS. (ia64_return_in_memory): Make it static. Change the return type to bool from int. Add an argument. (ia64_struct_value_rtx): New. * config/ia64/ia64.h: Remove commented-out definitions of PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13666 * config/sparc/sparc.c (function_arg_union_value): New function. (function_arg): Use it to deal with unions. (function_value): Likewise. Define 'regbase' only for ARCH64. Replace a conditional statement by a simpler one. 2004-01-26 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips16_optimize_gp): Delete. (mips_reorg): Don't call it. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order. (floatunsqihf2): Remove operand 6. (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other fix patterns. (ldi_conditional, ldf_conditional): Validate operands. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. (HAVE_GAS_HIDDEN): Undefine as interim measure. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject invalid operand combinations. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_check_legit_addr): Rename to c4x_legitimate_address_p. Fix post_modify check. * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust. * config/c4x/c4x.h (c4x_check_legit_addr): Adjust. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/pa/pa-protos.h: Remove the prototype for hppa_builtin_saveregs. Add a prototype for pa_return_in_memory. * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (pa_struct_value_rtx): Likewise. (pa_return_in_memory): Likewise. * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to PA_STRUCT_VALUE_REGNUM. (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory. (EXPAND_BUILTIN_SAVEREGS): Remove. (PROMOTE_PROTOTYPES): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (vax_struct_value_rtx): Likewise. * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to VAX_STRUCT_VALUE_REGNUM. (PROMOTE_PROTOTYPES): Remove. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. 2003-04-25 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, and MIPS64 have HI/LO interlocks. Update comment. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/stormy16/stormy16-protos.h: Remove the prototype for xstormy16_setup_incoming_varargs. * config/stormy16/stormy16.c (xstormy16_setup_incoming_varargs): Remove. (xstormy16_return_in_memory): New. (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise (PROMOTE_PROTOTYPES): Likewise (RETURN_IN_MEMORY): Likewise (STRUCT_VALUE): Likewise (SETUP_INCOMING_VARARGS): Likewise 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_offset_within_object_p): New function. (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the ABI has 64-bit pointers and the object file only allows 32-bit symbols. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300-protos.h: Remove the prototype for mn10300_builtin_saveregs. * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (mn10300_return_in_memory): Likewise. (mn10300_builtin_saveregs): Make it static. * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr> PR bootstrap/13853 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by using ccr. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/i860/i860-protos.h: Remove the prototype for i860_saveregs. * config/i860/i860.c (i860_saveregs): Make it static. (i860_struct_value_rtx): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to I860_STRUCT_VALUE_REGNUM. (EXPAND_BUILTIN_SAVEREGS): Remove. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (m68hc11_struct_value_rtx): Likewise. (m68hc11_return_in_memory): Likewise. * config/m68hc11/m68hc11.h: Remove a commented-out definition of PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mmix/mmix-protos.h: Remove the prototype for mmix_setup_incoming_varargs. * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (mmix_setup_incoming_varargs): Make it static. (mmix_struct_value_rtx): New. * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove. Remove a commented-out definition of PROMOTE_FUNCTION_RETURN. (STRUCT_VALUE_REGNUM): Remove. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mips/mips-protos.h: Remove the prototypes for mips_setup_incoming_varargs and mips_return_in_memory. * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (mips_setup_incoming_varargs): Match the prototype for TARGET_SETUP_INCOMING_VARARGS. (mips_return_in_memory): Make it static. Add argument fntype. (mips_strict_argument_naming): New. * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove. (PROMOTE_FUNCTION_ARGS): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (SETUP_INCOMING_VARARGS): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (ip2k_return_in_memory): Likewise. (ip2k_setup_incoming_varargs): Likewise. * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (avr_return_in_memory): Remove. * config/avr/avr.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Jan Hubicka <jh@suse.cz> * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete. (mips_regno_mode_ok_for_base_p): Declare. * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77. (FRAME_POINTER_REGNUM): Renumber to 78. (FIRST_PSEUDO_REGISTER): Update comment accordingly. (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete. (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete. (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p. (REG_MODE_OK_FOR_BASE_P): Likewise. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change entry for 77 to "$arg" and entry for 78 to "$frame". (mips_regno_to_class): Map 77 and 78 to ALL_REGS. (mips_reg_mode_ok_for_base_p): Remove. (mips_regno_mode_ok_for_base_p): New function, derived from old BASE_REG_P macro. Don't enforce the mips16 stack pointer restrictions unless we're being strict. (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment typos. * c-decl.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * et-forest.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * ifcvt.c: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * postreload.c: Likewise. * varray.c: Likewise. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * doc/frontends.texi: Update copyright. * doc/gcov.texi: Likewise. * doc/gty.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/standards.texi: Likewise. 2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl> PR target/12978 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup. Remove movstrqi_small because it conflicts with movstrqi_large. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (cris_struct_value_rtx): Likewise. * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove. (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of STRUCT_VALUE_REGNUM. (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM. 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com> PR bootstrap/13848 * cse.c (cse_cc_succs): Change the mode of the source expression as soon as decide we need a new mode. Don't permit changing modes if we found a match in a successor block. (cse_condition_code_reg): Save original mode of source expression so that we know whether we have to change the mode in other insns. 2004-01-24 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address, adjust_address_1, offset_address, widen_memory_access): Return early when there is nothing to change. 2004-01-24 Jakub Jelinek <jakub@redhat.com> * simplify-rtx.c (simplify_relational_operation): Don't simplify address == constant into address + -constant == 0. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * gcc.c (process_command): Don't internationalize the Copyright message. * mips-tfile.c (main): Likewise. 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> * cse.c: (cse_cc_succs) Fix comparison warning. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md: Remove extraneous USE in expanders. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Provide prototypes for h8300_legitimate_constant_p and h8300_legitimate_address_p. * config/h8300/h8300.c (h8300_legitimate_constant_p): New. (h8300_rtx_ok_for_base_p): Likewise. (h8300_legitimate_address_p): Likewise. * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use h8300_legitimate_constant_p. (RTX_OK_FOR_BASE_P): Remove. (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New. (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Likewise. (REG_OK_FOR_BASE_STRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P. (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P. (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P. (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P. 2004-01-24 Jan Hubicka <jh@suse.cz> * cselib.c (remove_useless_values): Do not access discarded values. 2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk> * c-typeck.c (build_conditional_expr): Do not allow non-lvalue arrays. 2004-01-23 Kazu Hirata <kazu@cs.umass.edu> * recog.c: Fix a typo in copyright. 2004-01-23 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.md (call): Fix misappiled patch. (call_value): Likewise. 2004-01-23 Richard Henderson <rth@redhat.com> PR opt/12941 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value. (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0) if SHIFT_COUNT_TRUNCATED is set. 2004-01-23 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as separate real and imaginary parts. * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define. 2004-01-23 Hartmut Penner <hpenner@de.ibm.com> PR target/13674 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage loading into GPR. 2004-01-23 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. * alloc-pool.c (align_four): Kill. (create_alloc_pool): Align size to eight. (free_alloc_pool, free_pool): Invalidate deallocated data. 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com> PR gcc/1532 * cse.c (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. * rtl.h (cse_condition_code_reg): Declare. * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg. * target.h (struct gcc_target): Add fixed_condition_code_regs and cc_modes_compatible. * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (TARGET_INITIALIZER): Add new initializers. * targhooks.c (default_cc_modes_compatible): New function. * targhooks.c (default_cc_modes_compatible): Declare. * hooks.c (hook_bool_intp_intp_false): New function. * hooks.h (hook_bool_intp_intp_false): Declare. * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (ix86_fixed_condition_code_regs): New static function. (ix86_cc_modes_compatible): Likewise. * doc/tm.texi (Condition Code): Document new hooks. 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (bad_lval): Renamed to ... (alpha_bad_lval): ... this. Removed file list. Restrict to alpha*-dec-osf*. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/dirent.h: Remove, moving test ... * fixinc/tests/base/testing.h: ... here, reflecting new name. 2004-01-23 Zack Weinberg <zack@codesourcery.com> PR c/13814 * c-decl.c (diagnose_mismatched_decls): Also discard a built-in if we encounter an old-style definition with the same name. 2004-01-23 Jakub Jelinek <jakub@redhat.com> * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) [!__powerpc64__]: Corrected to handle kernels with changed ucontext. 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr> Olivier Hainque <hainque@act-europe.fr> * fold-const.c (fold_binary_op_with_conditional_arg): Only build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR. 2004-01-23 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode size for minipool references. 2004-01-23 Roger Sayle <roger@eyesopen.com> * real.c (real_floor, real_ceil): Tweak to allow input and output arguments to overlap. (real_round): New function to implement round(3m) semantics. * real.h (real_round): Prototype here. * builtins.c (fold_builtin_round): New function to constant fold round, roundf and roundl. (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}. 2004-01-23 Alexandre Oliva <aoliva@redhat.com> PR optimization/13819 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs introduced by 2004-01-20's Jan Hubicka's copy_insn change. (sh_handle_sp_switch_attribute): Remove warning. 2003-11-30 Jan Hubicka <jh@suse.cz> * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. 2004-01-23 J"orn Rennecke <joern.rennecke@superh.com> * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP may or may not return non-NIL. * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code, check CANNOT_CHANGE_MODE_CLASS 2004-01-23 Jan Hubicka <jh@suse.cz> * basic-block.h (PROP_POSTRELOAD): New macro. (CLEANUP_LOG_LINKS): New. * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to. * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg. * cselib.c (value_pool): New. (new_cselib_val): Use pool. (cselib_init): Initialize value_pool (cselib_finish): Free pool. 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (scan_record_type): New function. (function_arg_slotno): Use it to determine which kinds of registers the record can be passed in. 2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca> * config/pa/fptr.c: Fix old-style definition. 2004-01-22 Paolo Bonzini <bonzini@gnu.org> PR optimization/13724 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it represents the zero bits produced by a ZERO_EXTEND operation. 2004-01-22 Roger Sayle <roger@eyesopen.com> PR optimization/13821 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to correctly calculate the lowpart offset of the contracted subreg. 2004-01-22 Ian Lance Taylor <ian@wasabisystems.com> * doc/invoke.texi (Optimize Options): Note that --param arguments are subject to change without notice. 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * config.gcc (mips-sgi-irix6*o32): Removed. * config/mips/iris6-o32-as.h: Likewise. * config/mips/iris6-o32-gas.h: Likewise. * config/mips/iris6-o32.h: Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * cfgcleanup.c (first_pass): New static variable. (try_forward_edges): Add work limiting check for threading. (try_crossjump_bb): Add work limiting check for crossjumping. (try_optimize_cfg): Maintain first pass variable. 2004-01-22 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove. (REG_OK_FOR_BASE_P_STRICT): Likewise. (STRICT): Likewise. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1) (genrtl_for_stmt): Remove emit_nop calls. 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR target/13713 PR target/13324 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload, movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload, clrstrdi_prereload, clrstrdi_postreload): Fix constraints. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c: Include "debug.h". (thumb_pushpop): Take two new arguments. Add some commentary. Output frame information when pushing. (thumb_exit, thumb_unexpanded_epilogue): Update calls to thumb_pushpop. (thumb_output_function_prologue): Likewise. Accumulate a CFA offset, and pass it to thumb_pushpop. Output CFI information. (thumb_expand_prologue): Add some frame-related markers and notes. 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. 2004-01-22 Roger Sayle <roger@eyesopen.com> Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb. (subreg_lsb): Change to call new subreg_lsb_1 helper function. * rtl.h (subreg_lsb_1): Prototype here. * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and sign extensions. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the macro need not be defined if jump-tables should contain relative addresses only when -fPIC or -fPIC is in effect. 2004-01-22 Jan Hubicka <jh@suse.cz> * alias.c (reg_base_value): Turn into varray. (reg_base_value_size): Kill. (old_reg_base_value): New deletable varray. (alias_invariant_size): New variable. (REG_BASE_VALUE): Update to use varray. (find_base_value): Likewise. (record_set): Likewise. (record_base_value): Likewise. (memrefs_conflict_p): Likewise. (record_set): Likewise (record_base_value): Likewise. (memrefs_conflict_p): Use alias_invariant_size. (init_alias_analysis): Use varray; set alias_invariant_size; rescale other arrays to be sized by maxreg. (end_alias_analysis): Save reg_base_value; clear alias_invariant_size. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (function_arg_slotno): Use FLOAT_TYPE_P to detect FP fields in structures. (function_arg_record_value_1): Likewise. (function_arg_record_value_2): Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * function.c (allocate_struct_function): Do not initialize expr, emit and varasm. (prepare_function_start): Do it here. * c-parse.in (maybe_type_qual): Do not produce line number notes. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13559 * config/sparc/sparc.c (function_arg_record_value_3): Revert to 'word_mode' once the first slot has been filled. 2004-01-22 Olivier Hainque <hainque@act-europe.fr> * config/sparc/sparc.c (function_arg_record_value_1): Fix computation of the number of integer registers required. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/i386/i386.md: Simplify certain comparisons of const_int. 2004-01-21 Andrew Pinski <apinski@apple.com> PR target/13785 * config/rs6000/rs6000.md (call_value): Force operand 1 not operand 0 into a register. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, unwind-dw2-fde.h: Update copyright. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h: Update copyright. * pa.h: Likewise. * pa.md: Likewise. 2004-01-21 Caroline Tice <ctice@apple.com> PR target/12308 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber flags register. (fix_truncdfdi2): Likewise. (fix_truncsfdi2): Likewise. (*fix_truncdi_1): Likewise. (fix_truncxfsi2): Likewise. (fix_truncdfsi2): Likewise. (fix_truncsfsi2): Likewise. (*fix_truncsi_1): Likewise. (fix_truncxfhi2): Likewise. (fix_truncdfhi2): Likewise. (fix_truncsfhi2): Likewise. (*fix_trunchi_1): Likewise. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * alias.c, basic-block.h, c-common.c, c-common.h, c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Update copyright. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3, ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time, ultrix_unistd): New hacks. * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK, ULTRIX_CONST2_CHECK): Add checks. * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise. * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise. * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise. * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise. * fixinc/tests/base/locale.h: New file. * fixinc/fixincl.x: Rebuilt. 2004-01-21 Andreas Jaeger <aj@suse.de> Michael Matz <matz@suse.de> * doc/extend.texi (Extended Asm): Clarify memory clobber. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * crtstuff.c (frame_dummy, __do_global_ctors_1): Call _Jv_RegisterClasses through a function pointer. 2004-01-21 Falk Hueffner <falk@debian.org> PR target/12898 * config/alpha/alpha.c (alpha_emit_set_const_1): If no_new_pseudos, use gen_rtx_SET directly for SImode constants which need multiple instructions to emit. 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (CPP_SPEC): Define. 2004-01-21 Zack Weinberg <zack@codesourcery.com> * c-decl.c (merge_decls): Kill different_binding_level and different_tu arguments; simplify throughout. (duplicate_decls): Likewise. (pushdecl, merge_translation_unit_decls): Update calls to duplicate_decls. 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and $(SYSTEM_H). (print-rtl1.o): Depend on $(SYSTEM_H). 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12730 * configure.ac: Delete definition and subsitution of docdir. Add info, man, srcman and srcinfo to target hooks. Create doc/ directory. * configure: Regenerate. * Makefile.in: Don't substitute docdir and delete all references throughout. (MAKEINFOFLAGS): Define. (stmp-docobjdir): Delete. (INFOFILES, MANFILES): Define. (info): Call lang.info, srcinfo and lang.srcinfo. (generated-manpages): Call lang.man, srcman and lang.srcman. (srcinfo, srcman): New rules to copy back files to source directory. (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule. (install-man): Revamp rule. (clean): Update dvi directory. (distclean): Delete TAGS from front end directorys. (maintainer-clean): Delete all document files in source directory. objc/Make-lang.in (objc.man, objc.info): Dummy entries. (objc.srcman, objc.srcinfo): Likewise. 2004-01-20 Bruce Korb <bkorb@gnu.org> * fixinc/inclhack.def(math_exception): bypass only for glibc. (matherr_decl): rename & relocate as exception_structure. This fix must precede the math_exception fix. 2004-01-20 Roger Sayle <roger@eyesopen.com> * fold-const.c (fold_convert): Rename to fold_convert_const. (fold_convert_const): Change arguments to take a tree_code, a type and the operand/expression to be converted. Return NULL_TREE if no simplification is possible. Add support for FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR. (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR. Adjust call to fold_convert to match new fold_convert_const. Avoid modifying the tree passed to fold in-place. 2004-01-21 Alan Modra <amodra@bigpond.net.au> * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define. * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT. * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document. 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes. * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d): Likewise. Handle frames larger than 0x7fffffff on 64-bit ports. (emit_move_sequence): Check scratch_reg first in various if statements. Extend source simplification to handle all 64-bit CONST_INTs. (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing frame size. (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for frame offset calculations. * pa.h (NEW_HP_ASSEMBLER): Add comment. (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT, LEGITIMATE_64BIT_CONST_INT_P): Define. (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat any CONST_INT as legitimate during and after reload. (VAL_32_BITS_P, INT_32_BITS): Define. (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets. 2004-01-20 Jan Hubicka <jh@suse.cz> * emit-rtl.c (verify_rtx_sharing, copy_insn_1, emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers containing hard regs are shared. (gen_hard_reg_clobber): New function. (hard_reg_clobbers): New array. * genemit.c (gen_exp): Use gen_hard_reg_clobber. (copy_rtx): Do not copy clobbers containing hard regs. * rtl.h (gen_hard_reg_clobber): Declare. 2004-01-20 Jan Hubicka <jh@suse.cz> * varray.c: Include hashtab.h (varray_descriptor): New structure. (hash_descriptor, eq_descriptor, varray_descriptor, print_statistics): New static functions (varray_init, varray_grow): Update statistics (dump_varray_statistics): New function. * varray.h (dump_varray_statistics): Declare. * toplev.c (finalize): Call it. * Makefile.in (varray.o): Add dependency. 2004-01-20 Jan Hubicka <jh@suse.cz> * cselib.c: Include alloc-pool.h (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill. (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare. (new_elt_list, new_elt_loc_list, unchain_one_elt_list, unchain_one_elt_loc_list_pool, unchain_one_value, new_cselib_val): Simplify using allocpool. (cselib_init): Initialize allocpools. (cselib_finish): Finish allocpools. * Makefile.in (cselib.o): Depend on alloc-pool.h 2004-01-20 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_load_call_address): Make the call insn use $gp if it could be calling a lazy binding stub. 2004-01-20 Kazu Hirata <kazu@cs.umass.edu> * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Remove. (STRUCT_VALUE): Remove. 2004-01-20 Denis Chertykov <denisc@overta.ru> PR bootstrap/13735 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload. 2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR optimization/12440 * loop.c: Include ggc.h. (loop_optimize): Run garbage collector between optimization of loops. * Makefile.in (loop.o): Add GGC_H dependency. 2004-01-20 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (function_arg) Handle vector register special in function without prototype. (function_arg_advance): Vector parameters get always GPRs allocated for the linux64 target. 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK not TARGET_M32RX_MASK. 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13557 * config/sparc/sparc.c (function_arg): Reorder the cases. 2004-01-19 Per Bothner <per@bothner.com> Move cpp_reader's line_maps field to a shared global. * cpphash.h (cpp_reader): Rename line_maps field to line_table and change the type to a pointer rather than a struct. * cppinit.c (cpp_push_main_field): Adjust accordingly. * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks): Likewise. * cppfiles.c (validate_pch): Likewise. * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text): Likewise. * cpperror.c (print_location): Likewise. * cpplib.h (cpp_create_reader): New line_maps pointer parameter. * cppinit.c (cpp_create_reader): Handle new parameter. (cpp_destroy): Don't free line_maps - that's no longer our job. * input.h (line_table): New variable. * toplev.c (line_table): Declare variable. (general_init): Initialize line_table. * c-opts.c (c_common_init_options): Pass line_table to cpp_create_reader. * fix-header.c (read_scan_file): New local variable line_table. Initialize, and pass it to cpp_create_reader. * Makefile.in (LIBS, LIBDEPS): Add libcpp.a. (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a. 2004-01-19 Per Bothner <per@bothner.com> Implement a cache for linemap_lookup. * line-map.h (struct_line_maps): Add cache field. * line-map.c (linemap_init): Zero cache field. (linemap_add): Set cache field to offset of newly allocated map. (linemap_lookup): Use and set cache field. 2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org> PR optimization/13567 * cse.c (cse_basic_block): Call cse_insn with a non-null libcall_insn for the last SET insn of a no-confilict block. 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (target_noncanonical, program_transform_name): Use immediate define instead of deferred. (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of deferred backquote. 2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk> * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to true unconditionally. * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): Remove. (build_unary_op, build_modify_expr): Don't handle extended lvalues. (build_component_ref, build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue. (build_c_cast): Don't condition use of non_lvalue on pedantic. * fold-const.c (fold): Don't check pedantic directly for COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are passed to pedantic_non_lvalue. * doc/extend.texi: Remove documentation of extended lvalues. 2004-01-19 Roger Sayle <roger@eyesopen.com> PR optimization/5263 * simplify-rtx.c (associative_constant_p): Delete. (simplify_associative_operation): Rewrite to linearize terms, and attempt to simplify new term against both left and right subterms. (simplify_binary_operation): Call swap_commutative_operands_p on op0 and op1, not trueop0 and trueop1. Move the initialization of trueop0 and trueop1 down to where first needed. (simplify_relational_operation): Likewise. * rtlanal.c (commutative_operand_precedence): Also order constant operands using avoid_constant_pool_reference. 2004-01-19 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN, don't check memory mode. (unaligned_memory_operand): Likewise. (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't abort for op0 not MEM. * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination is not a reg, copy to a scratch first. (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi, unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le, unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG. (reload_inqi, reload_inhi): Fix mode of op0. (reload_inqi_help, reload_inhi_help, reload_outqi_help, reload_outhi_help): Likewise. Use define_insn_and_split. * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN as well as $29 dead. 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit "tls_object" for thread-local objects. * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit "#tls" for thread-local sections. * configure.ac (thread-local checks): Specify --fatal-warnings in every binutils-specific checks. For sparc*-*-*, test whether the OS is Solaris and the tools are native and act accordingly. * configure: Rebuild. 2004-01-19 Jeff Law <law@redhat.com> * contrib.texi: Update Paolo Carlini's entry. New entries for Jerry Quinn and Petur Runolfsson. 2004-01-19 Roger Sayle <roger@eyesopen.com> * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for size, don't use the larger zero-extending loads. 2004-01-19 Richard Henderson <rth@redhat.com> * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs. * alpha.md (UNSPEC_NT_LDA): Remove. (UNSPEC_CVTLQ, cvtlq): New. (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f. (extendsidi2_fix): Remove. (extendsidi2 splitter): Use cvtlq. (extendsidi2 fp peepholes): Remove. (cvtql): Use SFmode instead of SImode. (fix_trunc?fsi): Update to match. (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New. (movsi): Rename from movsi_nofix, remove f alternatives. (movsi_nt_vms): Similarly. (movsi_fix, movsi_nt_vms_fix): Remove. (nt_lda): Remove. * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda. 2004-01-19 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_remove_node): Fix removal from linked list. * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed list. (cgraph_remove_unreachable_nodes): New function (cgraph_decide_inlining_of_small_function): Fix pasto. (cgraph_decide_inlining_incrementally): Fix pasto. (cgrpah_decide_inlining): Likewise; remove unreachable nodes. 2004-01-19 Steven Bosscher <stevenb@suse.de> * gengtype.c (header_file): Make it static. (write_types_process_field, write_enum_defn): Minor whitespace fixes. * gengtype.h (header_file): No longer extern. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default. * expr.c (CASE_VECTOR_PC_RELATIVE): Remove. * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * stmt.c (HAVE_casesi): Define it not already defined. (HAVE_tablejump): Likewise. (expand_end_case_type): Resort to the binary tree method if neither casesi or tablejump is available. 2004-01-18 Daniel Jacobowitz <drow@mvista.com> * final.c (final_scan_insn): Make non-static again. * output.h (final_scan_insn): Re-add prototype. * config/arc/arc.c (arc_output_function_epilogue): Add NULL to final_scan_insn call. * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise. * config/mips/mips.c (mips_output_conditional_branch): Likewise. * config/pa/pa.c (output_lbranch, output_call): Likewise. * config/sh/sh.c (print_slot): Likewise. * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise. (output_sibcall, sparc_flat_function_epilogue): Likewise. 2004-01-18 Jan Hubicka <jh@suse.cz> * basic-block.h (try_redirect_by_replacing_jump): Declare. * cfgcleanup.c (try_optimize_cfg): Use it. * cfgrtl.c (try_redirect_by_replacing_jump): Export. (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch): Kill hack. (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump. Revert: 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of the size of a pointer in bytes. 2004-01-18 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing live "next" variable, which could lead to an infinite loop. 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/altivec.h: Wrap C++ functions in extern "C++" block. * config/rs6000/rs6000.c (rs6000_special_round_type_align): Check for NULL in the chain and remove repeated code. 2004-01-18 Jan Hubicka <jh@suse.cz> * coverage.c (checksum_string): Rename to ... (coverage_checksum_string): ... this one, Use crc32_string; recognize names containing random number and zero the number out in order to get match. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_got_alias_set): Mark for PCH. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/trouble.texi: Remove trailing whitespace. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> PR target/7618 * config/mips/mips.c: Include cfglayout.h. (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. (mips_unspec_offset_high): Add temporary register argument. (mips_load_call_address): New function, split out from... (mips_expand_call): ...here. (mips_output_cplocal): New function. (mips_output_function_prologue, mips_output_function_epilogue): Use it. (mips_emit_loadgp): New function, split out from... (mips_expand_prologue): ...here. (mips_output_mi_thunk): New function. 2004-01-17 Bernardo Innocenti <bernie@develer.com> * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040, mcpu32): Remove redundant checks for implied target predefines. 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.c (rs6000_special_round_type_align): Return type is unsigned int not int. * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Likewise. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use "GNU/Linux" and "Microsoft Windows" terminology. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi, doc/cppopts.texi, doc/extend.texi, doc/install.texi, doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use @smallexample instead of @example. 2004-01-17 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_objc_method_call): Use target hooks instead of macros to determine if ..._stret dispatchers should be used (NeXT runtime only). 2004-01-17 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc) (emit_call_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New macros. * reload1.c (emit_reload_insns): Use them. * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check for NULL PATTERN. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define. (final_scan_insn): Update to take an additional SEEN argument. Emit a line note after the prologue. Make static. (line_note_exists): Remove. (final): Don't initialize line_note_exists. Update call to final_scan_insn. * output.h (final_scan_insn): Remove prologue. * function.c (set_insn_locators): Update comment. (thread_prologue_and_epilogue_insns): Add a comment. 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/10781 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Prototype. * config/rs6000/rs6000.c (rs6000_special_round_type_align): New function. * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. 2004-01-17 Jan Hubicka <jh@suse.cz> * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous commit. * toplev.c (HAVE_conditional_execution): Provide default. (rest_of_handle_reorder_blocks): For conditional_execution target update liveness once after all transformations (rest_of_compilation): Do crossjumping before ce3. 2004-01-17 Geoffrey Keating <geoffk@apple.com> * alias.c (new_alias_set): Mark last_alias_set for PCH. (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it for PCH. (get_frame_alias_set): Likewise, except rename it to 'frame_set'. * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH. (get_TOC_alias_set): Mark 'set' for PCH. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-17 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type(). Remove checks for is_ada() and TREE_UNSIGNED. (subrange_type_die): Emit a byte_size attribute if the subrange type size is different from the base type size. (modified_type_die): Replace call to is_ada_subrange_type() by call to is_subrange_type(). 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu> * config/sh/sh.c: Include ggc.h. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * Makefile.in (MD5_H): New. (fold-const.o): Depend on md5.h. (dwarf2out.o): Likewise. (cppfiles.o): Likewise. * cppfiles.c: Include md5.h. (should_stack_file): Check against list read from PCH file. (struct pchf_data): New. (pchf): New variable. (struct pchf_adder_info): New. (pchf_adder): New. (pchf_save_compare): New. (_cpp_save_file_entries): New. (_cpp_read_file_entries): New. (struct pchf_compare_data): New. (pchf_compare): New. (check_file_against_entries): New. * cpphash.h (_cpp_save_file_entries): Prototype. (_cpp_read_file_entries): Prototype. * cpppch.c (cpp_write_pch_state): Write the list of headers. (cpp_read_state): Read the list of headers. 2004-01-17 Jan Hubicka <jh@suse.cz> * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and builtin_expect specially. * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100. (PARAM_LARGE_FUNCTION_INSNS): Set to 3000. * invoke.texi (max-inline-insns-single): Set to 100. (large-function-insns): Set to 3000. 2004-01-16 Eric Christopher <echristo@redhat.com> Chandrakala Chavva <cchavva@redhat.com> * cppcharset.c (one_iso88591_to_utf8): New function. (convert_iso88591_utf8): Ditto. Use. (conversion_tab): Use. (_cpp_input_to_utf8): New function. (_cpp_init_iconv_buffer): Ditto. (_cpp_close_iconv_buffer): Ditto. * cpphash.h: Prototype new functions. (cpp_buffer): Add input_cset_desc. * cppinit.c: Add input_charset default. * cpplib.c (cpp_push_buffer): Support init and close of iconv. * cpplib.h (cpp_options): Add input_charset. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_SECTION_NAME): Poison. * config/alpha/unicosmk.h: Remove a commented-out definition of ASM_OUTPUT_SECTION_NAME. * config/stormy16/stormy16.h: Likewise. 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ... (alpha___extern_prefix_sys_stat): ... this. Apply to <sys/mount.h>, too. Tweak to match more variations. * fixinc/tests/base/sys/stat.h: Adapt for new hackname. * fixinc/inclhack.def (alpha___extern_prefix, alpha___extern_prefix_standards): New hacks to obey __PRAGMA_EXTERN_PREFIX. * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New test. * fixinc/tests/base/standards.h: Likewise. * fixincl/inclhack.def (alpha_pthread): Tweak to match more variations. New testcase. * fixinc/tests/base/pthread.h: Handle it. * fixincl/inclhack.def (bad_lval): Sort file list. Add many missing files up to Tru64 UNIX V5.1B. * gcc/fixinc/tests/base/libgen.h: Renamed to ... * gcc/fixinc/tests/base/dirent.h: ... this to match new file list order. * fixinc/fixincl.x: Regenerate. 2004-01-16 Mark Mitchell <mark@codesourcery.com> * version.c (version_string): Change to 3.5.0. * doc/include/gcc-common.texi (version-GCC): Likewise. 2004-01-16 Jan Hubicka <jh@suse.cz> * i386.md (load_tp_di): Fix pasto. PR opt/13608 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function. * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator, pp_c_character_constant, pp_c_floating_constant, pp_c_additive_expression, pp_c_shift_expression, pp_c_equality_expression, pp_c_and_expression, pp_c_exclusive_or_expression, pp_c_inclusive_or_expression, pp_c_logical_and_expression): Remove inline modifier. * dwarf2out.c (get_AT): Likewise. * et-forest.c (et_splay): Likewise. * ra.h (ra_alloc, ra_calloc): Likewise 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * config/frv/frv-protos.h: Fix comment formatting. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/frv/frv.md: Likewise. * config/frv/frvbegin.c: Likewise. * config/frv/frvend.c: Likewise. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison. * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention LINKER_DOES_NOT_WORK_WITH_DWARF2. (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove. 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com> PR 11864 * postreload.c (reload_cse_simplify_operands): Don't remove implicit extension from LOAD_EXTEND_OP. 2004-01-16 Jan Hubicka <jh@suse.cz> PR opt/11350 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal after reload. * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks, rtl_try_redirect_by_replacing_branch): Likewise. 2004-01-15 Geoffrey Keating <geoffk@apple.com> PR pch/13689 * alias.c (struct alias_set_entry): Mark for GC. (alias_sets): Make static, mark for GC. (record_alias_subset): Use GC to allocate alias structures. * varray.c (element): Make generic varrays GCed. PR pch/13361 * c-typeck.c (constructor_asmspec): Delete. (struct initializer_stack): Delete field 'asmspec'. (start_init): Delete saving of asmspec. (finish_init): Don't update constructor_asmspec. * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. * stmt.c (expand_asm): Duplicate strings from tree. (expand_asm_operands): Likewise. * tree.c (tree_size): Update computation of size of STRING_CST. (make_node): Don't make STRING_CST nodes. (build_string): Allocate string with tree node. * tree.def (STRING_CST): Update comment. * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. (tree_string): Place contents of string in tree node. * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string from tree. * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case altivec operands. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment formatting. * c-cppbuiltin.c: Likewise. * c-pragma.c: Likewise. * calls.c: Likewise. * collect2.c: Likewise. * cppcharset.c: Likewise. * cpptrad.c: Likewise. * dbxout.c: Likewise. * defaults.h: Likewise. * dwarf2out.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * genconditions.c: Likewise. * genflags.c: Likewise. * gengtype.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * sdbout.c: Likewise. 2004-01-15 Zack Weinberg <zack@codesourcery.com> * config/ia64/ia64.md (*movti_internal): C output template extracted to ia64.c. (*movti_internal_reg): Delete. (reload_inti, reload_outti): Use the correct mode on operand 2 in the first place, don't fix it up in the output template. (movtf, reload_ointf, reload_outtf): New expanders. (*movtf_internal): New define_insn_and_split. * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; make static; do not hand TFmode CONST_DOUBLEs to split_double. (ia64_split_tmode_move): New function, body mostly pulled from ia64.md:*movti_internal. (ia64_function_arg_words): New function, extracted common logic from ia64_function_arg et seq. (ia64_function_arg_offset): Likewise. Handle correctly the case of a scalar quantity 16 bytes wide with only 8-byte alignment. (ia64_function_arg, ia64_function_arg_partial_nregs) (ia64_function_arg_advance): Use ia64_function_arg_words and ia64_function_arg_offset. (ia64_function_value): TCmode does not go in float regs. (ia64_secondary_reload_class): Also handle TFmode. * config/ia64/ia64-protos.h: Remove prototype for ia64_split_timode; add prototype for ia64_split_tmode_move. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (MAINT): Make it an immediate assignment. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Remove useless calls to gen_lowpart. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Replace Hitachi with Renesas. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. 2004-01-15 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF around it. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_return_in_memory): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/h8300/h8300.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> PR optimization/13375 * gcse.c (handle_avail_expr): Just return if the source is not a single set. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> Daniel Jacobowitz <drow@mvista.com> * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. (EQUIV): Define. (ARM_FUNC_ALIAS): New macro. * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12372 * calls.c (expand_call): Add call_fusage data for stack arguments in constant calls. 2004-01-15 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. (rs6000_elf_declare_function_name): Formatting. * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration. 2004-01-15 Jan Hubicka <jh@suse.cz> PR bootstrap/13692 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in previous patch. 2004-01-15 Richard Henderson <rth@redhat.com> * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after integer regs of the same call-savedness. 2004-01-15 Andreas Schwab <schwab@suse.de> PR bootstrap/13562 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc status for NOTB/NOTW/NEGW methods. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Update dump file names. Fix a typo. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * builtins.c (expand_builtin_va_end): Don't use EXPAND_BUILTIN_VA_END. * system.h (EXPAND_BUILTIN_VA_END): Poison. * config/d30v/d30v.h: Remove a commented-out definition of EXPAND_BUILTIN_VA_END. * config/stormy16/stormy16.h: Likewise. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison. * targhooks.c (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING_REGNUM. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (FUNCTION_VALUE): Fix a typo. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi: Replace RETURN_IN_MEMORY with TARGET_RETURN_IN_MEMORY. 2004-01-15 Jan Hubicka <jh@suse.cz> * builtins.c (std_expand_builtin_va_arg): Align operand when needed. * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic functions accepting SSE arguments (function_arg): Warn only when asked to warn. * i386.h (ix86_args): Add warn_sse/warn_mmx fiels. 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk> * c-parse.in (stmts_and_decls): Make label at end of compound statement a hard error. 2004-01-14 Jan Hubicka <jh@suse.cz> * cgraph.c (create_edge): Use local.redefined_extern_inline. * cgraph.h (cgraph_local_info): Sort fields by size; add redefined_extern_inline (cgraph_global_info): Sort fields by size. (cgraph_node): Likewise. * cgraphunit.c (cgraph_finalize_function): Se local.redefined_extern_inline on redefinition. (cgraph_analyze_function): Use it; fix formating. 2004-01-14 Jan Hubicka <jh@suse.cz> PR c++/10776 * sched-deps.c (trye_dependency_cache, anti_dependency_cache, outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of bitmaps (cache_size): New variable (add_dependence): Update use; canonize early memory locations (sched_analyze_1): Likewise. (sched_analyze_2): Likewise. (init_dependency_caches): Initialize bitmaps. (free_dependency_caches): Free bitmaps 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with targetm.calls.strict_argument_naming(). * target.h: Likewise. 2004-01-14 Richard Henderson <rth@redhat.com> PR debug/13231 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue instructions. 2004-01-14 Richard Henderson <rth@redhat.com> PR c++/12491 * except.c (struct eh_region): Add u.fixup.resolved. (resolve_one_fixup_region): Split out from ... (resolve_fixup_regions): ... here. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/alpha/alpha.h (STRUCT_VALUE): Remove. * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef. (STRUCT_VALUE): Remove. 2004-01-14 Steven Bosscher <stevenb@suse.de> * system.h: Poison PROMOTED_MODE * integrate.c (expand_inline_function): Don't mention the PROMOTED_MODE. * loop.c (update_giv_derive): Same. * tree.h (DECL_RTL): Same. 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com> PR target/9365 * sh.c (gen_block_redirect): Add special handling of RETURN. (gen_far_branch) Don't call gen_stuff_delay_slot if there is no far branch target (i.e. it's a return). 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * regrename.c (find_oldest_value_reg): Fix a warning. 2004-01-14 Richard Earnshaw <rearnsha@arm.com> PR bootstrap/12527 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. Move linux-gas.h and linux-elf.h before aout.h. * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx (CONST_INT, VOIDmode, ...). 2004-01-14 Richard Earnshaw <rearnsha@arm.com> * regrename.c (find_oldest_value_reg): If the replacement uses multiple hard registers, check that all of them are in CLASS. 2004-01-14 Jan Hubicka <jh@suse.cz> * alias.c (get_alias_set): Initialize alias set to 0 when subset is impossible. 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Define MAINT from --enable-maintainer-mode. 2004-01-14 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (rs6000_stack_info) Calculate always vrsave_mask if TARGET_ALTIVEC. (rs6000_emit_prologue): Emit code for vrsave only if TARGET_ALTIVEC_VRSAVE. (rs6000_emit_epilogue): Likewise. 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.md (tie_add32): Fix pasto. (tie_add64): Likewise. 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * config/i386/i386.md (*addqi_1_slp): Do not access operands[2]. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/iq2000/iq2000-protos.h: Fix comment formatting. * config/iq2000/iq2000.c: Likewise. * config/iq2000/iq2000.md: Likewise. 2004-01-14 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME. (subrange_type_die): Add handle for nameless subrange types. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Replace do_movsi with h8300_expand_movsi. * config/h8300/h8300.c (do_movsi): Change to h8300_expand_movsi. * config/h8300/h8300.md (movsi): Replace do_movsi with h8300_expand_movsi. (movsf): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (dosize): Change to h8300_emit_stack_adjustment. Update callers. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md (movstrictqi): Add an alternative with the source being post_inc. Tighten the predicate for the destination to register_operand. (movstricthi): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP. * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove. 2004-01-14 Jan Hubicka <jh@suse.cz> Partial fix PR c++/12850 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when at zero nest level. 2004-01-13 Bernardo Innocenti <bernie@develer.com> * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr" pseudo-register. 2004-01-13 Devang Patel <dpatel@apple.com PR debug/7078 * dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/12709 * c-common.c (finish_fname_decls): Use the chain only if the tree is an expr_stmt. 2004-01-13 Vladimir Makarov <vmakarov@redhat.com> * rtl.def: Add comment about new option in automata_option. * genautomata.c (PROGRESS_OPTION): New macro. (progress_flag): New global variable. (gen_automata_option): Process `progress'. (transform_insn_regexps, check_unit_distributions_to_automata, make_automaton, NDFA_to_DFA, build_automaton, create_automata, expand_automata, write_automata): Print about the progress only if progress_flag. Remove fflush. (initiate_automaton_gen): Process command line flag `-progress'. * doc/md.texi: Describe the new option. 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * cfg.c (dump_bb): Dump entry edges. 2004-01-13 Richard Earnshaw <rearnsha@arm.com> * arm.c (thumb_legitimate_address_p): Only allow constant pool references from SImode. * arm.md (thumb_movhi_insn): Don't allow minipool references. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (TEXT_SECTION): Poison. * varasm.c (text_section): Don't use TEXT_SECTION. * config/sh/sh.c (sh_file_start): Fix a comment typo. * doc/tm.texi (TEXT_SECTION): Remove. 2004-01-13 Ben Elliston <bje@wasabisystems.com> * doc/rtl.texi (Vector Operations): Remove defunct vec_const item. 2004-01-12 James E Wilson <wilson@specifixinc.com> * unwind-libunwind.c: Delete. 2004-01-12 Zack Weinberg <zack@codesourcery.com> PR 13656 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or oldtype is set, set *newtypep or *oldtypep too. Do not set them at the very end. (validate_proto_after_old_defn): Restructure for comprehensibility; make error messages clearer. 2004-01-12 Zack Weinberg <zack@codesourcery.com> * varray.h (VARRAY_POP): Add checking variant, aborts on underflow. (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked. * varray.c: No need to prototype error. (varray_check_failed): Wrap long string onto two lines. (varray_underflow): New function. 2004-01-13 Steven Bosscher <stevenb@suse.de> PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". 2004-01-13 Jan Hubicka <jh@suse.cz> * c-decl.c (diagnose_mismatched_decls): Fix warning calls. * cgraphunit.c (cgraph_optimize_function): Always do optimize_inline_calls when there is always_inline callee. (cgraph_decide_inlining): Fix formating. * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline functions. (expand_call_inline): Likewise. * toplev.h (sorry): Fix prototype. 2004-01-12 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle conditional jumps that drop through to unconditional jumps or the end of the sequence. 2004-01-13 Jan Hubicka <jh@suse.cz> * alias.c (new_alias_set): Construct the alias_set varray. (init_alias_once): Don't do it here. 2004-01-12 Marc Espie <espie@openbsd.org> * system.h: handle YYBYACC like YYBISON. 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> PR target/10847 * config.gcc: No longer includes conflicting header sparc/sol2.h when building on sparc64-*-openbsd*. 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu> PR debug/13539 * dbxout.c (dbxout_type): Protected inheritance is not private but protected. 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch. 2004-01-12 Kazu Hirata <kazu@cs.umass.edu> PR optimization/12508. * combine.c (try_combine): Remove a dead set in a parallel even if its destination is a subreg. Revert: 2003-06-03 Kazu Hirata <kazu@cs.umass.edu> * combine.c (simplify_set): Don't move a subreg in SET_SRC to SET_DEST if WORD_REGISTER_OPERATIONS is not defined. 2004-01-12 Geoffrey Keating <geoffk@apple.com> * real.c: Update copyright date. * emit-rtl.c: Likewise. * rtl.h: Likewise. * dwarf2out.c: Likewise. * config/rs6000/darwin-ldouble.c: Likewise. * config/rs6000/rs6000.md: Likewise. 2004-01-12 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX TFmode to SImode libfuncs. 2004-01-12 Roger Sayle <roger@eyesopen.com> PR middle-end/11397 * varasm.c (assemble_alias): Remove weak aliases from weak_decls. 2004-01-12 Jan Hubicka <jh@suse.cz> PR opt/12826 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be stored. PR opt/12863 * cfgcleanup.c (label_is_jump_target_p): Move to... * rtlanal.c (label_is_jump_target_p): ... here. * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru edges unified with branch edges. 2004-01-12 Richard Earnshaw <rearnsha@arm.com> * simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE. 2004-01-12 Paul Brook <paul@codesourcery.com> * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com> PR target/13585 * sh-protos.h (check_use_sfunc_addr): Declare. * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions. * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate. 2004-01-12 Jan Hubicka <jh@suse.cz> * alias.c: Invlude varray.h (alias_sets): Turn into varray. (get_alias_set_entry): Use VARRAY; mark inline. (mems_in_disjoint_alias_sets_p): Mark inline. (record_alias_subset): Use varray. (init_alias_once): Initialize varray. (new_alias_set): Grow array. * varray.c: Make VARRAY_GENERIC_PTR non GTYized. 2004-01-12 Jan Hubicka <jh@suse.cz> Partial fix for PR opt/10776 II * cselib.c: Include params.h (cselib_invalidate_mem): Limit amount of nonconflicting memory locations. * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New. * Makefile.in (cselib.o): Depend on params.h 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * combine.c (combine_simplify_rtx): Don't pass VOIDmode to simplify_unary_operation if the operand has a known mode. 2004-01-12 Hartmut Penner <hpenner@de.ibm.com> PR target/13534 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New predicate to handle 'ld' conform addresses. * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y' contraint. (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint are memory contraints. * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand): New prototype. * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64): Change 'o' to 'Y' constraint. (*movdf_softfloat64): Ditto. 2004-01-12 Bernardo Innocenti <bernie@develer.com> * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the brace-enclosed syntax in all C output statements. 2004-01-12 David Edelsohn <edelsohn@gnu.org> PR target/13401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Objective-C language type value is 14. 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com> PR c/12148 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of `int' in a number of places to make sure we always have a SImode and not a HImode. Add a 'L' suffix to a number of constants. 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa.c: Don't include obstack.h. * pa.md: Correct constraint in pattern for loading PIC label address. 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine before defining. 2004-01-11 Steven Bosscher <stevenb@suse.de> PR fortran/9972 * toplev.c (rest_of_handle_inline): Also consider functions for deferral if the language is GNU F77. 2004-01-11 Zack Weinberg <zack@codesourcery.com> * c-decl.c (diagnose_arglist_conflict): Add missing space to diagnostic messages. 2004-01-11 Jakub Jelinek <jakub@redhat.com> PR middle-end/13392 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps to drop through label. Don't fall back to SCC even when conditional jump has not been found. 2004-01-11 Jan Hubicka <jh@suse.cz> * invoke.texi: Fix syntax error in previous patch. Partial fix for PR opt/10776 * Makefile.in (reload.o): Include param.h * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter. * reload.c: Include params.h. (find_equiv_reg): Work limiting check. * invoke.texi: Document. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Don't allow out-of-bounds accesses to string constants. Simplify mips16 case accordingly. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> PR optimization/13469 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after reload_cse_regs (-fnon-call-exceptions only). 2004-01-11 Kazu Hirata <kazu@cs.umass.edu> * config/mcore/lib1.asm: Fix comment formatting. * config/mcore/mcore-elf.h: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * c-decl.c (duplicate_decls): Break apart into... (diagnose_arglist_conflict, validate_proto_after_old_defn) (locate_old_defn, diagnose_mismatched_decls, merge_decls): ... these new functions. Restructure for comprehensibility. Remove various archaic special cases. Always report the location of the previous declaration when a diagnostic is issued. (redeclaration_error_message): Fold into diagnose_mismatched_decls. (match_builtin_function_types): Delete unnecessary forward declaration. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * genautomata.c (make_automaton, NDFA_to_DFA): Print progress bars with '.' characters instead of '*'. (build_automaton): Change notes to match. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use define_constants for unspec and unspec_volatile. 2004-01-10 Jan Hubicka <jh@suse.cz> PR opt/11635 * expr.c (expand_expr_real): More curefully expand union casts. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md (flush_icache): Use 1 for unspec_volatile. 2004-01-10 David Edelsohn <edelsohn@gnu.org> James E Wilson <wilson@specifixinc.com> PR debug/12860 * dbxout.c (dbxout_symbol): Remove initialization of current_sym_code, current_sym_value, and current_sym_addr. (dbxout_symbol_location): Same. (dbxout_prepare_symbol): Zero current_sym_code, current_sym_value, and current_sym_addr. 2004-01-10 Richard Sandiford <rsandifo@redhat.com> * tree.c (get_unwidened): Reorder conditions so that the null pointer check is done first. 2004-01-09 Eric Christopher <echristo@redhat.com> * toplev.c (rest_of_handle_cfg): Add reg_scan pass if we're running mark_constant_function. 2004-01-09 Jeff Bailey <jbailey@nisa.net> PR target/12561 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR. 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR debug/11231 * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the type is error_mark_node. 2004-01-09 Geoffrey Keating <geoffk@apple.com> * config/rs6000/darwin-ldouble.c: Add big comment explaining exactly what is expected as a 'long double'. (_xlqadd): When a value to be returned is representable as a 'double', just return it directly, do not construct it using a union. Also, correct final fixup. (_xlqmul): Likewise. (_xlqdiv): Likewise. * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c. * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. 2004-01-09 Richard Henderson <rth@redhat.com> * recog.c (constrain_operands): Validate mem operands. 2004-01-09 James E Wilson <wilson@specifixinc.com> * gcc.c (init_spec): Remove -lunwind from shared case. * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind. 2004-01-09 Steve Ellcey <sje@cup.hp.com> * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*. * configure: Regenerate 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk> PR c/11234 * c-typeck.c (build_c_cast): If pedantic, warn for conversions between function and object pointers. (digest_init): When comparing a pointer to function type to the target type, only apply TREE_TYPE once to the pointer to function type. * except.c (for_each_eh_label_1): Treat data as a pointer to a function pointer rather than casting it to a function pointer. (for_each_eh_label): Update caller. * recog.h (struct insn_data): Use a struct or union for output. * genoutput.c (output_insn_data): Update. * final.c (get_insn_template): Update. 2004-01-09 Mark Mitchell <mark@codesourcery.com> * expr.h (expand_expr): Make it a macro, not a function. (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__. * config/m32r/m32r.c (call26_operand): Allow in PIC mode. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> PR target/13380. * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17) or (ne:SI (reg:CC 17) (const_int 0)). Be specific about modes wherever possible. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.c (m32r_expand_block_move): Call gen_movestrsi_internal with two more arguments. (m32r_output_block_move): Adjust operand numbers. Properly update the source and destination pointers. * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of 'r+'. Change the set detinations to match_operand. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * final.c (FIRST_INSN_ADDRESS): Remove. (shorten_branches): Don't use FIRST_INSN_ADDRESS. * system.h (FIRST_INSN_ADDRESS): Poison. * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS. * config/m32r/m32r-protos.h: Remove the prototype for m32r_first_insn_address. * config/m32r/m32r.c (m32r_first_insn_address): Remove. * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise. * doc/md.texi (FIRST_INSN_ADDRESS): Likewise. 2004-01-09 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (gen_enumeration_type_die): Return the DIE that we just created. (is_ada_subrange_type): DIEs for enumeration subtypes should be emitted as subrange types too. (subrange_type_die): Add handling of enumeration subtypes. 2004-01-08 Richard Henderson <rth@redhat.com> PR opt/12441 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> * i386.c (aligned_operand): Be prepared for SUBREGed registers. (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. (ix86_address_cost): Be prepared for SUBREGed registers. (legitimate_address_p): Accept SUBREGed registers. 2004-01-08 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Rename configure.in to configure.ac * doc/sourcebuild.texi: Likewise. * configure: Regenerate. * config.in: Regenerate. 2004-01-08 Stuart Hastings <stuart@apple.com> * config/i386/i386.md: Typos in MMX/SSE immediate shifts. 2004-01-08 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_decide_inlining): Fix typo. 2004-01-08 Geoffrey Keating <geoffk@apple.com> * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset. (UNSPEC_FIX_TRUNC_TF): New constant. (movtf_internal): Make splitter active only when insn is active. (extenddftf2): Rewrite to properly load zero into low part. (extenddftf2_internal): New. (extendsftf2): Rewrite. (truncdftf2): Correct length. (floatditf2): Delete. (fix_trunc_helper): New. (fix_trunctfdi2): Use fix_trunc_helper. (fix_trunctfsi2): Likewise.fix_trunc (fix_trunctfsi2_internal): New. * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum addresses are legitimate on Darwin even when flag_pic. (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create non-offsettable addresses for loads of TFmode constants. 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section. 2004-01-09 Alan Modra <amodra@bigpond.net.au> * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure target_flags has MASK_POWERPC64 when -m64. * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64 to 620, 630, power3, power4 and rs64a entries. * config/rs6000/rs6000.h (MASK_64BIT): Expand comment. 2004-01-08 Richard Sandiford <rsandifo@redhat.com> * simplify-rtx.c (simplify_immed_subreg): Fix construction of floating-point constants. 2004-01-08 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (subrange_type_die): Add context_die parameter. Create the subrange_type DIE using the given context DIE. (modified_type_die): Update call to subrange_type_die. 2004-01-08 Zack Weinberg <zack@codesourcery.com> * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h: Add multiple-include guard. 2004-01-08 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept all vector constant loadable by vsplt*. (output_vec_const_move): Likewise. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/6024 * c-typeck.c (comptypes): Only treat enumerated types in the same translation unit as compatible with each other when they are the same type. * doc/extend.texi: Update. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/12165 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed array type from the array element type. 2004-01-07 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function. * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare. * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define. (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment. * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define. 2004-01-06 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Set to dwarf2. * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove. * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0 for irix as. (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as. * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove. * config/mips/iris5gas.h: Ditto. (DBX_DEBUGGING_INFO): Remove. (DWARF2_DEBUGGING_INFO): Ditto. (MIPS_DEBUGGING_INFO): Ditto. (PREFERRED_DEBUGGING_TYPE): Ditto. * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Ditto. (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto. * config/mips/elf64.h: Ditto. 2004-01-06 Jan Hubicka <jh@suse.cz> * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate. (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use. 2004-01-06 Geoffrey Keating <geoffk@apple.com> * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c. (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128. * config/rs6000/darwin-ldouble.c: New. * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for constants. (constant_subword): Delete. * rtl.h (constant_subword): Delete prototype. (immed_double_const): Is not in varasm.c. * simplify-rtx.c (simplify_immed_subreg): New. (simplify_subreg): Use simplify_immed_subreg. * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly. (fix_trunctfsi2): Use expand_fix rather than trying to generate RTL directly. * dwarf2out.c (add_const_value_attribute): Remove incorrect comment. 2004-01-06 David Edelsohn <edelsohn@gnu.org> * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each function into a separate macro. (read_only_data_section): Add void argument. (private_data_section): Same. (read_only_private_data_section): Same. (toc_section): Same. 2004-01-06 Jan Hubicka <jh@suse.cz> * invoke.texi: Remove typo in last change. PR target/10301 * config.gcc: Accept opteron and athlon-64 as variants of k8. * i386.c (override_options): Likewise. * invoke.texi (i386 -mtune): Expand documentation. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * alias.c: Fix comment typos. * builtins.c: Likewise. * cfg.c: Likewise. * df.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genrecog.c: Likewise. * gensupport.c: Likewise. * ggc-zone.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * recog.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reorg.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * sched-ebb.c: Likewise. * simplify-rtx.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * doc/install.texi: Fix typos. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed 2004-01-06 Jan Hubicka <jh@suse.cz> * i386.c (init_cumulative_args): Add handling of MMX_REGPARM. (function_arg_advance): Do not pass aggregates in SSE; deal handling of MMX_REGPARM. (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM; add MMX_REGPARM. * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields. (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI. (MMX_REGPARM_MAX): Similarly for -mmmx. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/sh/linux.h: Fix comment formatting. * config/sh/netbsd-elf.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.h: Likewise. * config/sh/vxworks.h: Likewise. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison. * toplev.c (output_file_directive): Don't use ASM_OUTPUT_MAIN_SOURCE_FILENAME. 2004-01-05 Daniel Berlin <dberlin@dberlin.org> * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS (USING_MMAP): We don't support non-mmap. (struct alloc_chunk): Steal 1 bit from typecode, use it to mark large objects. (struct page_entry): Remove bytes_free. (struct page_table_chain): Remove. (struct globals): Remove page_table member. (loookup_page_table_entry): Function deleted. (set_page_table_entry): Ditto. (ggc_allocated_p): No longer need page table lookups. (ggc_marked_p): Ditto. (alloc_small_page): Don't care about bytes_free anymore. (alloc_large_page): Round up size. (ggc_alloc_zone_1): Mark large objects as such, and calculate their size the new way. Remove page table lookups and setting. (ggc_get_size): Calculate large object size the new way. (sweep_pages): Redo to account for fact that we no longer have bytes_free. (ggc_collect): No longer need to reincrement bytes_free. (ggc_pch_alloc_object): Handle new large objects properly. (ggc_pch_read): Put PCH stuff into it's own uncollected zone. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove a page break. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (avr_output_function_prologue): Remove an extra pair of curly braces. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.c: Fix comment formatting. * config/mn10300/mn10300.h: Likewise. 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h: Update documentation on nothrow_flag. * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for types. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove traces of dead ports. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs option. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> PR target/12945 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for counter labels. * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete. (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P. (mips_symbol_insns): Don't trust the local/global classification. (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol. (override_options): Make -mabicalls -fno-unit-at-a-time imply -mno-explicit-relocs. (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish between local and global symbols. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare. (mips_preferred_reload_class): Declare. * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function. (EXTRA_CONSTRAINT): Update accordingly. (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class. * config/mips/mips.c (mips_dangerous_for_la25_p): New function. (mips_preferred_reload_class): New function. Prefer LEA_REGS if mips_dangerous_for_la25_p. (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS if mips_dangerous_for_la25_p. 2004-01-05 Bernardo Innocenti <bernie@develer.com> * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison warning. 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Use AC_PROG_CPP_WERROR. * configure: Regenerate. 2004-01-04 Zack Weinberg <zack@codesourcery.com> * .cvsignore: Add autom4te.cache. 2004-01-04 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Revamp documentation of MIPS options. Remove -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile, -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first, then architecture options, then ABI options. General rewording. 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk> PR c/3414 * doc/extend.texi: Clarify definition of malloc attribute. 2004-01-04 Jan Hubicka <jh@suse.cz> * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency. * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed * cgraph.h (cgraph_edge): Replace inline_call by inline_failed (cgraph_inline_p): Add extra argument reason. * cgraphunit.c: Minor formating fixes. cgraph_first_inlined_callee): New functions. (record_call_1): Record builtins too. (cgraph_analyze_function): Update inline_failed messages. (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into, cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed. (cgraph_check_inline_limits): Likewise; Add argument reason. (cgraph_set_inline_failed): New static function. (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set reasons. (cgraph_inline_p): Add new argument reason. * tree-inline.c (expand_call_inline): Update warning. 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM with modern equivalents. * configure: Regenerate. * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE. * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove. * configure: Regenerate. * doc/install.texi: Note that 'gcc' is now a 2.57 directory. * configure.in: Rename to configure.ac. * configure.ac: Renamed from configure.in; make minimum necessary changes for autoconf 2.5x. * aclocal.m4: Make minimum necessary changes for autoconf 2.5x. * configure: Regenerate with autoconf 2.57. 2004-01-03 Kazu Hirata <kazu@cs.umass.edu> * config/mips/linux.h: Fix comment formatting. * config/mips/mips.c: Likewise. * config/mips/mips.h: Likewise. * config/mips/mips.md: Likewise. * config/mips/netbsd.h: Likewise. * config/mips/windiss.h: Likewise. 2004-01-02 Richard Henderson <rth@redhat.com> * config/i386/i386.md (fp constant pool splitter): Reorg suppression for sse and 387; add suppression for mmx. 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu> * loop.c (loop_optimize): Free all loops_info's mems. * c-typeck.c (finish_init): Free spelling_base before setting it again. * cfgloop.c (flow_loops_find): Always free the sbitmap headers. * predict.c (estimate_probability): Free bbs after being done with it. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (PREDICATE_CODES): Add const_8bit_operand and call_address_operand. 2004-01-02 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls when there is nothing to inline but warnings are requested. (cgraph_decide_inlining): Fix memory leak. 2004-01-02 Jan Hubicka <jh@suse.cz> * expr.c (store_constructor): Fix pasto in previous patch. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/i386/cygming.h: Fix comment formatting. * config/i386/djgpp.h: Likewise. * config/i386/gthr-win32.c: Likewise. * config/i386/i386-interix.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/openbsd.h: Likewise. * config/i386/winnt.c: Likewise. * config/i386/xm-mingw32.h: Likewise. 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk> * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update copyright and last modification dates. 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de> * doc/install.texi (Specific): Mention x86_64. 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com> * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]: Call force_operand on plus_constant result. 2004-01-01 Jan Hubicka <jh@suse.cz> * expmed.c (store_bit_field, extract_bit_field): Use new named patterns * expr.c (store_constructor): Use vec_init pattern. * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init. * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init (vec_set_optab, vec_extract_optab, vec_init_optab): New. * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf): New patterns. (sse2_unpc?pd): Fix pattern. (sse2_movlpd): Kill. (sse2_movsd): Deal with movlpd too. * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd. (ix86_expand_vector_init): New. * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. * md.texi (vec_set, vec_extract): Document 2003-12-31 Jan Hubicka <jh@suse.cz> PR opt/13473 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside ASM input operands PR opt/12617 * toplev.c (dump_file_index): Reorder ce3 and bbro. (dump_file): Likewise. (rest_of_compilation): Likewise. PR debug/13367 * cgraph.c (cgraph_function_possibly_inlined): Even with flag_really_no_inline we inline always_inline functions. * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag for non-always_inline functions when there is flag_really_no_inline. (cgraph_decide_inlining): Limit work done when not inlining. (cgraph_decide_inlining_incrementally): Likewise. (cgraph_optimize_function): Check whether something got inlined. * c-objc-common.c (c_disregard_inline_limits): Do not always inline extern inline functions when not inlining. * opts.c (decode_options): Disable crossjumping at -O1 * invoke.texi (-O1): Document change. From-SVN: r76701
2003-12-30backport: et-forest.h (et_forest_create, [...]): Declarations removed.Steven Bosscher1-11/+8
Backport from tree-ssa (relevant changes only): 2003-12-18 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * et-forest.h (et_forest_create, et_forest_delete, et_forest_add_node, et_forest_add_edge, et_forest_remove_node, et_forest_remove_edge, et_forest_parent, et_forest_common_ancestor, et_forest_node_value, et_forest_enumerate_sons): Declarations removed. (struct et_node): New. (et_new_tree, et_free_tree, et_set_father, et_split, et_nca, et_below): Declare. * et-forest.c (struct et_forest_occurrence, struct et_forest, struct et_forest_node): Removed. (et_forest_create, et_forest_delete, et_forest_add_node, et_forest_add_edge, et_forest_remove_node, et_forest_remove_edge, et_forest_parent, et_forest_common_ancestor, et_forest_node_value, et_forest_enumerate_sons, splay, remove_all_occurrences, find_leftmost_node, find_rightmost_node, calculate_value): Removed. (struct et_occ): New. (et_nodes, et_occurences): New. (set_depth, set_depth_add, set_prev, set_next, et_recomp_min, et_check_occ_sanity, et_check_sanity, et_check_tree_sanity, record_path_before_1, record_path_before, check_path_after_1, check_path_after, et_splay, et_new_occ, et_new_tree, et_free_tree, et_set_father, et_split, et_nca, et_below): New. * basic-block.h (struct basic_block_def): New field dom. (struct dominance_info): Type removed. (calculate_dominance_info, free_dominance_info, nearest_common_dominator, set_immediate_dominator, get_immediate_dominator, dominated_by_p, get_dominated_by, add_to_dominance_info, delete_from_dominance_info, recount_dominator, redirect_immediate_dominators, iterate_fix_dominators, verify_dominators): Declarations changed. (enum dom_state): New. (dom_computed): New variable. (first_dom_son, next_dom_son): Declare. * dominance.c (struct dominance_info): Removed. (BB_NODE, SET_BB_NODE): Removed. (calculate_dominance_info, free_dominance_info, nearest_common_dominator, set_immediate_dominator, get_immediate_dominator, dominated_by_p, get_dominated_by, add_to_dominance_info, delete_from_dominance_info, recount_dominator, redirect_immediate_dominators, iterate_fix_dominators, verify_dominators, debug_dominance_info): Work over new datastructure. Access dominance datastructures through CFG. (assign_dfs_numbers, compute_dom_fast_query, first_dom_son, next_dom_son): New. * bt-load.c (dom): Variable removed. (augment_live_range, combine_btr_defs, migrate_btr_def, migrate_btr_defs, branch_target_load_optimize): Updated for the new interface for dominance information. * cfg.c {exit_entry_blocks): Update initializer. * cfglayout.c (copy_bbs): Removed loops argument. Updated for the new interface for dominance information. * cfglayout.h (copy_bbs): Declaration changed. * cfgloop.c (flow_loop_pre_header_find, flow_loops_cfg_dump, flow_loop_scan, canonicalize_loop_headers, flow_loops_find): Updated for the new interface for dominance information. (flow_loop_scan): Loops argument removed. (flow_loops_free): Don't release dominators. * cfgloop.h (struct cfg): Dom field removed. (flow_loop_scan, loop_split_edge_with, simple_loop_p, just_once_each_iteration_p, split_loop_bb): Declaration changed. * cfgloopanal.c (simple_loop_exit_p, simple_increment, just_once_each_iteration_p, simple_loop_p): Remove loops argument. Updated for the new interface for dominance information. * cfgloopmanip.c (remove_bbs, find_path, create_preheader, split_loop_bb, loopify, duplicate_loop_to_header_edge, force_single_succ_latches, loop_split_edge_with): Ditto. * gcse.c (dominators): Variable removed. (free_code_hoist_mem, compute_code_hoist_data, hoist_code): Updated for the new interface for dominance information. * ifcvt.c (post_dominators): Variable removed. (mark_loop_exit_edges, merge_if_block, find_if_header, find_cond_trap, find_if_case_1, find_if_case_2, if_convert): Updated for the new interface for dominance information. * loop-init.c (rtl_loop_optimizer_init, rtl_loop_optimizer_finalize): Ditto. * loop-unroll.c (decide_peel_simple, decide_peel_once_rolling, decide_peel_completely, decide_unroll_stupid, decide_unroll_constant_iterations, decide_unroll_runtime_iterations): Loops argument removed. Updated for the new interface for dominance information. (unroll_and_peel_loops, peel_loops_completely, unroll_loop_runtime_iterations): Updated for the new interface for dominance information. * loop-unswitch.c (may_unswitch_on_p, unswitch_loops, unswitch_single_loop, unswitch_loop): Updated for the new interface for dominance information. * predict.c (process_note_predictions, process_note_prediction, estimate_probability, note_prediction_to_br_prob): Ditto. * sched-rgn.c (find_rgns, init_regions): Ditto. * toplev.c (rest_of_handle_branch_prob): Free the dominators. From-SVN: r75226
2003-12-21alias.c: Fix comment formatting.Kazu Hirata1-1/+1
* alias.c: Fix comment formatting. * alloc-pool.c: Likewise. * bitmap.c: Likewise. * bitmap.h: Likewise. * bt-load.c: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-decl.c: Likewise. * c-opts.c: Likewise. * c-pretty-print.c: Likewise. * caller-save.c: Likewise. * cfghooks.h: Likewise. * cgraph.c: Likewise. * collect2.c: Likewise. * cppfiles.c: Likewise. * cpplib.h: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * final.c: Likewise. * function.c: Likewise. * gcov.c: Likewise. * gcse.c: Likewise. * genemit.c: Likewise. * ggc.h: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * libgcc2.h: Likewise. * loop.c: Likewise. * predict.h: Likewise. * unwind-libunwind.c: Likewise. * varasm.c: Likewise. From-SVN: r74907
2003-12-11basic-block.h (BLOCK_HEAD, BLOCK_END): Remove.Steven Bosscher1-4/+4
2003-12-11 Steven Bosscher <steven@gcc.gnu.org> * basic-block.h (BLOCK_HEAD, BLOCK_END): Remove. (BLOCK_HEAD_TREE, BLOCK_END_TREE): Remove. (basic_block_def): Rename `head' to `head_' and `end' to `end_'. (BB_HEAD, BB_END): New accessor macros for the `head_' and `end_' fields of a basic block. * bb-reorder.c, bt-load.c, caller-save.c, cfg.c, cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgloopanal.c, cfgloopmanip.c, cfgrtl.c, combine.c, conflict.c, df.c, emit-rtl.c, final.c, flow.c, function.c, gcse.c, global.c, graph.c, haifa-sched.c, ifcvt.c, lcm.c, local-alloc.c, loop-unswitch.c, loop.c, postreload.c, predict.c, profile.c, ra-build.c, ra-debug.c, ra-rewrite.c, ra.c, recog.c, reg-stack.c, regclass.c, regmove.c, regrename.c, reload1.c, resource.c, sched-ebb.c, sched-rgn.c, sibcall.c, tracer.c, config/frv/frv.c, config/i386/i386.c, config/ia64/ia64.c: Use the BB_HEAD and BB_END macros instead of accessing the `head' and `end' fields of a basic block directly. * gengtype.c: Add missing piece from earlier patch. Dunno what I was thinking... From-SVN: r74520
2003-07-19alias.c [...]: Remove unnecessary casts.Kaveh R. Ghazi1-13/+8
* alias.c alloc-pool.c bitmap.c bitmap.h bt-load.c builtins.c c-common.c c-decl.c c-incpath.c c-lex.c c-opts.c c-parse.in c-pragma.c c-typeck.c calls.c cfg.c cfganal.c cfgloop.c cfgrtl.c collect2.c combine.c conflict.c coverage.c cppexp.c cppfiles.c cpphash.c cppinit.c cpplex.c cpplib.c cppmacro.c cppspec.c cpptrad.c cse.c cselib.c dbxout.c defaults.h df.c dominance.c dwarf2out.c dwarfout.c emit-rtl.c except.c expmed.c expr.c final.c fix-header.c flow.c fold-const.c function.c gcc.c gccspec.c gcov.c gcse.c genattr.c genattrtab.c genautomata.c genconditions.c genemit.c genextract.c genoutput.c genrecog.c gensupport.c ggc-page.c ggc-simple.c global.c graph.c haifa-sched.c hashtable.c integrate.c jump.c langhooks.c lcm.c line-map.c local-alloc.c loop.c mips-tdump.c mips-tfile.c mkdeps.c optabs.c params.c postreload.c prefix.c print-tree.c protoize.c ra-build.c ra-colorize.c ra-rewrite.c ra.c recog.c reg-stack.c regclass.c regmove.c regrename.c reload.c reload1.c reorg.c resource.c sbitmap.c sched-deps.c sched-rgn.c sched-vis.c sdbout.c simplify-rtx.c ssa-ccp.c ssa.c stmt.c stor-layout.c timevar.c tlink.c toplev.c tree-dump.c tree.c unroll.c unwind-dw2-fde.c varasm.c varray.c vmsdbgout.c xcoffout.c: Remove unnecessary casts. From-SVN: r69587
2003-07-05bt-load.c: Fix comment typos.Kazu Hirata1-1/+1
* bt-load.c: Fix comment typos. * c-incpath.c: Likewise. * cfg.c: Likewise. * cfgcleanup.c: Likewise. * cfgloop.h: Likewise. * cfgloopmanip.c: Likewise. * cfgrtl.c: Likewise. * diagnostic.h: Likewise. * dwarfout.c: Likewise. * emit-rtl.c: Likewise. * et-forest.c: Likewise. * et-forest.h: Likewise. * expr.c: Likewise. * gcse.c: Likewise. * genattr.c: Likewise. * jump.c: Likewise. * langhooks.h: Likewise. * local-alloc.c: Likewise. * loop-unroll.c: Likewise. * loop-unswitch.c: Likewise. * ra-build.c: Likewise. * regclass.c: Likewise. * regmove.c: Likewise. * rtl.def: Likewise. * rtlanal.c: Likewise. * sched-ebb.c: Likewise. * sched-rgn.c: Likewise. * simplify-rtx.c: Likewise. * ssa.c: Likewise. * tracer.c: Likewise. * tree.c: Likewise. From-SVN: r68975
2003-06-29alloc-pool.c: Fix comment formatting.Kazu Hirata1-9/+9
* alloc-pool.c: Fix comment formatting. * bitmap.c: Likewise. * bitmap.h: Likewise. * bt-load.c: Likewise. * builtins.c: Likewise. * caller-save.c: Likewise. * cfganal.c: Likewise. * cfgrtl.c: Likewise. * collect2.c: Likewise. * cse.c: Likewise. * df.c: Likewise. * diagnostic.c: Likewise. * dwarf2out.c: Likewise. * dwarfout.c: Likewise. * expmed.c: Likewise. * final.c: Likewise. * flags.h: Likewise. * fold-const.c: Likewise. * gcc.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * libgcov.c: Likewise. * mips-tfile.c: Likewise. * optabs.c: Likewise. * prefix.c: Likewise. * rtlanal.c: Likewise. * stmt.c: Likewise. * stor-layout.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. * vmsdbgout.c: Likewise. From-SVN: r68672
2003-06-25Makefile.in (bt-load.o): Depend on $(TM_P_H).Kaveh R. Ghazi1-0/+1
* Makefile.in (bt-load.o): Depend on $(TM_P_H). * bt-load.c: Include "tm_p.h". From-SVN: r68482
2003-06-23basic-block.h: Fix comment formatting.Kazu Hirata1-22/+22
* basic-block.h: Fix comment formatting. * bt-load.c: Likewise. * builtins.c: Likewise. * c-common.c: Likewise. * c-common.h: Likewise. * c-format.c: Likewise. * coverage.c: Likewise. * cpplib.h: Likewise. * cpppch.c: Likewise. * dbxout.c: Likewise. * diagnostic.c: Likewise. * dwarf2out.c: Likewise. * expr.c: Likewise. * fold-const.c: Likewise. * function.c: Likewise. * gcc.c: Likewise. * gcov-io.c: Likewise. * gcov-io.h: Likewise. * gcov.c: Likewise. * profile.c: Likewise. * real.h: Likewise. * sched-deps.c: Likewise. From-SVN: r68369
2003-06-22* bt-load.c: Follow spelling conventions.Kazu Hirata1-1/+1
From-SVN: r68342
2003-06-19* bt-load.c (migrate_btr_defs): Correct printf arguments.Andreas Jaeger1-2/+3
From-SVN: r68192
2003-06-19bt-load.c (migrate_btr_def): Conditionalize calls to insn_default_latency ↵Hans-Peter Nilsson1-1/+4
and result_ready_cost. * bt-load.c (migrate_btr_def) [INSN_SCHEDULING]: Conditionalize calls to insn_default_latency and result_ready_cost. Initialize def_latency to 1. From-SVN: r68172
2003-06-18bt-load.c: New file.Stephen Clarke1-0/+1380
2003-06-18 Stephen Clarke <stephen.clarke@superh.com> J"orn Rennecke <joern.rennecke@superh.com> * bt-load.c: New file. * Makefile.in (OBJS): Include bt-load.o (bt-load.o): Add dependencies. * flags.h (flag_branch_target_load_optimize): Declare. (flag_branch_target_load_optimize2): Likewise. * hooks.c (hook_reg_class_void_no_regs): New function. (hook_bool_bool_false): Likewise. * hooks.h (hook_reg_class_void_no_regs, hook_bool_bool_false): Declare. * rtl.h (branch_target_load_optimize): Declare. * target-def.h (TARGET_BRANCH_TARGET_REGISTER_CLASS): Define. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. (TARGET_INITIALIZER): Include these. * target.h (struct gcc_target): Add branch_target_register_class and branch_target_register_callee_saved members. * toplev.c (enum dump_file_index): Add DFI_branch_target_load (dump_file) Add "tars" entry. (flag_branch_target_load_optimize): New variable. (flag_branch_target_load_optimize2): Likewise. (lang_independent_options): Add entries for new options. (rest_of_compilation): Call branch_target_load_optimize. * doc/tm.texi (TARGET_BRANCH_TARGET_REGISTER_CLASS): Document. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. * doc/invoke.texi: Document -fbranch-target-load-optimize and -fbranch-target-load-optimize2. * rtl.h (epilogue_completed): Declare. * recog.c (epilogue_completed): New variable. * toplev.c (rest_of_compilation): Set it. * flow.c (mark_regs_live_at_end): Use it. * config/ia64/ia64.c (ia64_output_mi_thunk): Set it. * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise. * config/sh/sh.c (sh_output_mi_thunk): Likewise. * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise. * sh.c (shmedia_space_reserved_for_target_registers): New variable. (sh_target_reg_class): New function. (sh_optimize_target_register_callee_saved): Likwise. (shmedia_target_regs_stack_space): Likewise. (shmedia_reserve_space_for_target_registers_p): Likewise. (shmedia_target_regs_stack_adjust): Likewise. (TARGET_BRANCH_TARGET_REGISTER_CLASS): Override. (TARGET_BRANCH_TARGET_REGISTER_CALLEE_SAVED): Likewise. (calc_live_regs): If flag_branch_target_load_optimize2 and TARGET_SAVE_ALL_TARGET_REGS is enabled, and we have space reserved for target registers, make sure that we save all target registers. (sh_expand_prologue, sh_expand_epilogue): Take target register optimizations into account. Collapse stack adjustments if that is beneficial. (initial_elimination_offset): Reserve space for target registers if necessary. * sh.h (SAVE_ALL_TR_BIT, TARGET_SAVE_ALL_TARGET_REGS): Define. (OPTIMIZATION_OPTIONS): Enable flag_branch_target_load_optimize. Co-Authored-By: J"orn Rennecke <joern.rennecke@superh.com> From-SVN: r68165