gcc/gcc ChangeLog Makefile.in genattr.c genatt ...

jakub@gcc.gnu.org jakub@gcc.gnu.org
Mon Mar 10 16:20:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_2-rhl8-branch
Changes by:	jakub@gcc.gnu.org	2003-03-10 16:20:40

Modified files:
	gcc            : ChangeLog Makefile.in genattr.c genattrtab.c 
	                 haifa-sched.c rtl.def rtl.h sched-deps.c 
	                 sched-ebb.c sched-int.h sched-rgn.c sched-vis.c 
	                 target-def.h target.h 
	gcc/config/ia64: ia64-protos.h ia64.c ia64.h ia64.md 
	gcc/doc        : md.texi passes.texi tm.texi 

Log message:
	2003-03-03  Vladimir Makarov  <vmakarov@redhat.com>
	
	Backport of the dfa scheduler and itanium insn bundling:
	
	* Makefile.in: Adding entries genautomata. Modifying entries for
	sched-rgn.o, sched-vis.o, sched-ebb.o, genattrtab.o.
	
	* genattr.c (main): Modify it.
	
	* genattrtab.c: (attr_printf, check_attr_test,
	write_function_unit_info, make_internal_attr, make_numeric_value,
	main): Modify them.
	
	* haifa-sched.c (NEXT_Q, NEXT_Q_AFTER, insn_cost,
	rank_for_schedule, schedule_insn, queue_to_ready,
	debug_ready_list, move_insn, schedule_block, set_priorities,
	sched_init, sched_finish): Modify them.
	(MAX_INSN_QUEUE_INDEX, max_insn_queue_index_macro_value,
	curr_state, dfa_state_size, ready_try, ready_element,
	ready_remove, advance_one_cycle, find_set_reg_weight, max_issue,
	choose_ready, insert_schedule_bubbles_p): New functions, macros,
	global variables.
	(DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY, LAUNCH_PRIORITY,
	DONE_PRIORITY_P, LOW_PRIORITY_P): Remove them.
	
	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
	PRESENCE_SET, FINAL_PRESENCE_SET, ABSENCE_SET, FINAL_ABSENCE_SET,
	DEFINE_BYPASS, DEFINE_AUTOMATON, AUTOMATA_OPTION,
	DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New declarations.
	
	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
	
	* sched-deps.c (add_dependence, add_dependence, set_sched_group_p,
	sched_analyze_insn, sched_analyze, compute_forward_dependences,
	free_deps): Modify them.
	(remove_dependence, group_leader): Remove them.
	
	* sched-ebb.c (init_ready_list, schedule_ebb): Modify them.
	
	* sched-int.h (curr_state, print_insn): New definitions.
	
	* sched-rgn.c (init_ready_list, can_schedule_ready_p, new_ready,
	add_branch_dependences, debug_dependencies, schedule_region):
	Modify them.
	(ABS_VALUE, MIN_PROB_DIFF, MIN_DIFF_PRIORITY): Remove them.
	
	* sched-vis.c (get_visual_tbl_length, print_insn): Modify them.
	
	* target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK,
	TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
	TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_INIT_DFA_BUBBLES,
	TARGET_SCHED_DFA_BUBBLE): New macros.
	(TARGET_SCHED_CYCLE_DISPLAY): Remove it.
	
	* target.h (cycle_display): Remove it.
	(dependencies_evaluation_hook, use_dfa_pipeline_interface,
	init_dfa_pre_cycle_insn, dfa_pre_cycle_insn,
	init_dfa_post_cycle_insn, dfa_post_cycle_insn,
	first_cycle_multipass_dfa_lookahead,
	first_cycle_multipass_dfa_lookahead_guard, dfa_new_cycle,
	init_dfa_bubbles, dfa_bubble): New members.
	
	* config/ia64/ia64-protos.h (ia64_st_address_bypass_p,
	ia64_ld_address_bypass_p, ia64_produce_address_p): New
	definitions.
	
	* config/ia64/ia64.c (ia64_tune, ia64_tune_string, bundling_p,
	TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK,
	TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
	TARGET_SCHED_DFA_NEW_CYCLE, ia64_reorg_p, bundle_name,
	ia64_final_schedule, _0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_,
	_0mbb_, _0mib_, _0mmb_, _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_,
	_1mmf_, _1bbb_, _1mbb_, _1mib_, _1mmb_, _1mfb_, _1mlx_,
	dfa_stop_insn, last_scheduled_insn, dfa_state_size,
	temp_dfa_state, prev_cycle_state, stops_p, stop_before_p,
	clocks_length, clocks, add_cycles,
	ia64_first_cycle_multipass_dfa_lookahead_guard,
	dfa_pre_cycle_insn, ia64_dfa_new_cycle, bundle_state,
	bundle_states_num, allocated_bundle_states_chain,
	free_bundle_state_chain, get_free_bundle_state,
	get_free_bundle_state, initiate_bundle_states,
	finish_bundle_states, bundle_state_table, bundle_state_hash,
	bundle_state_eq_p, insert_bundle_state,
	initiate_bundle_state_table, finish_bundle_state_table, ia64_nop,
	try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
	get_template, get_next_important_insn, bundling,
	final_emit_insn_group_barriers, ia64_use_dfa_pipeline_interface,
	ia64_first_cycle_multipass_dfa_lookahead,
	ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn,
	ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
	ia64_produce_address_p): New macros, functions, variables.
	(TARGET_SCHED_CYCLE_DISPLAY, ia64_safe_itanium_requires_unit0,
	bundle, ia64_packet, ia64_packet packets, type_names,
	itanium_split_issue, sched_data, sched_ready, sched_types,
	insn_matches_slot, finish_last_head, cycle_end_fill_slots,
	rotate_one_bundle, rotate_two_bundles, packet_matches_p,
	get_split, find_best_insn, find_best_packet, itanium_reorder,
	dump_current_packet, schedule_stop, maybe_rotate, prev_cycle,
	prev_first, nop_cycles_until, cycle_display, gen_nop_type,
	ia64_emit_nops): Remove them.
	(ia64_override_options, group_barrier_needed_p, get_bundle_name,
	ia64_adjust_cost, ia64_emit_insn_before, ia64_sched_init,
	ia64_internal_sched_reorder, ia64_sched_reorder,
	ia64_variable_issue, ia64_sched_finish, ia64_reorg): Modify them.
	
	* config/ia64/ia64.h (MASK_EARLY_STOP_BITS,
	TARGET_EARLY_STOP_BITS, processor_type, ia64_tune,
	ia64_tune_string, CPU_UNITS_QUERY): New macros, type, variables.
	(TARGET_OPTIONS): Modify them.
	
	* config/ia64/ia64.md: Add dfa pipeline descriptions.  Remove old
	description.
	(cpu): New attribute.
	(itanium_class): Add nop, pre_cycle.
	
	* doc/md.texi: Describe dfa model and scheduler.
	
	* doc/tm.texi: Describe the new target hooks.
	
	* genattrtab.h: New file.
	
	* genautomata.c: New file.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.13152.2.657.2.27.2.81&r2=1.13152.2.657.2.27.2.82
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.830.2.15.4.7&r2=1.830.2.15.4.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genattr.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.48&r2=1.48.12.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/genattrtab.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.110&r2=1.110.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/haifa-sched.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.193.2.1.4.1.2.1&r2=1.193.2.1.4.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.def.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.54&r2=1.54.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/rtl.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.331.2.2.4.3&r2=1.331.2.2.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/sched-deps.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.34.6.1.2.2&r2=1.34.6.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/sched-ebb.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.8.12.3&r2=1.8.12.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/sched-int.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.18.2.1.4.1.2.1&r2=1.18.2.1.4.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/sched-rgn.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.32.2.3.8.1&r2=1.32.2.3.8.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/sched-vis.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.17&r2=1.17.10.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target-def.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.18.10.3&r2=1.18.10.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/target.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.20.10.3&r2=1.20.10.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64-protos.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.36.2.2.8.2&r2=1.36.2.2.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.c.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.139.2.15.8.5&r2=1.139.2.15.8.6
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.h.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.99.2.8.8.3&r2=1.99.2.8.8.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/ia64/ia64.md.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.79.2.3.8.2&r2=1.79.2.3.8.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/md.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.36.2.3&r2=1.36.2.3.4.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/passes.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.7.10.1&r2=1.7.10.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/tm.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_2-rhl8-branch&r1=1.102.2.5.2.1.2.3&r2=1.102.2.5.2.1.2.4



More information about the Gcc-cvs mailing list