diff options
author | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-22 15:07:10 +0000 |
---|---|---|
committer | mkuvyrkov <mkuvyrkov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-22 15:07:10 +0000 |
commit | 07317795975eed83667457de5626ac56625cc59d (patch) | |
tree | 04fd8eda25f1831c163b4516b1d3c64f6b57fc22 /gcc/target.h | |
parent | 66b33c405eb8182375edb4bbd7a4470912a8f3ae (diff) | |
download | gcc-07317795975eed83667457de5626ac56625cc59d.tar.gz |
* target.h (struct gcc_target.sched: dfa_pre_advance_cycle,
dfa_post_advance_cycle): New scheduler hooks.
* target-def.h (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): New macros to initialize
new hooks.
(TARGET_SCHED): Use them.
* doc/tm.texi (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Document new hooks.
* haifa-sched.c (advance_one_cycle): Invoke new hooks.
* genautomata.c (insn_has_dfa_reservation_p): New DFA interface
function to facilitate debugging.
(INSN_HAS_DFA_RESERVATION_P_FUNC_NAME): New macro.
(output_insn_has_dfa_reservation_p): New static function to output
insn_has_dfa_reservation_p ().
(write_automata): Use it.
* genattr.c (main): Output declaration for
insn_has_dfa_reservation_p ().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127707 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h index 7094d4d7a89..d1af44335ac 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -303,6 +303,13 @@ struct gcc_target void (* init_dfa_post_cycle_insn) (void); rtx (* dfa_post_cycle_insn) (void); + /* The values of the following two members are pointers to + functions used to simplify the automaton descriptions. + dfa_pre_advance_cycle and dfa_post_advance_cycle are getting called + immediatelly before and after cycle is advanced. */ + void (* dfa_pre_advance_cycle) (void); + void (* dfa_post_advance_cycle) (void); + /* The following member value is a pointer to a function returning value which defines how many insns in queue `ready' will we try for multi-pass scheduling. If the member value is nonzero and the |