aboutsummaryrefslogtreecommitdiff
path: root/gcc/recog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/recog.c')
-rw-r--r--gcc/recog.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/recog.c b/gcc/recog.c
index 1f43237..abbc49f 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -4532,8 +4532,13 @@ pass_split_before_regstack::gate (function *)
/* If flow2 creates new instructions which need splitting
and scheduling after reload is not done, they might not be
split until final which doesn't allow splitting
- if HAVE_ATTR_length. */
+ if HAVE_ATTR_length. Selective scheduling can result in
+ further instructions that need splitting. */
+#ifdef INSN_SCHEDULING
+ return !enable_split_before_sched2 () || flag_selective_scheduling2;
+#else
return !enable_split_before_sched2 ();
+#endif
#else
return false;
#endif