aboutsummaryrefslogtreecommitdiff
path: root/gcc/flags.h
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2003-10-09 09:08:37 +0000
committerDorit Naishlos <dorit@il.ibm.com>2003-10-09 09:08:37 +0000
commitaa90654c4384a60c2179f979f42b65de2e441a8b (patch)
treecf4b5b0d6fa071cfa3bd81035f628ab846f4673e /gcc/flags.h
parent8b8dfe2482318e754d5816015efcd8529d8a0909 (diff)
* haifa-sched.c (ok_for_early_schedule): New function.
(early_queue_to_ready): New function. (schedule_block): Allow early removal of insns from Q. (schedule_insn): Update INSN_TICK in case of premature issue. * common.opt (sched_stalled_insns): New flag. (sched_stalled_insns_dep): New flag. * flags.h: Same above flags. * opts.c: Same as above. * toplev.c: Same as above. * target.h (targetm.sched.is_costly_dependence): New hook. * target-def.h: Same as above. * config/rs6000/rs6000.h: (rs6000_sched_costly_dep): Support new flag -msched-costly-dep. (DEFAULT_SCHED_COSTLY_DEP): Define. * config/rs6000/rs6000.c: (rs6000_is_costly_dependence): New function. (is_load_insn, is_store_insn): New functions. (is_load_insn1, is_store_insn1, is_mem_ref): New functions. * doc/invoke.texi (-fsched-stalled-insns-dep) (-fsched-stalled-insns, -msched-costly-dep): Document options. * doc/tm.texi (is_costly_dependence): Define new scheduler target hook. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@72261 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flags.h')
-rw-r--r--gcc/flags.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/gcc/flags.h b/gcc/flags.h
index 4d6ea074174..f345b497197 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -439,6 +439,20 @@ extern int flag_schedule_speculative;
extern int flag_schedule_speculative_load;
extern int flag_schedule_speculative_load_dangerous;
+/* The following flags have an effect during scheduling after register
+ allocation:
+
+ sched_stalled_insns means that insns can be moved prematurely from the queue
+ of stalled insns into the ready list.
+
+ sched_stalled_insns_dep controls how many recently scheduled cycles will
+ be examined for a dependency on a stalled insn that is candidate for
+ premature removal from the queue of stalled insns into the ready list (has
+ an effect only if the flag 'sched_stalled_insns' is set). */
+
+extern int flag_sched_stalled_insns;
+extern int flag_sched_stalled_insns_dep;
+
/* flag_branch_on_count_reg means try to replace add-1,compare,branch tupple
by a cheaper branch, on a count register. */
extern int flag_branch_on_count_reg;