1. 09 Nov, 2004 1 commit
    • builtins.c, [...]: Avoid "`" as left quote, using "'" or %q, %< and %> as appropriate. · 9e637a26
      	* builtins.c, c-common.c, c-decl.c, c-format.c, c-format.h,
      	c-parse.in, c-pch.c, c-pragma.c, collect2.c, final.c, gcc.c,
      	gcov.c, opts.c, pretty-print.h, protoize.c, reg-stack.c, rtl.c,
      	tlink.c, config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
      	config/avr/avr.c, config/c4x/c4x.c, config/darwin.c,
      	config/frv/frv.c, config/h8300/h8300.c, config/i386/i386.c,
      	config/i386/winnt.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
      	config/iq2000/iq2000.c, config/m32r/m32r.c,
      	config/m68hc11/m68hc11.c, config/m68k/m68k.c, config/m68k/m68k.h,
      	config/mcore/mcore.c, config/mips/mips.c, config/mmix/mmix.c,
      	config/ns32k/ns32k.c, config/rs6000/host-darwin.c,
      	config/rs6000/rs6000.c, config/s390/s390.c, config/sh/sh.c,
      	config/sh/symbian.c, config/stormy16/stormy16.c,
      	config/v850/v850.c: Avoid "`" as left quote, using "'" or %q, %<
      	and %> as appropriate.  Use %' as apostrophe in diagnostics where
      	applicable.  Use %< and %> in place of '' quotes where applicable.
      	Use %qs in place of %<%s%>.  Consistently quote __builtin function
      	names.
      
      ada:
      	* misc.c (gnat_handle_option): Use %< and %> for quoting in
      	warning message.
      
      cp:
      	* call.c, class.c, decl.c, decl2.c, error.c, mangle.c, parser.c,
      	pt.c, search.c, semantics.c, typeck.c: Use %q, %< and %> for
      	quoting in diagnostics.
      	* parser.c (cp_parser_sizeof_operand): Use '' instead of `' for
      	quoting in printf format.
      	* decl.c (duplicate_decls, start_decl): Use %qD instead of
      	unquoted %D.
      
      objc:
      	* objc-act.c: Use %q, %< and %> for quoting in diagnostics.
      
      testsuite:
      	* gcc.dg/builtin-prefetch-1.c: Adjust expected messages.
      
      From-SVN: r90337
      Joseph Myers committed
  2. 09 Sep, 2004 1 commit
    • ra-build.c (copy_insn_p, [...]): Use gcc_assert and gcc_unreachable instead of abort. · 41374e13
      	* ra-build.c (copy_insn_p, remember_move, defuse_overlap_p_1,
      	live_out_1, prune_hardregs_for_mode, init_one_web_common,
      	reinit_one_web, add_subweb, add_subweb_2, init_web_parts,
      	record_conflict, compare_and_free_webs, init_webs_defs_uses,
      	parts_to_webs_1, parts_to_webs, reset_conflicts,
      	check_conflict_numbers, remember_web_was_spilled, handle_asm_insn,
      	ra_build_free): Use gcc_assert and gcc_unreachable instead of abort.
      	* ra-colorize.c (push_list, put_web, reset_lists, put_web_at_end,
      	put_move, remove_move, combine, select_spill, colorize_one_web,
      	try_recolor_web, insert_coalesced_conflicts, check_colors,
      	break_precolored_alias, restore_conflicts_from_coalesce,
      	sort_and_combine_web_pairs, check_uncoalesced_moves): Likewise.
      	* ra-rewrite.c (spill_coalescing, slots_overlap_p, emit_loads,
      	reloads_to_loads, rewrite_program2, emit_colors): Likewise.
      	* ra.c (first_hard_reg, create_insn_info, find_subweb, init_ra,
      	check_df): Likewise.
      	* real.c (do_add, do_multiply, do_divide, do_compare, do_fix_trunc,
      	real_arithmetic, real_compare, real_exponent, real_ldexp,
      	real_identical, real_to_integer, real_to_integer2, real_to_decimal,
      	real_to_hexadecimal, real_from_integer, ten_to_ptwo, ten_to_mptwo,
      	real_digit, real_nan, real_maxval, round_for_format, real_convert,
      	real_to_target, real_from_target, real_hash, encode_ieee_single,
      	encode_ieee_double, encode_ieee_extended, encode_ieee_quad,
      	encode_vax_f, encode_vax_d, encode_vax_g, encode_i370_single,
      	encode_i370_double, encode_c4x_single, encode_c4x_extended): Likewise.
      	* recog.c (validate_change, validate_replace_rtx_1, asm_operand_ok,
      	extract_insn, peep2_next_insn, peep2_reg_dead_p,
      	peep2_find_free_register, peephole2_optimize, store_data_bypass_p,
      	if_test_bypass_p): Likewise.
      	* reg-stack.c (record_label_references, get_asm_operand_n_inputs,
      	stack_result, remove_regno_note, get_hard_regnum, emit_pop_insn,
      	emit_swap_insn, swap_to_top, move_for_stack_reg,
      	subst_stack_regs_pat, subst_asm_stack_regs, change_stack,
      	compensate_edge, convert_regs_1): Likewise.
      	* regclass.c (init_reg_sets, init_reg_sets_1,
      	memory_move_secondary_cost): Likewise.
      	* regrename.c (note_sets, clear_dead_regs, scan_rtx_reg, scan_rtx):
      	Likewise.
      	* reload.c (push_secondary_reload, find_valid_class, push_reload,
      	operands_match_p, decompose, immune_p, find_reloads,
      	find_reloads_toplev, find_reloads_address_1, subst_reloads,
      	copy_replacements, refers_to_regno_for_reload_p,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (compute_use_by_pseudos, replace_pseudos_in, reload,
      	count_pseudo, find_reg, eliminate_regs, eliminate_regs_in_insn,
      	verify_initial_elim_offsets, finish_spills, clear_reload_reg_in_use,
      	reload_reg_free_p, reload_reg_reaches_end_p, reloads_conflict,
      	choose_reload_regs, merge_assigned_reloads, emit_input_reload_insns,
      	do_output_reload, fixup_abnormal_edges): Likewise.
      	* reorg.c (stop_search_p, emit_delay_sequence, get_jump_flags,
      	fill_slots_from_thread, relax_delay_slots): Likewise.
      	* resource.c (mark_referenced_resources, mark_set_resources):
      	Likewise.
      	* rtl.c (copy_rtx, rtx_equal_p): Likewise.
      	* rtlanal.c (insn_dependent_p, reg_overlap_mentioned_p,
      	dead_or_set_p, find_reg_fusage, remove_note, replace_rtx,
      	subreg_lsb_1, subreg_regno_offset, subreg_offset_representable_p,
      	find_first_parameter_load, can_hoist_insn_p, hoist_update_store,
      	hoist_insn_after, hoist_insn_to_edge, nonzero_bits1): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* sbitmap.c (sbitmap_difference): Likewise.
      	* sched-deps.c (add_dependence, sched_analyze_1, sched_analyze_2,
      	sched_analyze, add_forward_dependence): Likewise.
      	* sched-ebb.c (fix_basic_block_boundaries, schedule_ebb): Likewise.
      	* sched-rgn.c (debug_regions, compute_trg_info, schedule_region,
      	schedule_insns): Likewise.
      	* sched-vis.c (print_pattern): Likewise.
      	* sdbout.c (sdbout_symbol, sdbout_toplevel_data): Likewise.
      	* simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
      	simplify_const_relational_operation, simplify_ternary_operation,
      	simplify_immed_subreg, simplify_subreg, simplify_gen_subreg):
      	Likewise.
      	* sreal.c (copy, sreal_sub, sreal_div): Likewise.
      	* stmt.c (force_label_rtx, expand_goto, expand_asm_operands,
      	resolve_operand_name_1, expand_return, expand_decl,
      	expand_anon_union_decl, emit_case_bit_tests, expand_case): Likewise.
      	* stor-layout.c (put_pending_size, smallest_mode_for_size,
      	int_mode_for_mode, layout_decl, finish_builtin_struct, layout_type,
      	set_sizetype, get_mode_bounds): Likewise.
      
      From-SVN: r87244
      Nathan Sidwell committed
  3. 18 Aug, 2004 1 commit
    • insn-notes.def, [...]: New files. · 826c9564
      	* insn-notes.def, reg-notes.def: New files.
      	* rtl.h: Use them to define enum insn_note and enum reg_note.
      	* rtl.c: Use them to define note_insn_name and reg_note_name.
      
      	* modulo-sched.c, sched-rgn.c, final.c: NOTE_DISABLE_SCHED_OF_BLOCK
      	renamed to NOTE_INSN_DISABLE_SCHED_OF_BLOCK.
      
      From-SVN: r86212
      Zack Weinberg committed
  4. 16 Aug, 2004 1 commit
    • Makefile.in (BUILD_PREFIX, [...]): Delete. · 45c8116d
      	* Makefile.in (BUILD_PREFIX, BUILD_PREFIX_1): Delete.
      	(BUILD_RTL, BUILD_PRINT, BUILD_ERRORS, BUILD_VARRAY): Update.
      	(genobjs): Add build-rtl.o, build-print-rtl.o, build-varray.o.
      	(genobjs static pattern rule): Remove %.c dependency.
      	($(BUILD_PREFIX_1)rtl.o, print-rtl.o, $(BUILD_PREFIX_1)varray.o):
      	Rename rules; delete commands; fix dependencies.
      	(mostlyclean): Do not delete temporary source copies.
      	* configure.ac: Delete all references to BUILD_PREFIX and
      	BUILD_PREFIX_1.
      	* configure: Regenerate.
      
      	* print-rtl.c: Include bconfig.h #ifdef GENERATOR_FILE.
      	Do not include tree.h, real.h, flags.h, hard-reg-set.h, or
      	basic-block.h #ifdef GENERATOR_FILE.  Surround some more code
      	with #ifndef GENERATOR_FILE so that nothing from those headers
      	is used.
      
      	* rtl.c, varray.c: Include bconfig.h #ifdef GENERATOR_FILE.
      
      From-SVN: r86083
      Zack Weinberg committed
  5. 14 Aug, 2004 1 commit
  6. 29 Jul, 2004 1 commit
    • rtl.c (currently_expanding_to_rtl): New. · 4586b4ca
      	* rtl.c (currently_expanding_to_rtl): New.
      	* rtl.h (currently_expanding_to_rtl): Export it.
      	* cfgexpand.c (tree_cfg_expand): Set/clear it at entry/exit.
      
      	* config/alpha/alpha.c (alpha_expand_mov): Remove old RTL
      	inliner hack.
      	* config/sh/sh.c: Replace rtx_equal_function_value_matters
      	with currently_expanding_to_rtl.
      	* config/sh/sh.md: Likewise.
      	* config/ia64/ia64.c (got_symbolic_operand): Likewise.
      
      From-SVN: r85287
      Steven Bosscher committed
  7. 27 Jul, 2004 1 commit
    • cfgexpand.c (tree_expand_cfg): Fix comment. · 3fbd86b1
      	* cfgexpand.c (tree_expand_cfg): Fix comment.
      
      	* calls.c (expand_call): Ignore rtx_equal_function_value_matters.
      	* function.c (purge_single_hard_subreg_set, purge_hard_subreg_sets):
      	Remove.
      	(prepare_function_start): Don't set rtx_equal_function_value_matters.
      	* integrate.c (copy_rtx_and_substitute): Don't test for it.
      	* passes.c (rest_of_compilation): Don't call purge_hard_subreg_sets.
      	Don't set rtx_equal_function_value_matters.  Don't register RTL hooks
      	here again.  Update leading comment.
      	* rtl.c (rtx_equal_function_value_matters): Remove.
      	(rtx_equal_p): Don't test for it.
      	* simplify-rtx.c (simplify_binary_operation, simplify_subreg):
      	Likewise.
      
      	* rtl.h (enum insn_note): Remove NOTE_INSN_LOOP_END_TOP_COND.
      	* rtl.c (note_insn_name): Likewise.
      	* emit-rtl.c (remove_unnecessary_notes): Don't handle it.
      	* final.c (final_scan_insn): Likewise.
      
      	* except.c (finish_eh_generation): Don't call cfg_cleanup from here.
      	* passes.c (rest_of_handle_eh): Do it here.
      
      	* stmt.c (struct nesting): Remove struct nesting block member.
      	(struct stmt_status): Remove x_block_start_count field.
      	(current_block_start_count): Remove.
      
      From-SVN: r85228
      Steven Bosscher committed
  8. 25 Jul, 2004 1 commit
    • basic-block.h (reorder_block_def): Rename to reorder_block_def_p. · 28dab132
      	* basic-block.h (reorder_block_def): Rename to reorder_block_def_p.
      	* c-common.c: Add missing casts from void * to other types.
      	* c-decl.c: Likewise.
      	* c-format.c: Likewise.
      	* c-lex.c: Likewise.
      	* c-pragma.c: Likewise.
      	* c-typeck.c: Likewise.
      	* defaults.h: Likewise.
      	* genconstants.c: Likewise.
      	* gengtype-lex.l: Likewise.
      	* genmodes.c: Likewise.
      	* read-rtl.c: Likewise.
      	* rtl.c: Likewise.
      
      From-SVN: r85166
      Bernardo Innocenti committed
  9. 21 Jul, 2004 1 commit
    • rtl.h (insn_note): Remove NOTE_INSN_PREDICTION. · 07a236b6
      	* rtl.h (insn_note): Remove NOTE_INSN_PREDICTION.
      	* rtl.c (note_insn_name): Likewise.
      	* print-rtl.c (print_rtx): Don't print it.
      	* cfgrtl.h (can_delete_note_p): Don't handle it.
      	(rtl_delete_block): Likewise.
      	* passes.c (rest_of_handle_guess_branch_prob): Remove.
      	(rest_of_compilation): Don't call it.
      	* predict.c (process_note_predictions, process_note_prediction,
      	note_prediction_to_br_prob): Remove.
      	* basic-block.c (note_prediction_to_br_prob): Remove prototype.
      	* stmt.c (return_prediction): Remove.
      	(expand_value_return): Don't call it.  Don't add prediction
      	notes for return statements.
      
      From-SVN: r85016
      Steven Bosscher committed
  10. 17 Jul, 2004 1 commit
    • cfgcleanup.c (try_simplify_condjump): Don't remove line notes to avoid unreachable code warnings. · 165b54c3
      	* cfgcleanup.c (try_simplify_condjump): Don't remove line
      	notes to avoid unreachable code warnings.
      	* toplev.c (backend_init): Don't emit line notes for
      	unreachable code warnings.
      
      	* combine.c (distribute_notes): Don't distribute a
      	REG_VTABLE_REF note.
      	* final.c (final_scan_insn): Don't handle it.
      	* rtl.c (reg_note_name): Remove it.
      	* rtl.h (enum reg_node): Dito.
      
      	* emit-rtl.c (force_line_numbers, restore_line_number_status):
      	Remove.
      	* rtl.h (force_line_numbers, restore_line_number_status):
      	Remove prototypes.
      
      	* stmt.c (using_eh_for_cleanups_p, using_eh_for_cleanups): Move...
      	* tree-eh.c (using_eh_for_cleanups_p): ...here.  Make static.
      	(using_eh_for_cleanups): Also moved here.
      
      	* expr.c (expand_expr_real_1) <CASE_LABEL_EXPR>: Die if we see one.
      	<SWITCH_EXPR>: Die if we have a non-NULL SWITCH_BODY.  Update calls
      	to expand_start_case and add_case_node.
      	* stmt.c (struct nesting): Cleanup unused fields condition_code,
      	last_unconditional_cleanup, nominal_type, printname, and
      	line_number_status.
      	(struct fixup_goto): Remove.
      	(struct stmt_status): Remove x_goto_fixup_chain field.
      	(goto_fixup_chain): Remove.
      	(strip_default_case_nodes, group_case_nodes, emit_jump_if_reachable,
      	pushcase, pushcase_range): Remove.
      	(expand_start_bindings_and_block): Don't set unused fields in
      	the nesting stack.
      	(expand_start_case, add_case_node): Cleanup unused formal arguments.
      	(expand_end_case_type): Don't simplify the case-list.  Use emit_jump
      	instead of emit_jump_if_reachable.
      	(emit_case_nodes): Likewise.
      	* tree-cfg.c (group_case_labels, cleanup_dead_labels): No longer
      	static.
      	(update_eh_label): Work around left-over exception handing regions.
      	* tree-flow.h (group_case_labels, cleanup_dead_labels): Add protos.
      	* tree-optimize.c (execute_cleanup_cfg_post_optimizing): New function.
      	(pass_cleanup_cfg_post_optimizing): New pass.
      	(init_tree_optimization_passes): Run the new pass after all
      	optimizations.
      	* tree.h (pushcase, pushcase_range): Remove prototypes.
      	(expand_start_case, add_case_node): Update prototypes.
      
      cp/
      	* cp-tree.h (struct lang_type): Don't have three GTY options on a
      	single bit GTY desc.
      
      java/
      	* parse.y (java_complete_expand_methods, java_expand_classes): Don't
      	abuse restore_line_number_status.
      
      From-SVN: r84849
      Steven Bosscher committed
  11. 14 Jul, 2004 1 commit
    • expr.c (enqueue_insn, [...]): Remove. · ad76cef8
      2004-07-14  Paolo Bonzini  <bonzini@gnu.org>
      
      	* expr.c (enqueue_insn, finish_expr_for_function,
      	protect_from_queue, queued_subexp_p, mark_queue,
      	emit_insns_enqueued_after_mark, emit_queue,
      	expand_increment): Remove.
      	(store_constructor): Expand increment as an assignment.
      	(expand_expr_real_1 <case PREINCREMENT_EXPR,
      	case PREDECREMENT_EXPR, case POSTINCREMENT_EXPR,
      	case POSTDECREMENT_EXPR>): Abort.
      	* expr.h (QUEUED_VAR, QUEUED_INSN, QUEUED_COPY,
      	QUEUED_BODY, QUEUED_NEXT, finish_expr_for_function,
      	protect_from_queue, emit_queue, queued_subexp_p): Remove.
      	* function.h (pending_chain, x_pending_chain): Remove.
      	* rtl.def (QUEUED): Remove.
      
      	* emit-rtl.c (copy_insn_1, copy_most_rtx,
      	set_used_flags, verify_rtx_sharing): Remove references to QUEUED.
      	* genattrtab.c (attr_copy_rtx, clear_struct_flag,
      	encode_units_mask): Likewise.
      	* local-alloc.c (equiv_init_varies_p): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	* simplify-rtx.c (simplify_gen_subreg): Likewise.
      	* config/mn10300/mn10300.c (legitimate_pic_operand_p): Likewise.
      
      	* builtins.c (expand_builtin, expand_builtin_apply,
      	expand_builtin_mathfn, expand_builtin_mathfn_2,
      	expand_builtin_mathfn_3, expand_builtin_setjmp_setup):
      	Remove calls to emit_queue and protect_from_queue.
      	* calls.c (expand_call, precompute_arguments,
      	precompute_register_parameters, rtx_for_function_call,
      	store_one_arg): Likewise.
      	* dojump.c (do_compare_and_jump, do_jump): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (clear_by_pieces_1, clear_storage,
      	clear_storage_via_libcall, emit_group_load,
      	emit_group_store, emit_store_flag,
      	expand_expr_real_1, store_by_pieces,
      	store_constructor, store_expr, try_casesi,
      	try_tablejump): Likewise.
      	* function.c (expand_pending_sizes): Likewise.
      	* optabs.c (emit_cmp_and_jump_insns,
      	emit_conditional_add, emit_conditional_move,
      	expand_fix, expand_float, prepare_cmp_insn): Likewise.
      	* stmt.c (emit_case_bit_tests,
      	expand_asm_expr, expand_computed_goto,
      	expand_decl_init, expand_end_case_type,
      	expand_end_stmt_expr, expand_expr_stmt_value,
      	expand_return, expand_start_case,
      	optimize_tail_recursion): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      	* config/s390/s390.c (s390_expand_cmpmem): Likewise.
      
      From-SVN: r84675
      Paolo Bonzini committed
  12. 04 Jul, 2004 1 commit
    • rtl.def (ADDRESSOF): Remove. · 8fff4fc1
      	* rtl.def (ADDRESSOF): Remove.
      	* alias.c (rtx_equal_for_memref_p): Don't handle addressof.
      	(find_base_term, memrefs_conflict_p): Likewise.
      	* cse.c (fixed_base_plus_p, find_best_addr: Likewise.
      	(fold_rtx, cse_insn, set_live_p): Likewise.
      	* dwarf2out.c (mem_loc_descriptor): Likewise.
      	(add_location_or_const_value_attribute): Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* explow.c (memory_address): Likewise.
      	* expmed.c (store_split_bit_field): Likewise.
      	* expr.c (expand_expr_real_1): Likewise.
      	* function.c (instantiate_decl
      	(instantiate_virtual_regs_1, fix_lexical_addr): Likewise.
      	* genrecog.c (preds, validate_pattern): Likewise.
      	* integrate.c (copy_rtx_and_substitute): Likewise.
      	* recog.c (general_operand, register_operand): Likewise.
      	(memory_address_p): Likwise.
      	* reload1.c (eliminate_regs, elimination_effects): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtlanal.c (rtx_unstable_p, rtx_varies_p): Likewise.
      	(rtx_addr_can_trap_p, nonzero_address_p, address_cost): Likewise.
      	* rtlhooks.c (gen_lowpart_general): Likewise.
      	* stmt.c (expand_asm_operands): Likewise.
      	* web.c (entry_register, replace_ref, web_main): Likewise.
      	* config/alpha/alpha.c (input_operand, alpha_legitimate_address_p,
      	alpha_expand_block_move, alpha_expand_block_clear): Likewise.
      	* config/arm/arm.c (thumb_rtx_costs): Likewise.
      	* config/c4x/c4x.c (c4x_valid_operands): Likewise.
      	* config/frv/frv.c (move_destination_operand, move_source_operand,
      	condexec_dest_operand, condexec_source_operand,
      	condexec_memory_operand): Likewise.
      	* config/h8300/h8300.h (PREDICATE_CODES): Likewise.
      	* config/ia64/ia64.c (general_xfmode_operand): Likewise.
      	(destination_xfmode_operand): Likewise.
      	* config/mips/mips.h (PREDICATE_CODES): Likewise.
      	* config/mn10300/mn10300.c (mn10300_address_cost_1): Likewise.
      	* config/s390/s390.c (general_s_operand): Likewise.
      	* config/s390/s390.md (mov*): Likewise.
      	* config/sparc/sparc.h (PREDICATE_CODES): Likewise.
      
      	* c-typeck.c (c_mark_addressable): Don't put_var_into_stack.
      	* expr.c (expand_expr_real_1): Likewise.
      	* stmt.c (expand_decl): Likewise.
      	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
      
      	* function.c (struct fixup_replacement, struct insns_for_mem_entry,
      	postponed_insns, put_var_into_stack, put_reg_into_stack,
      	schedule_fixup_var_refs, fixup_var_refs, find_fixup_replacement,
      	fixup_var_refs_insns, fixup_var_refs_insns_with_hash,
      	fixup_var_refs_insn, fixup_var_refs_1, fixup_memory_subreg,
      	walk_fixup_memory_subreg, fixup_stack_1, optimize_bit_field,
      	gen_mem_addressof, flush_addressof, put_addressof_into_stack,
      	purge_bitfield_addressof_replacements, purge_addressof_replacements,
      	purge_addressof_1, insns_for_mem_hash, insns_for_mem_comp,
      	struct insns_for_mem_walk_info, insns_for_mem_walk,
      	compute_insns_for_mem, is_addressof, purge_addressof, setjmp_protect,
      	setjmp_protect_args): Remove.
      	(push_function_context_to): Don't handle var_refs_queue.
      	(pop_function_context_from, free_after_compilation): Likewise.
      	(instantiate_virtual_regs): Don't handle parm_reg_stack_loc.
      	(assign_parms, allocate_struct_function): Likewise.
      	(use_register_for_decl): New.
      	(expand_function_end): Don't setjmp_protect.
      	* function.h (struct emit_status): Update commentary.
      	(struct function): Remove x_max_parm_reg, x_parm_reg_stack_loc.
      	(max_parm_reg, parm_reg_stack_loc): Remove.
      	* passes.c (DFI_addressof): Remove.
      	(dump_file_info): Remove addressof.
      	(rest_of_handle_addressof): Remove.
      	(rest_of_compilation): Don't call it.
      	* rtl.h (ADDRESSOF_REGNO, ADDRESSOF_DECL): Remove.
      	* stmt.c (expand_decl): Use use_register_for_decl.
      	* tree.h: Update decls.
      	* web.c (mark_addressof): Remove.
      	* doc/invoke.texi (-dF): Remove.
      
      ada/
              * utils2.c (gnat_mark_addressable): Don't put_var_into_stack.
      cp/
              * typeck.c (cxx_mark_addressable): Don't put_var_into_stack.
      fortran/
              * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
      treelang/
              * treetree.c (tree_mark_addressable):  Don't put_var_into_stack.
      
      From-SVN: r84072
      Richard Henderson committed
  13. 09 Apr, 2004 1 commit
    • basic-block.h (struct edge_def): Add new field, crossing_edge. · 750054a2
      2004-04-09  Caroline Tice  <ctice@apple.com>
      
              * basic-block.h (struct edge_def):  Add new field, crossing_edge.
              (struct basic_block_def):  Add new field, partition.
              (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION):  New constant macro
              definitions.
              (partition_hot_cold_basic_blocks): Add extern function
              declaration.
              * bb-reorder.c (function.h, obstack.h, expr.h, regs.h):  Add four new
              include statements.
              (N_ROUNDS): Increase the maximum number of rounds by 1.
              (branch_threshold): Add array value for new round.
              (exec_threshold): Add array value for new round.
              (push_to_next_round_p): New function.
              (add_unlikely_executed_notes): New function.
              (find_rarely_executed_basic_blocks_and_crossing_edges): New function.
              (mark_bb_for_unlikely_executed_section): New function.
              (add_labels_and_missing_jumps): New function.
              (add_reg_crossing_jump_notes): New function.
              (fix_up_fall_thru_edges): New function.
              (find_jump_block): New function.
              (fix_crossing_conditional_branches): New function.
              (fix_crossing_unconditional_branches): New function.
              (fix_edges_for_rarely_executed_code): New function.
              (partition_hot_cold_basic_blocks): New function.
              (find_traces):  Add an extra round for partitioning hot/cold
              basic blocks.
              (find_traces_1_round): Add a parameter.  Modify to push all cold blocks,
              and only cold blocks, into the last (extra) round of collecting traces.
              (better_edge_p): Add a parameter.  Modify to favor non-crossing edges
              over crossing edges.
              (bb_to_key):  Add code to correctly identify cold blocks when
              doing partitioning.
              (connect_traces): Modify to connect all the non-cold traces first, then
              go back and connect up all the cold traces.
              (reorder_basic_blocks):  Add call to add_unlikely_executed_notes.
              * cfg.c (entry_exit_blocks): Add initialization for partition field in
              entry and exit blocks.
              * cfgbuild.c (make_edges): Update current_function_has_computed_jump
              if we are doing hot/cold partitioning.
              * cfgcleanup.c (cfglayout.h): Add new include statement.
              (try_simplify_condjump): Modify to not attempt on blocks with jumps
              that cross section boundaries.
              (try_forward_edges): Likewise.
              (merge_blocks_move_predecessor_nojumps): Likewise.
              (merge_blocks_move_successor_nojumps): Likewise.
              (merge_blocks_move): Likewise.
              (try_crossjump_to_edge): Modify to not attempt after we have done
              the block partitioning.
              (try_crossjump_bb): Modify to not attempt on blocks with jumps that
              cross section boundaries.
              (try_optimize_cfg): Likewise.
              * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect
              jumps that cross section boundaries.
              * cfglayout.c (flags.h): Add new include statement.
              (update_unlikely_executed_notes):  New function.
              (fixup_reorder_chain):  Add code so when a new jumping basic block is
              added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are
              updated appropriately.
              (duplicate_insn_chain):  Add code to duplicate the new NOTE insn
              introduced by this optimization.
              * cfglayout.h (scan_ahead_for_unlikely_executed_note):  Add new
              extern function declaration.
              * cfgrtl.c (can_delete_note_p):  Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to
              list of notes that can be deleted.
              (create_basic_block_structure):  Add initialization for partition field.
              (rtl_can_merge_blocks):  Modify to test blocks for jumps that cross
              section boundaries.
              (try_redirect_by_replacing_jump):  Modify to not attempt on jumps that
              cross section boundaries.
              (commit_one_edge_insertion): Add code so newly created basic block
              ends up in correct (hot or cold) section.  Modify to disallow
              insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes.
              (rtl_verify_flow_info_1):  Add code to verify that no fall_thru edge
              crosses section boundaries.
              (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that
              cross section boundaries.
              (force_nonfallthru_and_redirect): Modify to make sure new basic block
              ends up in correct section, with correct notes attached.
              * common.opt (freorder-blocks-and-partition):  Add new flag for this
              optimization.
              * dbxout.c (dbx_function_end):  Add code to make sure scope labels at
              the end of functions are written into the correct (hot or cold)
              section.
              (dbx_source_file): Add code so writing debug file information
              doesn't incorrectly change sections.
              * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use
              in partitioning hot/cold basic blocks into separate sections.
              (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold
              section partitioning.
              (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not
              conditional branches can span all of memory.
              (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not
              unconditional branches can span all of memory.
              * final.c (scan_ahead_for_unlikely_executed_note):  New function.
              (final_scan_insn):  Add code to check for NOTE instruction indicating
              whether basic block belongs in hot or cold section, and to make sure
              the current basic block is being written to the appropriate section.
              Also added code to ensure that jump table basic blocks end up in the
              correct section.
              * flags.h (flag_reorder_blocks_and_partition):  New flag.
              * ifcvt.c (find_if_case_1):  Modify to not attempt if conversion if
              one of the branches has a jump that crosses between sections.
              (find_if_case_2): Likewise.
              (ifcvt): Modify to not attempt to mark loop exit edges after
              hot/cold partitioning has occurred.
              * opts.c (decode_options): Code to handle new flag,
              flag_reorder_blocks_and_partition; also to turn it off if
              flag_exceptions is on.
              (common_handle_option): Code to handle new flag,
              flag_reorder_blocks_and_partition.
              * output.h (unlikely_text_section): New extern function declaration.
              (in_unlikely_text_section): New extern function declaration.
              * passes.c (rest_of_handle_stack_regs):  Add
              flag_reorder_blocks_and_partition as an 'or' condition for calling
              reorder_basic_blocks.
              (rest_of_handle_reorder_blocks):  Add flag_reorder_blocks_and_partition
              as an 'or' condition for calling reorder_basic_blocks.
              (rest_of_compilation):  Add call to partition_hot_cold_basic_blocks.
              * print-rtl.c (print_rtx): Add code for handling new note,
              NOTE_INSN_UNLIKELY_EXECUTED_CODE
              * rtl.c  (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below).
              (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that
              cross between section boundaries.
              * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE):  New note instruction,
              indicating the basic block containing it belongs in the cold section.
              (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross
              between hot and cold sections.
              * toplev.c (flag_reorder_blocks_and_partition):  Add code to
              initialize this flag, and to tie it to the command-line option
              freorder-blocks-and-partition.
              * varasm.c (cfglayout.h):  Add new include statement.
              (unlikely_section_label_printed):  New global variable, used for
              determining when to output section name labels for cold sections.
              (in_section):  Add in_unlikely_executed_text to enum data structure.
              (text_section):  Modify code to use SECTION_FORMAT_STRING and
              NORMAL_TEXT_SECTION_NAME macros.
              (unlikely_text_section):  New function.
              (in_unlikely_text_section):  New function.
              (function_section):  Add code to make sure beginning of function is
              written into correct section (hot or cold).
              (assemble_start_function):  Add code to make sure stuff is written to
              the correct section.
              (assemble_zeros):  Add in_unlikely_text_section as an 'or' condition
              to an if statement that was checking 'in_text_section'.
              (assemble_variable):  Add 'in_unlikely_text_section' as an 'or'
              condition to an if statement that was checking 'in_text_section'.
              (default_section_type_flags_1):  Add check: if in cold section
              flags = SECTION_CODE.
              * config/darwin.c (darwin_asm_named_section):  Modify to use
              SECTION_FORMAT_STRING if we are partitioning hot/cold blocks.
              * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro
              specifically for the i386.
              (HAS_LONG_UNCOND_BRANCH):  Defined this macro specifically for the i386.
              * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change
              text string to something more informative.
              (NORMAL_TEXT_SECTION_NAME): Add new definition.
              (SECTION_FORMAT_STRING):  Add new definition.
              * config/rs6000/rs6000.c (rs6000_assemble_integer):  Add
              '!in_unlikely_text_section' as an 'and' condition to an if statement
              that was already checking '!in_text_section'.
              * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME,
              UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make
              sure these are properly defined for linux on ppc.
              * doc/invoke.texi  (freorder-blocks-and-partition): Add documentation
              for this new flag.
              * doc/rtl.texi (REG_CROSSING_JUMP):  Add documentation for new
              reg_note.
              * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING,
              HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for
              these new macros.
      
      From-SVN: r80564
      Caroline Tice committed
  14. 03 Mar, 2004 2 commits
    • ggc-common.c (ggc_alloc_cleared_stat, [...]): Rename from ...; make statistics transparent. · b9dcdee4
      	* ggc-common.c (ggc_alloc_cleared_stat, ggc_realloc_stat):
      	Rename from ...; make statistics transparent.
      	(ggc_alloc_cleared, ggc_realloc_stat): ... these.
      	(loc_descriptor): New structure.
      	(hash_descriptor, eq_descriptor, loc_descriptor, cmp_statistics,
      	add_statistics):
      	New static function.
      	(ggc_record_overhead, dump_statistics): New global function.
      	* ggc-none.c (ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
      	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Rename
      	from ...; accept locations
      	(ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
      	ggc_realloc, ggc_alloc_typed):  ... this one.
      	from ...; accept locations
      	* ggc-page.c (ggc_alloc_typed_stat, ggc_alloc_zone_stat,
      	ggc_alloc_stat): Rename from ... ; pass locations
      	* ggc-page.c (ggc_alloc_typed, ggc_alloc_zone, ggc_alloc):
      	... this one.
      	(ggc_alloc_stat): Record overehead.
      	* ggc.h (ggc_alloc_types, ggc_alloc, ggc_alloc_zone, ggc_alloc_cleared,
      	ggc_realloc, ggc_alloc_typed):  Turn to macros
      	(ggc_alloc_types_stat, ggc_alloc_stat, ggc_alloc_zone_stat,
      	ggc_alloc_cleared_stat, ggc_realloc_stat, ggc_alloc_typed_stat): Declare.
      	(dump_ggc_loc_satistics, ggc_record_overehead): Declare.
      	* langhooks.h (lhd_make_node): Declare.
      	(LANG_HOOKS_MAKE_TYPE): Default to new function,
      	* langhooks.c (lhd_make_node): New.
      	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Rename from ... ; pass
      	locations.
      	(rtx_alloc, swallow_copy_rtx): ... this one.
      	* rtl.h (rtx_alloc, swallow_copy_rtx): Turn to macros.
      	* rtl.c (rtx_alloc_stat, swallow_copy_rtx_stat): Declare.
      	* toplpev.c (finalize): Dump stats.
      	* tree.c (make_node_stat, copy_node_stat, make_tree_vec_stat,
      	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
      	Rename from ... ; pass locators.
      	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
      	build?,  build_decl): Declare.
      	* tree.h (make_node_stat, copy_node_stat, make_tree_vec_stat,
      	build_tree_list_stat, tree_cons_stat, build?_stat,  build_decl_stat):
      	Declare.
      	(make_node, copy_node, make_tree_vec, build_tree_list, tree_cons,
      	build?,  build_decl): New macros.
      	* Makefile.in (RTL_H, TREE_H): Add statistics.h dependency.
      	* statistics.h: New file.
      
      From-SVN: r78826
      Jan Hubicka committed
    • alias.c (rtx_equal_for_memref_p): Use predicates to test rtx classes and new rtx class codes... · ec8e098d
      2004-02-07  Paolo Bonzini  <bonzini@gnu.org>
      
      	* alias.c (rtx_equal_for_memref_p): Use predicates
      	to test rtx classes and new rtx class codes, possibly
      	splitting conditionals that tested against '<' and 'o'.
      	* caller-save.c (save_call_clobbered_regs): Likewise.
      	* combine.c (contains_muldiv, find_split_point, subst,
      	combine_simplify_rtx, simplify_if_then_else,
      	simplify_set, simplify_logical, expand_compound_operation,
      	make_compound_operation, if_then_else_cond, known_cond,
      	apply_distributive_law, cached_nonzero_bits,
      	cached_num_sign_bit_copies, simplify_shift_const,
      	gen_binary, simplify_comparison, update_table_tick,
      	record_value_for_reg, get_lsat_value_validate): Likewise.
      	* cse.c (mention_regs, find_best_addr, find_comparison_args,
      	fold_rtx, cse_insn, invalidate_memory, cse_basic_block):
      	Likewise.
      	* emit-rtl.c (copy_insn_1): Likewise.
      	* expr.c (force_operand): Likewise.
      	* final.c (final_scan_insn, get_mem_expr_from_op): Likewise.
      	* flow.c (notice_stack_pointer_modification_1,
      	invalidate_mems_from_autoinc, ior_reg_cond, not_reg_cond,
      	and_reg_cond, elim_reg_cond): Likewise.
      	* function.c (update_epilogue_consts): Likewise.
      	* genattrtab.c (attr_rtx_1): Likewise.
      	* genopinit.c (gen_insn): Likewise.
      	* integrate.c (subst_constants): Likewise.
      	* jump.c (reversed_comparison_code_parts,
      	reversed_comparison_code, delete_related_insns,
      	rtx_renumbered_equal_p): Likewise.
      	* local-alloc.c (block_alloc): Likewise.
      	* loop.c (rtx_equal_for_prefetch_p, maybe_eliminate_biv,
      	canonicalize_condition): Likewise.
      	* loop-iv.c (simplify_using_conditions, iv_number_of_iterations):
      	Likewise.
      	* optabs.c (add_equal_node, expand_binop): Likewise.
      	* predict.c (estimate_probability): Likewise.
      	* ra-debug.c (ra_print_rtx_2op, ra_print_rtx): Likewise.
      	* recog.c (validate_replace_rtx_1, comparison_operator,
      	offsettable_address_p, constrain_operands): Likewise.
      	* reg-stack.c (swap_rtx_condition_1, subst_stack_regs_pat):
      	Likewise.
      	* regclass.c (scan_one_insn): Likewise.
      	* regmove.c (stable_and_no_regs_but_for_p): Likewise.
      	* regrename.c (kill_autoinc_value): Likewise.
      	* reload.c (find_reusable_reload, find_reloads,
      	reg_overlap_mentioned_for_reload_p): Likewise.
      	* reload1.c (gen_reload, delete_address_reloads_1): Likewise.
      	* rtl.c (copy_rtx): Likewise.
      	* rtl.h (CONSTANT_P, INSN_P): Likewise.
      	* rtlanal.c (commutative_operand_precedence): Likewise.
      	* sched-deps.c (conditions_mutex_p): Likewise.
      	* sched-rgn.c (is_cfg_nonregular): Likewise.
      	* simplify-rtx.c (simplify_gen_binary,
      	simplify_gen_relational, simplify_replace_rtx,
      	simplify_unary_operation, simplify_binary_operation,
      	simplify_ternary_operation, simplify_rtx): Likewise.
      	* unroll.c (reg_dead_after_loop): Likewise.
      	* config/alpha/alpha.c (alpha_swapped_comparison_operator,
      	print_operand): Likewise.
      	* config/arc/arc.c (proper_comparison_operator): Likewise.
      	* config/arm/arm.c (arm_arm_address_cost, arm_select_cc_mode):
      	Likewise.
      	* config/avr/avr.c (_reg_unused_after): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests,
      	frv_ifcvt_modify_insn, frv_pack_insn): Likewise.
      	* config/i386/i386.c (ix86_comparison_operator,
      	ix86_carry_flag_operator, fcmov_comparison_operator,
      	arith_or_logical_operator, print_operand,
      	ix86_expand_binary_operator, ix86_binary_operator_ok):
      	Likewise.
      	* config/i386/i386.md: Likewise.
      	* config/ia64/ia64.c (not_postinc_memory_operand,
      	ia64_print_operand, update_set_flags, errata_emit_nops):
      	Likewise.
      	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS,
      	CONSTRAINT_OK_FOR_S): Likewise.
      	* config/ip2k/ip2k.c (mdr_resequence_xy_yx,
      	mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
      	ip2k_xexp_not_uses_reg_for_mem, ip2k_xexp_not_uses_reg_p,
      	ip2k_composite_xexp_not_uses_reg_p, ip2k_unary_operator):
      	Likewise.
      	* config/iq2000/iq2000.c (cmp_op, symbolic_expression_p,
      	eqne_comparison_operator, signed_comparison_operator):
      	Likewise.
      	* config/mips/mips.c (cmp_op, symbolic_expression_p):
      	Likewise.
      	* config/mmix/mmix (mmix_foldable_comparison_operator,
      	mmix_comparison_operator): Likewise.
      	* config/pa/pa.c (hppa_legitimize_address): Likewise.
      	* config/rs6000/rs6000.c (stmw_operation,
      	branch_comparison_operator, trap_comparison_operator,
      	ccr_bit): Likewise.
      	* config/rs6000/rs6000.h (SELECT_CC_MODE): Likewise.
      	* config/s390/s390.c (s390_alc_comparison,
      	s390_slb_comparison):L Likewise.
      	* config/sh/sh.c (gen_block_redirect, reg_unused_after):
      	Likewise.
      	* config/sparc/sparc.c (eq_or_neq, normal_comp_operator,
      	noov_compare_op, noov_compare64_op, v9_regcmp_op,
      	emit_hard_tfmode_operation, reg_unused_after)
      	* doc/md.texi, doc/rtl.texi: Likewise.
      
      	* ra-debug.c: Add 2004 to list of copyright years.
      	* unroll.c: Likewise.
      
      	* combine.c (simplify_logical): Remove dummy test,
      	(apply_distributive_law): Fix typo in comment.
      	GET_CODE (x) == AND so x is a commutative binary op.
      	* jump.c (delete_related_insns): simplify loop
      	condition, move testing of RTX codes inside the loop.
      	(rtx_renumbered_equal_p): do not use RTX_CODE.
      	* rtl.c (rtx_class): Declare as enum rtx_class.
      	* rtl.def (EQ, NE, UNEQ, LTGT, UNORDERED, ORDERED):
      	Move to RTX_COMM_COMPARE class.
      	(HIGH, SYMBOL_REF, LABEL_REF, CONST, CONST_INT, CONST_DOUBLE):
      	Move to RTX_CONST_OBJ class.
      	* rtl.h (enum rtx_class): New declaration,
      	(RTX_OBJ_MASK, RTX_OBJ_RESULT, RTX_COMPARE_MASK,
      	RTX_COMPARE_RESULT, RTX_ARITHMETIC_MASK, RTX_ARITHMETIC_RESULT,
      	RTX_BINARY_MASK, RTX_BINARY_RESULT, RTX_COMMUTATIVE_MASK,
      	RTX_COMMUTATIVE_RESULT, RTX_NON_COMMUTATIVE_RESULT,
      	RTX_EXPR_FIRST, RTX_EXPR_LAST, UNARY_P, BINARY_P,
      	ARITHMETIC_P, COMMUTATIVE_ARITHMETIC_P, COMPARISON_P,
      	SWAPPABLE_OPERANDS_P, NON_COMMUTATIVE_P, COMMUTATIVE_P,
      	OBJECT_P): New macros.
      	* config/sparc/sparc.c (noov_compare_op): Remove register
      	from parameter.
      
      From-SVN: r78824
      Paolo Bonzini committed
  15. 27 Feb, 2004 1 commit
  16. 06 Feb, 2004 1 commit
    • Josef Zlomek <zlomekj@suse.cz> · 014a1138
      	Josef Zlomek  <zlomekj@suse.cz>
      	* Makefile.in (var-tracking.o): New.
      	* common.opt (fvar-tracking): New.
      	* flags.h (flag_var_tracking): New.
      	* gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
      	* opts.c (common_handle_option): Add OPT_fvar_tracking.
      	* print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
              * rtl.c (note_insn_name): Likewise.
              * rtl.def (VAR_LOCATION): New.
              * rtl.h (NOTE_VAR_LOCATION): New.
              (NOTE_VAR_LOCATION_DECL): New.
              (NOTE_VAR_LOCATION_LOC): New.
              (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
              (variable_tracking_main): New exported function.
              * timevar.def (TV_VAR_TRACKING): New.
              * toplev.c (enum dump_file_index): Added DFI_vartrack.
              (dump_file): "vartrack" was added (-dV).
              (flag_var_tracking): New.
              (f_options): "var-tracking" was added.
      	(rest_of_handle_variable_tracking): New function.
              (rest_of_compilation): Run variable tracking.
      	(process_options): If user has not specified flag_var_tracking set it
      	according to optimize, debug_info_level and debug_hooks.
      	* tree.h (frame_base_decl): New.
              * var-tracking.c: New file.
      	* config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
      	(ia64_override_options): Set flags to run variable tracking in machine
      	dependent reorg instead of toplev.c.
      	(ia64_reorg): Run variable tracking if wanted.
              * doc/invoke.texi: Mention variable tracking in -dV,
      	add and -fvar-tracking.
              * doc/passes.texi: Added variable tracking pass.
      
      	Daniel Berlin <dberlin@dberlin.org>
      	* debug.h (struct gcc_debug_hooks): Added var_location debug hook.
      	* dbxout.c (dbx_debug_hooks): Likewise.
      	(xcoff_debug): Likewise.
      	* debug.c (do_nothing_debug_hooks): Likewise.
      	* dwarf2out.c (dwarf2_debug_hooks): Likewise.
      	* dwarfout.c (dwarf_debug_hooks): Likewise.
      	* sdbout.c (sdb_debug_hooks): Likewise.
      	* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
      	* final.c (final_scan_insn): Call var_location debug hook for each
      	NOTE_INSN_VAR_LOCATION.
      
      Co-Authored-By: Daniel Berlin <dberlin@dberlin.org>
      
      From-SVN: r77418
      Josef Zlomek committed
  17. 21 Jan, 2004 1 commit
    • alias.c, [...]: Update copyright. · d9221e01
      	* 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.
      
      From-SVN: r76302
      Kazu Hirata committed
  18. 20 Jan, 2004 1 commit
  19. 22 Dec, 2003 1 commit
    • Patch from Dan Nicolaescu · 439a7e54
      * rtl.h (dump_rtx_statistics): Declare it.
      * rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
      rtx_alloc_sizes): New static vars.
      (rtx_alloc, rtvec_alloc): Update them.
      (dump_rtx_statistics): New function.
      * toplev.c (finalize): Call it.
      * ggc-page.c (struct globals): Fix comments. Add new member
      total_allocated_per_order.
      (ggc_alloc): Keep track of the total allocated memory.
      (ggc_print_statistics): Clarify message. Print total allocated
      memory stats.
      * configure.in (gather-detailed-mem-stats): New flag.
      * configure: Regenerate.
      * config.in: Regenerate.
      * doc/install.texi (Configuration): Document
      --enable-gather-detailed-mem-stats.
      
      From-SVN: r74930
      Dan Nicolaescu committed
  20. 04 Dec, 2003 1 commit
  21. 18 Oct, 2003 1 commit
    • rtl.h (rtl_size): Declare. · e1de1560
      	* rtl.h (rtl_size): Declare.
      	(rtunion): Remove rtwint.
      	(rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
      	(RTX_HDR_SIZE, RTX_SIZE): New macros.
      	(RTL_CHECK1): Adjust for new rtx_def layout.
      	(RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
      	(XWINT, XCWINT): Likewise.  Access the rtx structure directly.
      	(X0WINT): Remove.
      	(X0ANY): New macro.
      	* rtl.def: Adjust comments for new rtx_def layout.
      	* ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
      	number of slots.
      	* rtl.c (rtx_size): New array.
      	(rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
      	(copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	(shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
      	* integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
      	* emit-rtl.c (copy_most_rtx): Likewise.
      	(copy_rtx_if_shared): Use RTX_SIZE.
      	(copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
      	* gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
      	* gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
      	(adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
      	an array.  Adjust output for new rtx_def layout.
      	* ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
      	* reload1.c (eliminate_regs): Use RTX_SIZE.
      	* rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
      	* gdbinit.in (pi): Likewise.
      
      From-SVN: r72647
      Richard Sandiford committed
  22. 10 Oct, 2003 1 commit
    • genmodes.c, [...]: New files. · 0974c7d7
      	* genmodes.c, mode-classes.def: New files.
      	* machmode.def: Rewritten to genmodes.c interface.
      	* Makefile.in (extra_modes_file): New substitution variable.
      	(MACHMODE_H): No longer includes machmode.def or
      	@extra_modes_file@; instead, mode-classes.def and insn-modes.h.
      	(BUILD_RTL): Add $(BUILD_PREFIX)insn-modes.o.
      	(OBJS-common): Add insn-modes.o.
      	(STAGESTUFF): Add insn-modes.c, insn-modes.h, s-modes, and
      	genmodes$(build_exeext).
      	(insn-modes.o, insn-modes.c, insn-modes.h, s-modes, genmodes.o,
      	genmodes$(build_exeext), $(BUILD_PREFIX_1)insn-modes.o): New targets.
      	(s-genrtl): Don't depend on $(RTL_BASE_H).
      	(gengenrtl.o): Don't depend on coretypes.h, $(GTM_H), real.h,
      	or $(RTL_BASE_H); just rtl.def.
      	* gengenrtl.c: Don't include coretypes.h, tm.h, rtl.h, or
      	real.h.  Give fake definition of CONST_DOUBLE_FORMAT and
      	substitute definition of NUM_RTX_CODE.  Add casts to avoid
      	warnings.
      	* machmode.h: Include insn-modes.h, not machmode.def.  Include
      	mode-classes.def to define enum mode_class.  Tweak definitions
      	of GET_MODE_CLASS, GET_MODE_SIZE, GET_MODE_BITSIZE, GET_MODE_MASK,
      	GET_MODE_INNER, GET_MODE_WIDER_MODE, GET_CLASS_NARROWEST_MODE.
      	(inner_mode_array): Renamed mode_inner.
      	(mode_base_align): New.
      	* rtl.c (mode_name, mode_class, mode_bitsize, mode_size,
      	mode_unit_size, mode_wider_mode, mode_mask_array,
      	inner_mode_array, class_narrowest_mode): Delete definitions.
      	* stor-layout.c (get_mode_alignment): Use mode_base_align.
      	* real.h: Use MIN_MODE_FLOAT and MAX_MODE_FLOAT, not QFmode
      	and TFmode, in real_format_for_mode and REAL_MODE_FORMAT.
      
      	* config/ip2k/ip2k.h, config/iq2000/iq2000.h:
      	No need to define BITS_PER_UNIT.
      
      From-SVN: r72313
      Zack Weinberg committed
  23. 30 Jul, 2003 1 commit
    • combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes. · 6e885ee3
      	* combine.c (distribute_notes): Cancel REG_VALUE_PROFILE notes.
      	* gcov-io.h (GCOV_FIRST_VALUE_COUNTER, GCOV_LAST_VALUE_COUNTER,
      	GCOV_N_VALUE_COUNTERS): New.
      	* profile.c (compute_value_histograms): New static function.
      	(branch_prob): Read back the value histograms.
      	* rtl.c (reg_note_name): Add name for REG_VALUE_PROFILE note.
      	* rtl.h (enum reg_note): Add REG_VALUE_PROFILE note.
      	* value-prof.c: Add comment on reading the profile.
      	* value-prof.h (COUNTER_FOR_HIST_TYPE, HIST_TYPE_FOR_COUNTER): New.
      	* doc/invoke.texi (-fprofile-values): Document behavior with
      	-fbranch-probabilities.
      
      From-SVN: r69969
      Zdenek Dvorak committed
  24. 06 Jul, 2003 1 commit
    • jump.c: Convert prototypes to ISO C90. · 0c20a65f
      	* jump.c: Convert prototypes to ISO C90.
      	* langhooks-def.h: Likewise.  Add extern to prototypes.
      	* langhooks.c: Likewise.
      	* langhooks.h: Likewise.
      	* lcm.c: Likewise.
      	* local-alloc.c: Likewise.
      	* loop-init.c: Likewise.
      	* loop-unroll.c: Likewise.
      	* loop-unswitch.c: Likewise.
      	* loop.c: Likewise.
      	* loop.h: Likewise. Add extern to prototypes.
      	* machmode.h: Likewise.
      	* main.c: Likewise.
      	* mbchar.c: Likewise.
      	* mbchar.h: Likewise.
      	* mkdeps.c: Likewise.
      	* mkdeps.h: Likewise.
      	* optabs.c: Likewise.
      	* optabs.h: Likewise.
      	* output.h: Likewise.
      	* gccspec.c: Likwise.
      	* postreload.c: Likewise.
      	* prefix.c: Likewise.
      	* prefix.h: Likewise.
      	* print-rtl.c: Likewise.
      	* print-tree.c: Likewise.
      	* profile.c: Likewise.
      	* read-rtl.c: Likewise.
      	* real.c: Likewise.
      	* real.h: Likewise.
      	* recog.c: Likewise.
      	* recog.h: Likewise.
      	* reg-stack.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* regrename.c: Likewise.
      	* regs.h: Likewise.
      	* reload.c: Likewise.
      	* reload.h: Likewise.
      	* reload1.c: Likewise.
      	* reorg.c: Likewise.
      	* resource.c: Likewise.
      	* resource.h: Likewise.
      	* rtl-error.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl.h: Likewise.
      	* rtlanal.c: Likewise.
      
      From-SVN: r68998
      Andreas Jaeger committed
  25. 01 Jul, 2003 1 commit
    • combine.c (distribute_notes): Don't bother REG_WAS_0. · 6001794d
      	* combine.c (distribute_notes): Don't bother REG_WAS_0.
      	* cse.c (cse_insn): Likewise.
      	* final.c (final_scan_insn): Likewise.
      	* jump.c (duplicate_loop_exit_test): Likewise.
      	* rtl.c (reg_note_name): Remove REG_WAS_0.
      	* rtl.h (REG_WAS_0): Remove.
      	* unroll.c (final_reg_note_copy): Don't bother REG_WAS_0.
      	* config/avr/avr.c (output_movqi): Don't use reg_was_0.
      	(output_movhi): Likewise.
      	(output_movsisf): Likewise.
      	(reg_was_0): Remove.
      	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Don't use
      	REG_WAS_0.
      	(m68hc11_gen_movqi): Likewise.
      	* config/vax/vax-protos.h: Remove the prototype for
      	reg_was_0_p.
      	* config/vax/vax.c (follows_p): Remove.
      	(reg_was_0_p): Likewise.
      	* config/vax/vax.md (movsi): Don't use reg_was_0_p.
      	(movhi): Likewise.
      	(movqi): Likewise.
      	* doc/rtl.texi (REG_WAS_0): Remove.
      
      From-SVN: r68753
      Kazu Hirata committed
  26. 20 Feb, 2003 1 commit
  27. 26 Jan, 2003 1 commit
  28. 16 Dec, 2002 1 commit
  29. 14 Oct, 2002 1 commit
  30. 17 Sep, 2002 1 commit
    • machmode.def (V1DImode): New mode. · 256e9fd2
      * machmode.def (V1DImode): New mode.  A single element vector.
      * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
        (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
      * tree.c (build_common_tree_nodes_2): Build
        unsigned_V1DI_type_node and V1D1_type_node.
      * c-common.c (c_common_type_for_mode): Return
        unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
      * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
      
      From-SVN: r57248
      Nick Clifton committed
  31. 16 Sep, 2002 1 commit
    • Index: gcc/ChangeLog · 36a5eadd
      2002-09-12  Geoffrey Keating  <geoffk@apple.com>
      
      	* ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
      	mangling.
      
      	The following changes are merged from pch-branch:
      
      	* doc/gty.texi (GTY Options): Document %a.
      	* gengtype.c (do_scalar_typedef): New function.
      	(process_gc_options): Handle `length' option.
      	(set_gc_used_type): A pointer to an array of structures doesn't
      	qualify as a pointer to a structure.
      	(output_escaped_param): Add `%a' escape.
      	(write_gc_structure_fields): Allow 'desc' on array of unions.
      	(main): Define `uint8', `jword' and `JCF_u2' as scalars; use
      	do_scalar_typedef.
      
      	* gengtype.c (enum rtx_code): Make global.
      	(rtx_format): Make global.
      	(rtx_next): New.
      	(gen_rtx_next): New.
      	(write_rtx_next): New.
      	(adjust_field_rtx_def): Skip fields marked by chain_next.
      	(open_base_files): Delete redundant prototype.
      	(write_enum_defn): New.
      	(output_mangled_typename): Correct abort call.
      	(write_gc_marker_routine_for_structure): Handle chain_next and
      	chain_prev options.
      	(finish_root_table): Don't output redundant \n.
      	(main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
      	* c-tree.h (union lang_tree_node): Add chain_next option.
      
      	* gengtype.h (NUM_PARAM): New definition.
      	(struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
      	* gengtype.c (find_param_structure): New.
      	(adjust_field_type): Handle param<n>_is option.
      	(process_gc_options): Detect use_params option.  Update callers.
      	(set_gc_used_type): Add 'param' parameter, update callers.  Handle
      	'use_params' option.
      	(open_base_files): Add splay-tree.h to list of files included.
      	(output_mangled_typename): New.
      	(write_gc_structure_fields): Update 'param' parameter to support
      	multiple parameters.  Change name mangling.  Allow parameterized
      	fields to have an apparent scalar type.  Handle param<n>_is options,
      	use_param option.
      	(write_gc_marker_routine_for_structure): Update for change to name
      	mangling.  Better guess the output file for parameterized types.
      	(write_gc_types): Update for change to name mangling.
      	(write_gc_root): Update for change to name mangling.  Handle (ignore)
      	param<n>_is options.
      	* doc/gty.texi (GTY Options): Add description of param<n>_is
      	options, use_params option.
      	* ggc.h (ggc_mark_rtx): Update for changed name mangling.
      	* gengtype-lex.l: Produce token for param<n>_is.
      	* gengtype-yacc.y: Parse param<n>_is.
      
      	* gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
      
      	* rtl.c: Update comment describing rtx_format.
      	* rtl.h (union rtunion): Separate definition and typedef.
      	(struct rtx_def): Use gengtype to mark.
      	* Makefile.in (gengtype.o): Also depend on rtl.def.
      	* ggc.h (ggc_mark_rtx_children): Delete prototype.
      	(ggc_mark_rtx): Change to alias of gengtype-generated routine.
      	* ggc-common.c (ggc_mark_rtx_children): Delete.
      	(ggc_mark_rtx_children_1): Delete.
      	(gt_ggc_m_rtx_def): Delete.
      	* gengtype.c (adjust_field_rtx_def): New.
      	(adjust_field_type): Call adjust_field_rtx_def.
      	(write_gc_structure_fields): Add 'default' case to switch if none
      	is specified; remove unused code.
      
      	* tree.h (struct tree_exp): Update for change to meaning
      	of special.
      	* gengtype.c (adjust_field_tree_exp): New function.
      	(adjust_field_type): Handle `tree_exp' special here.
      	(write_gc_structure_fields): Don't handle `tree_exp' special here.
      	Handle new `dot' option.
      
      	* gengtype.h: Make `info' a pointer-to-const.
      	* gengtype-yacc.y (yacc_ids): Use xasprintf.
      
      	* gengtype.c (write_gc_structure_fields): Remove implementation
      	of `always' option, add `default' option.
      	* doc/gty.texi (GTY Options): Remove documentation of `always',
      	add `default'.
      
      Index: gcc/cp/ChangeLog
      2002-09-12  Geoffrey Keating  <geoffk@apple.com>
      
      	* cp-tree.h (union lang_tree_node): Add chain_next option.
      
      Index: gcc/f/ChangeLog
      2002-09-12  Geoffrey Keating  <geoffk@apple.com>
      
      	* com.c (union lang_tree_node): Add chain_next option.
      
      Index: gcc/java/ChangeLog
      2002-09-12  Geoffrey Keating  <geoffk@apple.com>
      
      	* java-tree.h (union lang_tree_node): Add chain_next option.
      
      From-SVN: r57206
      Geoffrey Keating committed
  32. 04 Jun, 2002 1 commit
    • Tue Jun 4 19:29:42 CEST 2002 Jan Hubicka <jh@suse.cz> · 63f4a88e
      	* cfglayout.c (duplicate_insn_chain): Kill NOTE_INSN_RANGE notes.
      	* final.c (final_scan_insn): Likewise.
      	* ggc-common.c (ggc_mark_rtx_children_1): Likewise; use
      	NOTE_EXPECTED_VALUE instead of NOTE_RANGE.
      	* haifa-sched.c (unlink_other_notes): Likeewise.
      	(reemit_notes): Likewise.
      	* print-rtl.c (print_rtx): Likewise.
      	* sched-deps (sched-analyze): Likewise.
      	* rtl.c (note_insn_name): Likewise.
      	* rtl.h (NOTE_RANGE_INFO, NOTE_LIVE_INFO): Kill.
      	(enum insn_note): Kill NOTE_INSN_RANGE_*, NOTE_INSN_LIVE.
      	(RANGE_*): Kill.
      
      From-SVN: r54250
      Jan Hubicka committed
  33. 02 Jun, 2002 1 commit
    • loop.c (emit_prefetch_instructions): Properly place the address computation. · ba4f7968
      
      	* loop.c (emit_prefetch_instructions): Properly place the address computation.
      
      
      	* basic-block.h (basic_block_for_insn, BLOCK_FOR_INSN): Kill.
      	(set_block_for_insn): Turn into macro.
      	* cfgbuild.c (find_basic_block): Do not clear basic_block_for_insn.
      	* cfglayout.c (insn_scopes): Kill.
      	(scope_to_insns_initialize): Do not use insn_scopes.
      	(scope_to_insns_finalize): Likewise.
      	(duplicate_insn_chain): Likewise.
      	(cfg_layout_initialize, cfg_layout_finalize): Do not turn scopes to notes.
      	* cfgrtl.c (basic_block_for_insn): Kill.
      	(delete_insn_and_edges, delete_insn_chain_and_edges): Simplify.
      	(create_basic_block_structure): Use reorder_insns.
      	(compute_bb_for_insn): Do not use basic_block_for_insn.
      	(merge_blocks_nomove): Likewise.
      	(update_bb_for_insn): Likewise.
      	(verify_flow_info): Likewise.
      	(set_block_for_insn): Kill.
      	* combine.c (try_combine): Update gen_rtx_INSN call.
      	* emit-rtl.c (gen_label_rtx): Update gen_rtx_CODE_LABEL call.
      	(mark_insn_raw, make_jump_insn_raw, make_call_insn_raw): Clear
      	scopes and BBs.
      	(add_insn_after, add_insn_before, remove_insn, reorder_insns): Simplify.
      	(emit_note_before, emit_note_after, emit_line_note_after, emit_note):
      	Clear BB.
      	(emit_insns_after): Simplify.
      	(emit_copy_of_insn_after): Copy scope.
      	* final.c (final_start_function): Lower scopes.
      	* flow.c (check_function_return_warnings): Do not rely on deleted insn.
      	* integrate.c (copy_insn_list): Cope scopes.
      	* jump.c (duplicate_loop_exit_test): LIkewise; simplify.
      	* loop.c (loop_optimize): Do not care block notes.
      	* print-rtl.c (print_rtx): Print BB.
      	* recog.c (apply_change_group): Simplify.
      	* rtl.c (copy_rtx): Handle 'B'.
      	* rtl.def (INSN, CALL_INSN, JUMP_INSN, NOTE): Add extra fields.
      	* rtl.h (Field accessors): Update indexes.
      	* sched-ebb.c (schedule_ebbs): Do not lower notes.
      	* sched-rgn.c (schedule_insns): Likewise.
      	* toplev.c (rest_of_compilation): Lower notes.
      	* unroll.c (unroll_loop): Do not care scoping notes.
      	(copy_loop_body): Copy scopes.
      
      From-SVN: r54188
      Jan Hubicka committed
  34. 09 May, 2002 1 commit
    • read-rtl.c: Fix formatting. · a6a2274a
      	* read-rtl.c: Fix formatting.
      	* real.c: Likewise.
      	* recog.c: Likewise.
      	* regclass.c: Likewise.
      	* regmove.c: Likewise.
      	* reg-stack.c: Likewise.
      	* reload1.c: Likewise.
      	* reload.c: Likewise.
      	* resource.c: Likewise.
      	* rtlanal.c: Likewise.
      	* rtl.c: Likewise.
      	* rtl-error.c: Likewise.
      
      From-SVN: r53313
      Kazu Hirata committed
  35. 08 May, 2002 2 commits
    • rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, and use it in all… · 2d4cc6a7
      rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name, and use it in all invocations of these macros.
      
      	* rtl.h (RTL_FLAG_CHECK*): Add an argument for the macro name,
      	and use it in all invocations of these macros.  Clean up comments.
      	* rtl.c (rtl_check_failed_flag): Add an argument for the name
      	of the flag access macro whose check failed.
      	* doc/rtl.texi (Flags): Document additional flag uses.
      
      From-SVN: r53306
      Janis Johnson committed
    • cfglayout.c (function_tail_eff_head): Rename to ... · 969d70ca
      	* cfglayout.c (function_tail_eff_head): Rename to ...
      	(function_footer): ... this one.
      	(unlink_insn_chain): New functions.
      	(label_for_bb): Only call block_label and emit debug message.
      	(record_effective_endpoints): Actually unlink the headers and footers.
      	(fixup_reorder_cahin): Re-insert the unlinked sequences.
      	(cfg_layout_duplicate_bb): Use duplicate_insn_chain.
      	* cfglayout.h (struct reorder_block_def): New fields footer/header;
      	remove eff_head/eff_end.
      	* rtl.h (set_first_insn): Declare.
      	* emit-rtl.c (set_first_insn): New function.
      
      	* cfglayout.c (fixup_reorder_chain): Dump duplicated
      	(cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): New global function.
      	(duplicate_insn_chain): New static function.
      	* cfglayout.h (cfg_layout_can_duplicate_bb_p, cfg_layout_rerirect_edge,
      	cfg_layout_duplicate_bb): Declare.
      	(struct reorder_block_def): Add "original" field.
      	* emit-rtl.c (emit_copy_of_insn_after): New function.
      	* rtl.h (emit_copy_of_insn_after): Declare.
      
      	* cfglayout.c (fixup_fallthru_exit_predecessor): Kill.
      	(fixup_reorder_chain): properly handle edges to exit block.
      
      Wed May  8 11:10:31 CEST 2002  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
      			       Jan Hubicka  <jh@suse.cz>
      
      	* basic-block.h (note_prediction_to_br_prob): declare.
      	* c-semantics.c: Inlucde predit.h
      	(expand_stmt): predict GOTO_STMT as not taken.
      	* cfgcleanup.c: (delete_unreachable_blocks): Make global.
      	(cleanup_cfg): Do not free tail_recursion_list.
      	* cfgrtl.c (can_delete_note_p): Delete NOTE_INSN_PREDICTION.
      	(flow_delete_block): Kill predictions past end of basic block.
      	* output.h (delete_unreachable_blocks): Declare.
      	* predict.c (predicted_by_p, process_note_predictions,
      	process_note_prediction, last_block_p): New function.
      	(estimate_probability): Bypass loop on PRED_CONTINUE;
      	do not handle noreturn heuristics; kill PRED_RETURN; add
      	PRED_EARLY_RETURN.
      	* predict.def (PRED_CONTINUE, PRED_EARLY_RETURN, PRED_GOTO,
      	PRED_CONST_RETURN, PRED_NEGATIVE_RETURN, PRED_NULL_RETURN): New.
      	* predict.h (IS_TAKEN): New constant.
      	* print-rtl.c (print_rtx): Pretty print NOTE_INSN_PREDICTION.
      	* rtl.c (NOTE_INSN_PREDICTION): New.
      	* rtl.h (NOTE_PREDICTION, NOTE_PREDICTION_ALG, NOTE_PREDICTION_FLAGS):
      	New macro.
      	(insn_note): add NOTE_INSN_PREDICTION.
      	* sibcall.c (optimize_sibling_and_tail_recursive_call): Do not build
      	CFG; free tail_recursion_label_list.
      	* stmt.c: Include predict.h;
      	(return_prediction): New.
      	(expand_value_return): Use it.
      	* toplev.c: Lower NOTE_INSN_PREDICTION before sibcall.
      
      From-SVN: r53285
      Jan Hubicka committed
  36. 07 May, 2002 1 commit
    • rtl.h (struct rtx_def): Update comments. · 5a63e069
      	* rtl.h (struct rtx_def): Update comments.
      	(RTL_FLAG_CHECK[12345678]): New.  (rtl_check_failed_flag): Declare.
      	(RTL_FLAG): New.  (CLEAR_RTX_FLAGS): New.  (flag access macros): Use
      	RTL_FLAG_CHECK macros with list of expected RTL codes.
      	* rtl.c (copy_rtx, shallow_copy_rtx): Use RTX_FLAG macro.
      	(rtl_check_failed_flag): New.
      	* reload1.c (reload): Use REG macro before changing rtx to MEM.
      	(reload_cse_noop_set_p): Check rtx code before using access macro.
      	* config/ia64/ia64.c (process_for_unwind_directive): Check rtx code
      	before using access macro.
      
      From-SVN: r53245
      Janis Johnson committed
  37. 19 Apr, 2002 1 commit
    • real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as appropriate. · 46468cd9
      	* real.h: Define REAL_VALUE_TYPE_SIZE as 96 or 160, as
      	appropriate.  Document need for extended precision even when
      	MAX_LONG_DOUBLE_TYPE_SIZE is smaller.  Define REAL_WIDTH here,
      	based on REAL_VALUE_TYPE_SIZE.  Use REAL_WIDTH to size
      	REAL_VALUE_TYPE.  Define CONST_DOUBLE_FORMAT here.  Use #error
      	instead of relying on later syntax error when REAL_WIDTH > 5.
      	* real.c: Define NE based only on whether or not we have a
      	full 128-bit extended type (not INTEL_EXTENDED_IEEE_FORMAT).
      	Require sizeof(REAL_VALUE_TYPE) == 2*NE.  Unconditionally
      	define GET_REAL and PUT_REAL as simple memcpy operations; no
      	need to byteswap or round.
      	Use #error instead of #ifdef-ing out the entire file, for
      	prompt error detection.
      
      	* rtl.c, gengenrtl.c: No need to calculate CONST_DOUBLE_FORMAT here.
      
      From-SVN: r52502
      Zack Weinberg committed
  38. 08 Mar, 2002 1 commit