aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2003-10-09 09:08:37 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2003-10-09 09:08:37 +0000
commit569fa502d175107e774a81965253debe8d9de94b (patch)
treecf4b5b0d6fa071cfa3bd81035f628ab846f4673e /gcc/opts.c
parent2df6848e22f1ea6fd8a43284a85986337de4a425 (diff)
downloadgcc-569fa502d175107e774a81965253debe8d9de94b.zip
gcc-569fa502d175107e774a81965253debe8d9de94b.tar.gz
gcc-569fa502d175107e774a81965253debe8d9de94b.tar.bz2
haifa-sched.c (ok_for_early_schedule): New function.
* 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. From-SVN: r72261
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index c4c5b9f..dc489e1 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1264,6 +1264,24 @@ common_handle_option (size_t scode, const char *arg,
flag_schedule_insns_after_reload = value;
break;
+ case OPT_fsched_stalled_insns:
+ flag_sched_stalled_insns = value;
+ break;
+
+ case OPT_fsched_stalled_insns_:
+ flag_sched_stalled_insns = value;
+ if (flag_sched_stalled_insns == 0)
+ flag_sched_stalled_insns = -1;
+ break;
+
+ case OPT_fsched_stalled_insns_dep:
+ flag_sched_stalled_insns_dep = 1;
+ break;
+
+ case OPT_fsched_stalled_insns_dep_:
+ flag_sched_stalled_insns_dep = value;
+ break;
+
case OPT_fshared_data:
flag_shared_data = value;
break;