Commit 5097ad6c by Georg-Johann Lay Committed by Georg-Johann Lay

target-supports.exp (check_effective_target_scheduling): New Function.

	* lib/target-supports.exp (check_effective_target_scheduling):
	New Function.
	* gcc.dg/pr46614.c: Add dg-require-effective-target scheduling.
	* gcc.dg/pr45055.c: Ditto.
	* gcc.dg/pr45353.c: Ditto.
	* g++.dg/pr45056.C: Ditto.

From-SVN: r176136
parent 7ae3b0b6
2011-07-11 Georg-Johann Lay <avr@gjlay.de> 2011-07-11 Georg-Johann Lay <avr@gjlay.de>
* lib/target-supports.exp (check_effective_target_scheduling):
New Function.
* gcc.dg/pr46614.c: Add dg-require-effective-target scheduling.
* gcc.dg/pr45055.c: Ditto.
* gcc.dg/pr45353.c: Ditto.
* g++.dg/pr45056.C: Ditto.
2011-07-11 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/compat/struct-by-value-16_main.c: Skip AVR. * gcc.dg/compat/struct-by-value-16_main.c: Skip AVR.
* gcc.dg/compat/struct-by-value-17_main.c: Skip AVR. * gcc.dg/compat/struct-by-value-17_main.c: Skip AVR.
* gcc.dg/compat/struct-by-value-18_main.c: Skip AVR. * gcc.dg/compat/struct-by-value-18_main.c: Skip AVR.
......
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */ /* { dg-options "-O -fschedule-insns2 -fschedule-insns -g" } */
/* { dg-require-effective-target scheduling } */
template < class _T1, class _T2 > struct pair template < class _T1, class _T2 > struct pair
{ {
......
/* PR debug/45055 */ /* PR debug/45055 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -ftracer -fsched-pressure -funroll-loops -fschedule-insns -fcompare-debug" } */ /* { dg-options "-O2 -ftracer -fsched-pressure -funroll-loops -fschedule-insns -fcompare-debug" } */
/* { dg-require-effective-target scheduling } */
int colormap[10]; int colormap[10];
......
/* PR rtl-optimization/45353 */ /* PR rtl-optimization/45353 */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-options "-O2 -fschedule-insns -fselective-scheduling" } */ /* { dg-options "-O2 -fschedule-insns -fselective-scheduling" } */
/* { dg-require-effective-target scheduling } */
void void
foo () foo ()
......
/* PR rtl-optimization/46614 */ /* PR rtl-optimization/46614 */
/* { dg-do run } */ /* { dg-do run } */
/* { dg-options "-O -fno-rename-registers -fsched2-use-superblocks -fschedule-insns2 -funroll-loops" } */ /* { dg-options "-O -fno-rename-registers -fsched2-use-superblocks -fschedule-insns2 -funroll-loops" } */
/* { dg-require-effective-target scheduling } */
extern void abort (void); extern void abort (void);
......
...@@ -712,6 +712,14 @@ proc check_effective_target_function_sections {} { ...@@ -712,6 +712,14 @@ proc check_effective_target_function_sections {} {
} "-ffunction-sections"] } "-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 # Return 1 if compilation with -fgraphite is error-free for trivial
# code, 0 otherwise. # code, 0 otherwise.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment