This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog Makefile.in genattr.c genatt ...
- From: jakub at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 10 Mar 2003 16:20:40 -0000
- Subject: gcc/gcc ChangeLog Makefile.in genattr.c genatt ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: gcc-3_2-rhl8-branch
Changes by: jakub at gcc dot gnu dot 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 at redhat dot 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