summaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 621f6b3fff3..0c0f0a3152b 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -47,6 +47,9 @@ along with GCC; see the file COPYING3. If not see
unsigned HOST_WIDE_INT g_switch_value;
bool g_switch_set;
+/* Same for selective scheduling. */
+bool sel_sched_switch_set;
+
/* True if we should exit after parsing options. */
bool exit_after_options;
@@ -1087,6 +1090,11 @@ decode_options (unsigned int argc, const char **argv)
flag_reorder_blocks = 1;
}
+ /* Pipelining of outer loops is only possible when general pipelining
+ capabilities are requested. */
+ if (!flag_sel_sched_pipelining)
+ flag_sel_sched_pipelining_outer_loops = 0;
+
#ifndef IRA_COVER_CLASSES
if (flag_ira)
{
@@ -1870,6 +1878,11 @@ common_handle_option (size_t scode, const char *arg, int value,
set_random_seed (arg);
break;
+ case OPT_fselective_scheduling:
+ case OPT_fselective_scheduling2:
+ sel_sched_switch_set = true;
+ break;
+
case OPT_fsched_verbose_:
#ifdef INSN_SCHEDULING
fix_sched_param ("verbose", arg);