===================================================================
@@ -712,6 +712,14 @@ proc check_effective_target_function_sec
} "-ffunction-sections"]
}
+# Return 1 if instruction scheduling is available, 0 otherwise.
+
+proc check_effective_target_scheduling {} {
+ return [check_no_compiler_messages scheduling object {
+ void foo (void) { }
+ } "-fschedule-insns"]
+}
+
# Return 1 if compilation with -fgraphite is error-free for trivial
# code, 0 otherwise.
===================================================================
@@ -1,6 +1,7 @@
/* PR rtl-optimization/46614 */
/* { dg-do run } */
/* { dg-options "-O -fno-rename-registers -fsched2-use-superblocks -fschedule-insns2 -funroll-loops" } */
+/* { dg-require-effective-target scheduling } */
extern void abort (void);
===================================================================
@@ -1,6 +1,7 @@
/* PR debug/45055 */
/* { dg-do compile } */
/* { dg-options "-O2 -ftracer -fsched-pressure -funroll-loops -fschedule-insns -fcompare-debug" } */
+/* { dg-require-effective-target scheduling } */
int colormap[10];
===================================================================
@@ -1,6 +1,7 @@
/* PR rtl-optimization/45353 */
/* { dg-do compile } */
/* { dg-options "-O2 -fschedule-insns -fselective-scheduling" } */
+/* { dg-require-effective-target scheduling } */
void
foo ()
===================================================================
@@ -1,5 +1,6 @@
/* { dg-do compile } */
/* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */
+/* { dg-require-effective-target scheduling } */
template < class _T1, class _T2 > struct pair
{