aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-int.h
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2010-11-02 16:02:09 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2010-11-02 16:02:09 +0000
commit894fd6f204ea6f67eccacc0f3ee969ac48f56b3e (patch)
tree577fec572602f5e9c38ef19c8798360503bcb808 /gcc/sched-int.h
parent7350a36115f9752910ec4829f25e2d45a684d91e (diff)
downloadgcc-894fd6f204ea6f67eccacc0f3ee969ac48f56b3e.zip
gcc-894fd6f204ea6f67eccacc0f3ee969ac48f56b3e.tar.gz
gcc-894fd6f204ea6f67eccacc0f3ee969ac48f56b3e.tar.bz2
Model decoder of Core 2/i7 for multipass scheduling.
* config/i386/i386-protos.h (struct ix86_first_cycle_multipass_data_): New type to hold target-specific data for multipass scheduling. (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define. * config/i386/i386.c (ia32_multipass_dfa_lookahead): Update for Core 2/i7. (core2i7_secondary_decoder_max_insn_size,) (core2i7_secondary_ifetch_block_size, core2i7_ifetch_block_max_insns): New static variables. ([const_]ix86_first_cycle_multipass_data_t): New typedefs. ([_]ix86_first_cycle_multipass_data): New static variable. (core2i7_first_cycle_multipass_init, core2i7_dfa_poast_advance_cycle): Implement targetm.sched hooks. (core2i7_first_cycle_multipass_filter_ready_try): New static subroutine of ... (core2i7_first_cycle_multipass_{begin, issue, backtrack, end, fini}): Implement new targetm.sched hooks. (ix86_sched_init_global, TARGET_SCHED_INIT_GLOBAL): Define targetm.sched hook to install multipass scheduling hooks on demand. * doc/tm.texi.in: Document new targetm.sched hooks. * doc/tm.texi: Regenerate. * haifa-sched.c (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DATA_T): Define. (first_cycle_multipass_data_t): New typedef. (struct choice_entry: target_data): New field. (max_issue): Add first_cycle_insn_p parameter. Call new target hooks to allow target model restrictions not represented in DFA. (choose_ready, schedule_block): Update. (sched_extend_ready_list, sched_finish_ready_list): Call new target hooks to initialize target-specific data for multipass scheduling. * sched-int.h (max_issue): Update declaration. * sel-sched.c (choose_best_insn): Update. * target.def (first_cycle_multipass_{begin, issue, backtrack},) (first_cycle_multipass_{init, fini}): Define and document new targetm.sched hooks. From-SVN: r166196
Diffstat (limited to 'gcc/sched-int.h')
-rw-r--r--gcc/sched-int.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index bea5aab..68cfa23 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -195,7 +195,7 @@ struct ready_list
extern char *ready_try;
extern struct ready_list ready;
-extern int max_issue (struct ready_list *, int, state_t, int *);
+extern int max_issue (struct ready_list *, int, state_t, bool, int *);
extern void ebb_compute_jump_reg_dependencies (rtx, regset, regset, regset);