| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.in: Fix "the the" stutters in comments.
* genautomata.c: Ditto.
* ifcvt.c: Ditto.
* regrename.c: Ditto.
* config/alpha/alpha.c: Ditto.
* config/alpha/vms-crt0-64.c: Ditto.
* config/alpha/vms-crt0.c: Ditto.
* config/alpha/vms-psxcrt0-64.c: Ditto.
* config/alpha/vms-psxcrt0.c: Ditto.
* config/d30v/d30v.h: Ditto.
* config/fr30/fr30.h: Ditto.
* config/rs6000/rs6000.c: Ditto.
* config/stormy16/stormy16.h: Ditto.
* doc/md.texi: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56496 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
in output file.
(output_internal_min_issue_delay_func): Initialize variable in
output file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56450 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
emit_jump_insn): Fix uninitialized variable.
* gcov.c (init_line_info): Likewise.
* genautomata.c (transform_3): Add braces around ambiguous
else.
* ifcvt.c (cond_exec_process_insns): Mark parameter with
ATTRIBUTE_UNUSED.
* ra-build.c (parts_to_webs_1): Fix uninitialized variable.
* regrename.c (copyprop_hardreg_forward): Fix uninitialized
variable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@56182 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
FOR_EACH_BB_IN_SBITMAP): Remove.
* gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
* haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
* loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
* regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55685 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Default definition.
* gcse.c: Don't define obstack_chunk_free.
* collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
Don't define obstack macros.
cp:
* class.c, method.c, pt.c, search.c: Similarly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55665 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* genautomata.c (output_max_insn_queue_index_def): Take latencies
into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55269 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
| |
VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD,
DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL, DECL_PRESENCE,
DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV, REGEXP_UNIT,
REGEXP_RESERV, REGEXP_SEQUENCE, REGEXP_REPEAT, REGEXP_ALLOF,
REGEXP_ONEOF, check_name): Const-ify.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54898 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* genautomata.c (DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON,
DECL_EXCL, DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV,
DECL_INSN_RESERV, REGEXP_UNIT, REGEXP_RESERV, REGEXP_SEQUENCE,
REGEXP_REPEAT, REGEXP_ALLOF, REGEXP_ONEOF): New macros with
checking and without it.
(decl_name, decl_mode_check_failed, regexp_name,
regexp_mode_check_failed): New functions.
(gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
gen_presence_set, gen_absence_set, gen_automaton,
gen_regexp_repeat, gen_regexp_allof, gen_regexp_oneof,
gen_regexp_sequence, gen_reserv, gen_insn_reserv,
automaton_decl_hash, automaton_decl_eq_p): Use the macros.
(find_automaton_decl): Ditto. Set up mode of work_automaton_decl.
(insn_decl_hash, insn_decl_hash, insn_decl_eq_p): Use the macros.
(find_insn_decl): Ditto. Set up mode of work_insn_decl.
(decl_hash, decl_eq_p): Use the macros.
(find_decl): Ditto. Set up mode of work_decl.
(process_excls, process_presence_absence, process_decls,
check_automaton_usage, process_regexp, process_regexp_decls,
check_usage, loop_in_regexp, check_loops_in_regexps,
process_regexp_cycles, add_advance_cycle_insn_decl,
initiate_states, initiate_excl_sets,
initiate_presence_absence_sets, copy_insn_regexp, transform_1,
transform_2): Use the macros.
(transform_3): Ditto. Check mode before making transformations of
ALLOF.
(regexp_transform_func, transform_insn_regexps,
process_unit_to_form_the_same_automaton_unit_lists,
form_the_same_automaton_unit_lists_from_regexp,
form_the_same_automaton_unit_lists,
process_seq_for_forming_states, process_alts_for_forming_states,
create_alt_states, form_ainsn_with_same_reservs, make_automaton,
form_arcs_marked_by_insn, NDFA_to_DFA, set_new_cycle_flags,
estimate_one_automaton_bound, compare_max_occ_cycle_nums,
units_to_automata_heuristic_distr, create_ainsns,
units_to_automata_distr, create_automata): Use the macros.
(form_regexp): Ditto. Fix typo in access to fields of ALLOF.
(longest_path_length, min_issue_delay_pass_states,
output_dead_lock_vect, output_tables, output_insn_code_cases,
output_internal_insn_latency_func, output_print_reservation_func,
output_description, output_automaton_units, generate): Use the
macros.
(make_insn_alts_attr): Ditto. Check case when there are not
alternatives in the reservation.
(make_internal_dfa_insn_code_attr, make_default_insn_latency_attr,
make_bypass_attr, form_important_insn_automata_lists,
expand_automata): Use the macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54802 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtl.def (DEFINE_AUTOMATON): Add description of new options
`time' and `v'. Fix incorrect description of option `w'.
* doc/md.texi: Ditto.
* genautomata.c (TIME_OPTION, V_OPTION): New macros.
(gen_automata_option): Process the new options.
(transform_2, transform_3): Initialize some variables.
(initiate_automaton_gen): Use the new macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54748 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
not isspace.
* gengtype-lex.l: Don't include ctype.h and use ISSPACE/ISIDNUM in
lieu of isspace/IDchar.
* gengtype.c: Likewise for ctype.h and ISALNUM vs isalnum.
* read-rtl.c: Likewise for ctype.h. Don't define ISDIGIT or
ISSPACE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54392 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* genautomata.c (reserv_sets_hash_value): Use shift equal to 3/4
of size of unsigned.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53813 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
* genautomata.c (reserv_sets_hash_value): Fix a typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53710 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* genautomata.c (reserv_sets_hash_value): Define hash_value as
set_el_t. Transform the hash value into unsigned.
(output_cycle_reservs): Fix bug with output of repeated `nothing'.
(transform_3): Add code to process `(A,B)+(D,E)'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53709 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* genautomata.c (transform_3): Add code for transformation
`(A,B,...)+C -> A+C,B,...'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53459 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
ATTRIBUTE_UNUSED to avoid warning with empty dfa.
(output_internal_trans_func): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53266 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
Fix typo in usage of allof instead of unit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53235 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
| |
* genautomata.c (initiate_states): Add additional guard to
initialize `units_array'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53188 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* genautomata.c (form_the_same_automaton_unit_lists_from_regexp,
process_unit_to_form_the_same_automaton_unit_lists,
form_the_same_automaton_unit_lists
check_unit_distributions_to_automata): New prototypes and
functions.
(check_automata): Rename it into `check_automata_insn_issues'.
(unit_decl): New fields `the_same_automaton_unit' and
`the_same_automaton_message_reported_p'.
(unit_decl_t): New typedef.
(the_same_automaton_lists): New gloval variable.
(unit_regexp, unit_set_el, units_array, units_cmp,
output_get_cpu_unit_code_func): Use the typedef.
(evaluate_max_reserv_cycles): Increment
`description->max_insn_reserv_cycles'.
(initiate_states): Don't increment `max_cycles_num'.
(transform_insn_regexps): Move code around transformation of
regexps from `generate'.
(generate): Remove call of `transform_insn_regexps'.
(expand_automata): Call `transform_insn_regexps' and
`check_unit_distributions_to_automata'. Check errors before
`generate'.
* config/sparc/ultra3.md (us3_a0, us3_a1): Move the units into
automaton `ultrasparc3_1'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53187 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
| |
* genautomata.c (min_issue_delay_pass_states): Change return type
in the prototype.
(min_issue_delay_pass_states): Change the algorithm.
(min_issue_delay): Set up min_insn_issue_delay for the state.
(output_min_issue_delay_table): Interchange the nested loops and
and initiate min_insn_issue_delay for states.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53130 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
| |
* expr.c: Likewise.
* genautomata.c: Likewise.
* stmt.c: Likewise.
* tree.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53044 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
| |
Merging code from dfa-branch:
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52915 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtl.def: Undo my patch commited 2001-08-27.
* genattrtab.c: Ditto.
* rtl.h: Ditto.
* sched-int.h: Ditto.
* target-def.h: Ditto.
* target.h: Ditto.
* haifa-sched.c: Ditto.
* sched-rgn.c: Ditto.
* sched-vis.c: Ditto.
* Makefile.in: Ditto.
* doc/md.texi: Ditto.
* doc/tm.texi: Ditto.
* doc/contrib.texi: Ditto.
* doc/gcc.texi: Ditto.
* genattrtab.h: Remove it.
* genautomata.c: Remove it.
* genattr.c: Undo my patch and Richard Henderson's patch commited
2001-08-27.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45297 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
|
|
| |
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45211 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
RTL constructions.
* genattr.c (main): New variable num_insn_reservations. Increase
it if there is DEFINE_INSN_RESERVATION. Output automaton based
pipeline hazard recognizer interface.
* genattrtab.h: New file.
* genattrtab.c: Include genattrtab.h.
(attr_printf, check_attr_test, make_internal_attr,
make_numeric_value): Move protypes into genattrtab.h. Define them
as external.
(num_dfa_decls): New global variable.
(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
DEFINE_INSN_RESERVATION. Call expand_automata and write_automata.
* genautomata.c: New file.
* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
* sched-int.h: (curr_state): Add the external definition for
automaton pipeline interface.
(haifa_insn_data): Add comments for members blockage and units.
* target-def.h (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_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
macros.
(TARGET_SCHED): Use the new macros.
* target.h (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, init_dfa_bubbles,
dfa_bubble): New members in gcc_target.sched.
* haifa-sched.c (insert_schedule_bubbles_p): New variable.
(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
(insn_queue): Redefine it as pointer to array.
(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
INSN_QUEUE_SIZE.
(max_insn_queue_index_macro_value): New variable.
(curr_state, dfa_state_size, ready_try): New varaibles for
automaton interface.
(ready_element, ready_remove, max_issue): New function prototypes
for automaton interface.
(choose_ready): New function prototype.
(insn_unit, blockage_range): Add comments.
(unit_last_insn, unit_tick, unit_n_insns): Define them for case
FUNCTION_UNITS_SIZE == 0.
(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
actual_hazard, potential_hazard): Add comments.
(insn_cost): Use cost -1 as undefined value. Remove
LINK_COST_ZERO and LINK_COST_FREE. Add new code for automaton
pipeline interface.
(ready_element, ready_remove): New functions for automaton
interface.
(schedule_insn): Add new code for automaton pipeline interface.
(queue_to_ready): Add new code for automaton pipeline interface.
Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
(debug_ready_list): Print newline when the queue is empty.
(max_issue): New function for automaton pipeline interface.
(choose_ready): New function.
(schedule_block): Add new code for automaton pipeline interface.
Print ready list before scheduling each insn.
(sched_init): Add new code for automaton pipeline interface.
Initiate insn cost by -1.
(sched_finish): Free the current automaton state and finalize
automaton pipeline interface.
* sched-rgn.c: Include target.h.
(init_ready_list, new_ready, debug_dependencies): Add new code for
automaton pipeline interface.
* sched-vis.c: Include target.h.
(get_visual_tbl_length): Add code for automaton interface.
(target_units, print_block_visualization): Add comments.
* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
(getruntime.o, genautomata.o): New entries.
(genattrtab.o): Add new dependency file genattrtab.h.
(genattrtab): Add new dependencies. Link it with `libm.a'.
(getruntime.o, hashtab.o): New entries for canadian cross.
* doc/md.texi: Description of automaton based model.
* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
Add comments.
(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
TARGET_SCHED_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
TARGET_SCHED_DFA_POST_CYCLE_INSN,
TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
hook descriptions.
(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
MAX_DFA_ISSUE_RATE): New macro descriptions.
* doc/contrib.texi: Add dfa based scheduler contribution.
* doc/gcc.texi: Add more information about genattrtab.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45202 138bc75d-0d04-0410-961f-82ee72b054a4
|