summaryrefslogtreecommitdiff
path: root/gcc/genautomata.c
Commit message (Collapse)AuthorAgeFilesLines
* (gcc)kraai2003-06-131-1/+1
| | | | | | | | | | | | | | | | * ChangeLog.1: Fix spelling of "outputting". * ChangeLog.3: Likewise. * diagnostic.h: Likewise. * genautomata.c: Likewise. * config/pa/pa.c: Likewise. (gcc/ada) * gnatls.adb: Fix spelling of "outputting". * gnatmem.adb: Likewise. * prj-pp.adb: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67890 138bc75d-0d04-0410-961f-82ee72b054a4
* * genrecog.c: Use ISO C90 prototypes.aj2003-06-011-1003/+702
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (nodes_identical): Correct declaration to match prototype. (maybe_both_true): Likewise. (merge_trees): Likewise. * genpeep.c (gen_peephole): Remove #if 0 code. Use ISO C90 prototypes. * genattrtab.c (copy_rtx_unchanging): Remove #if 0'ed code. Remove #if 0'ed function simplify_by_alternatives. (optimize_attrs): Remove #if 0'ed code. Remove ^L. Use ISO C90 prototypes. (make_canonical): Remove #if 0'ed code. (convert_const_symbol_ref): Remove #if 0'ed function. * gen-protos.c (main): Check for argument. * rtl.h: Use ISO C90 prototypes for functions from lists.c. * params.h: Use ISO C90 prototypes. * params.c: Likewise. * intl.c: Likewise. * intl.h: Likewise. * lists.c: Likewise. * errors.c: Likewise. * errors.h: Likewise. * gencodes.c: Likewise. * genpreds.c: Likewise. * genattr.c: Likewise. * gen-protos.c: Likewise. * genflags.c: Likewise * genconditions.c: Likewise. * genautomata.c: Likewise. * gencheck.c: Likewise. * genconfig.c: Likewise. * genconstants.c: Likewise. * genemit.c: Likewise. * genextract.c: Likewise. * gengenrtl.c: Likewise. * gengtype.c: Likewise. * gengtype.h: Likewise. * genopinit.c: Likewise. * genoutput.c: Likewise. * gensupport.c: Likewise. * gensupport.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67296 138bc75d-0d04-0410-961f-82ee72b054a4
* Concatenate one of the fprintf calls in the previous change.ghazi2003-05-211-3/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67050 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c (output_description, output_automaton_units,ghazi2003-05-211-3/+3
| | | | | | | output_state_arcs): Add missing specifiers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67045 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-29 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-04-291-0/+4
| | | | | | | | * genautomata.c (add_vect): Check undefined value for range type too. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66266 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-04-14 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-04-141-1/+1
| | | | | | | | * genautomata.c (output_translate_vect): Fix a typo in loop condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65580 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-pch.c, dummy-conditions.c, genautomata.c, genconditions.c,neroden2003-03-131-4/+4
| | | | | | | | | langhooks.c, tree-inline.c, unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c, unwind-libunwind.c, vmsdbgout.c: Replace "GNU CC" with "GCC". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64297 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-02-06 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-02-061-106/+135
| | | | | | | | | | | | | | * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD, VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay variables starting with underscore. (struct unit_usage): New structure. (unit_usages, cycle_alt_unit_usages): New global variables. (check_unit_distribution_in_reserv): Remove it. (store_alt_unit_usage): New function. (check_regexp_units_distribution): Rewrite it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62500 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c (output_internal_insn_latency_func,zack2003-01-221-2/+18
| | | | | | | | output_print_reservation_func): Short circuit when there is no automaton to generate code for. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61588 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c (output_internal_insn_latency_func): Addzack2003-01-211-1/+1
| | | | | | | missing break statement to generated code. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61573 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c (output_internal_insn_latency_func): Fix missingschwab2003-01-211-2/+2
| | | | | | | close paren in output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61542 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c: Space savings in generated code:zack2003-01-211-102/+159
| | | | | | | | | | | | (output_dfa_insn_code_func): Split out the table-enlargement path to an out-of-line static function, dfa_insn_code_enlarge. (output_internal_insn_latency_func): Use a lookup table for the default latencies. (output_print_reservation_func): Use a lookup table for the strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61541 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-01-20 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-01-201-4/+0
| | | | | | | | | | | | | | * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c. * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h. * genattr.c (main): Output default definition of AUTOMATON_ALTS. Wrap up definition `insn_alts'. * genattrtab.c (main): Wrap up `insn_alts'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61513 138bc75d-0d04-0410-961f-82ee72b054a4
* * et-forest.c: Fix comment typos.kazu2003-01-171-9/+9
| | | | | | | | | | | | | | | | | | | * et-forest.h: Likewise. * except.c: Likewise. * expr.c: Likewise. * flags.h: Likewise. * flow.c: Likewise. * gcc.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genautomata.c: Likewise. * gengtype.c: Likewise. * genrecog.c: Likewise. * global.c: Likewise. * gthr-rtems.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61443 138bc75d-0d04-0410-961f-82ee72b054a4
* cp:ghazi2003-01-151-12/+14
| | | | | | | | | | | | | | | | | | * decl2.c (check_classfn): Fix uninitialized warning. (build_anon_union_vars): Likewise. * pt.c (tsubst_copy): Likewise. gcc: * genattr.c (main): Rearrange output to avoid prototype warning. * genautomata.c (transform_3): Fix ambiguous-else warning. * local-alloc.c (requires_inout): Add parentheses around assignment used as truth-value. * timevar.c: Move system includes above local includes. Include toplev.h * Makefile.in (timevar.o): Depend on toplev.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61308 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-01-09 Vladimir Makarov <vmakarov@redhat.com>vmakarov2003-01-091-568/+987
| | | | | | | Merging changes from itanium-sched-branch: git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61132 138bc75d-0d04-0410-961f-82ee72b054a4
* * genautomata.c: Fix comment typos.kazu2002-12-221-20/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60415 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge basic-improvements-branch to trunkzack2002-12-161-6/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60174 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-decl.c: Fix a comment typo.kazu2002-12-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * cfg.c: Likewise. * cfgcleanup.c: Likewise. * cfglayout.c: Likewise. * cfgrtl.c: Likewise. * c-typeck.c: Likewise. * dominance.c: Likewise. * dwarf2asm.c: Likewise. * dwarfout.c: Likewise. * expmed.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * gcc.c: Likewise. * genautomata.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * loop.h: Likewise. * output.h: Likewise. * profile.c: Likewise. * ra.h: Likewise. * reload1.c: Likewise. * reload.c: Likewise. * sched-rgn.c: Likewise. * stmt.c: Likewise. * tree.h: Likewise. * vmsdbgout.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60085 138bc75d-0d04-0410-961f-82ee72b054a4
* * cfganal.c (dfs_enumerate_from): Use PARAMS.danglin2002-10-111-1/+1
| | | | | | | | | | * genautomata.c (output_insn_code_cases): Likewise. * real.c (real_format): Likewise. * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to ensure value is promoted before doing subtraction. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58064 138bc75d-0d04-0410-961f-82ee72b054a4
* * conflict.c (arc_hash): Change return type to hashval_t.ghazi2002-10-091-10/+10
| | | | | | | | | | | * cselib.c (get_value_hash): Likewise. * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash, state_hash, automata_list_hash): Likewise. * read-rtl.c (def_hash): Likewise. * tree.c (type_hash_hash): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@57987 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.c (finish_vector_type): Fix a typo in a comment.shebs2002-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | * 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
* * genautomata.c (output_translate_vect, output_state_ainsn_table,ghazi2002-08-201-5/+5
| | | | | | | | | | 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-rtl.c (emit_jump_insn_before, emit_call_insn_before,ghazi2002-08-101-11/+13
| | | | | | | | | | | | | | | 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
* * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.neil2002-07-231-6/+0
| | | | | | | | | | | | | | * 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
* * defaults.h (obstack_chunk_alloc, obstack_chunk_free):neil2002-07-231-3/+0
| | | | | | | | | | | | | | | 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
* 2002-07-05 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-07-051-4/+23
| | | | | | | | * 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
* * genautomata.c (copy_node, VLA_PTR_CREATE, VLA_PTR_EXPAND,ghazi2002-06-221-28/+27
| | | | | | | | | | | 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
* 2002-06-19 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-06-191-509/+760
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 2002-06-18 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-06-181-13/+21
| | | | | | | | | | | | | | | * 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
* * genautomata.c: Don't include ctype.h or limits.h. Use ISSPACE,ghazi2002-06-091-7/+2
| | | | | | | | | | | | 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
* 2002-05-23 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-231-2/+2
| | | | | | | | * 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
* 2002-05-21 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-211-1/+1
| | | | | | | * 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
* 2002-05-21 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-211-39/+88
| | | | | | | | | | * 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
* 2002-05-14 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-141-3/+43
| | | | | | | | * 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
* * genautomata.c (output_internal_min_issue_delay_func): Addaj2002-05-071-4/+4
| | | | | | | | 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
* 2002-05-06 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-061-1/+1
| | | | | | | | * 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
* 2002-05-05 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-051-1/+2
| | | | | | | | * 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
* 2002-05-05 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-051-46/+261
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 2002-05-03 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-05-031-28/+38
| | | | | | | | | | | | * 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
* * combine.c: Fix comment formatting.kazu2002-05-021-7/+7
| | | | | | | | | | * 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
* 2002-04-29 Vladimir Makarov <vmakarov@redhat.com>vmakarov2002-04-291-0/+9162
| | | | | | | Merging code from dfa-branch: git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52915 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-08-30 Vladimir Makarov <vmakarov@redhat.com>vmakarov2001-08-301-8767/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * genautomata.c (expand_automata): Always create a description.rth2001-08-271-38/+34
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45211 138bc75d-0d04-0410-961f-82ee72b054a4
* 2001-08-27 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>vmakarov2001-08-271-0/+8771
* 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