From: revitale Date: Mon, 27 Apr 2009 12:17:09 +0000 (+0000) Subject: Add dump file checks for sms tests X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d76fd36d02e555d579a7f6c3e11b3a9c8afbab01;p=thirdparty%2Fgcc.git Add dump file checks for sms tests git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146838 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d959bb48eedd..49401aa1d289 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2009-04-27 Revital Eres + + * gcc.dg/sms-1.c: Add noinline attribute, create sms dump file + and check it. + * gcc.dg/sms-2.c: Add dump check. + * gcc.dg/sms-3.c: Add noinline attribute, create sms dump file + and check it. + * gcc.dg/sms-4.c: Likewise. + * gcc.dg/sms-5.c: Likewise. + * gcc.dg/sms-6.c: Likewise. + * gcc.dg/sms-7.c: Likewise. + * gcc.dg/sms-antideps.c: Rename to... + * gcc.dg/sms-8.c: This and add sms dump file and check it. + 2009-04-27 Eric Botcazou * gnat.dg/opt2.adb: New test. diff --git a/gcc/testsuite/gcc.dg/sms-1.c b/gcc/testsuite/gcc.dg/sms-1.c index d915ef54f2b8..26e502e2cca5 100644 --- a/gcc/testsuite/gcc.dg/sms-1.c +++ b/gcc/testsuite/gcc.dg/sms-1.c @@ -1,13 +1,16 @@ /* The same test as loop-3c.c. It failed on ia64 due to not handling of subreg in the lhs that is fixed. */ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -w" } */ +/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */ #include +extern void abort (void); void * a[255]; +__attribute__ ((noinline)) +void f (m) { int i; @@ -21,6 +24,7 @@ f (m) while (i < INT_MAX/2 + 1 + 4 * 4); } +int main () { a[0x10] = 0; @@ -33,6 +37,9 @@ main () f (INT_MAX/2 + 1); if (! a[0x10] || a[0x08]) abort (); - exit (0); + return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target powerpc*-*-* spu-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ + diff --git a/gcc/testsuite/gcc.dg/sms-2.c b/gcc/testsuite/gcc.dg/sms-2.c index 04d0482ca8c9..9ea63bd0f41b 100644 --- a/gcc/testsuite/gcc.dg/sms-2.c +++ b/gcc/testsuite/gcc.dg/sms-2.c @@ -33,4 +33,5 @@ fun (nb) } } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */ /* { dg-final { cleanup-rtl-dump "sms" } } */ diff --git a/gcc/testsuite/gcc.dg/sms-3.c b/gcc/testsuite/gcc.dg/sms-3.c index 66792b5993b8..b78c2b27ee5a 100644 --- a/gcc/testsuite/gcc.dg/sms-3.c +++ b/gcc/testsuite/gcc.dg/sms-3.c @@ -1,5 +1,5 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched -funroll-loops" } */ +/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms" } */ extern void abort (void); @@ -8,6 +8,7 @@ int Y[1000]={0}; extern void abort (void); +__attribute__ ((noinline)) int foo (int len, long a) { @@ -37,3 +38,6 @@ main () return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ + diff --git a/gcc/testsuite/gcc.dg/sms-4.c b/gcc/testsuite/gcc.dg/sms-4.c index 04e89bb2572f..eafb395627d4 100644 --- a/gcc/testsuite/gcc.dg/sms-4.c +++ b/gcc/testsuite/gcc.dg/sms-4.c @@ -1,6 +1,6 @@ /* Inspired from sbitmap_a_or_b_and_c_cg function in sbitmap.c. */ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves" } */ +/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */ extern void abort (void); @@ -9,6 +9,7 @@ int b[5] = { 0, 1, 0, 1, 0 }; int c[5] = { 0, 0, 1, 1, 0 }; int dst[5] = { 0, 0, 0, 0, 0 }; +__attribute__ ((noinline)) void foo (int size, int *ap, int *bp, int *cp, int *dstp) { @@ -33,3 +34,6 @@ main () return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ + diff --git a/gcc/testsuite/gcc.dg/sms-5.c b/gcc/testsuite/gcc.dg/sms-5.c index 9c2e0165c566..6fbb612e3853 100644 --- a/gcc/testsuite/gcc.dg/sms-5.c +++ b/gcc/testsuite/gcc.dg/sms-5.c @@ -1,10 +1,11 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops" } */ +/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms" } */ /* This is the same test as loop-2e.c test. It is related to a fix in the generation of the prolog and epilog. */ extern void abort (void); +__attribute__ ((noinline)) void f (int *p, int **q) { int i; @@ -45,3 +46,7 @@ int main () return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target powerpc*-*-* spu-*-* } } } */ + +/* { dg-final { cleanup-rtl-dump "sms" } } */ + diff --git a/gcc/testsuite/gcc.dg/sms-6.c b/gcc/testsuite/gcc.dg/sms-6.c index 3fe8ecda167a..cd6356530a8a 100644 --- a/gcc/testsuite/gcc.dg/sms-6.c +++ b/gcc/testsuite/gcc.dg/sms-6.c @@ -1,8 +1,9 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched " } */ +/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */ extern void abort (void); +__attribute__ ((noinline)) void foo (int * __restrict__ a, int * __restrict__ b, int * __restrict__ c) { int i; @@ -37,4 +38,7 @@ int main() return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* } } } */ +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 3 "sms" { target powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ diff --git a/gcc/testsuite/gcc.dg/sms-7.c b/gcc/testsuite/gcc.dg/sms-7.c index 7c4810d86102..a0aa14b1561c 100644 --- a/gcc/testsuite/gcc.dg/sms-7.c +++ b/gcc/testsuite/gcc.dg/sms-7.c @@ -1,8 +1,9 @@ /* { dg-do run } */ -/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing " } */ +/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms" } */ extern void abort (void); +__attribute__ ((noinline)) void foo (int * __restrict__ a, int * __restrict__ b, short * c) { int i; @@ -38,4 +39,7 @@ int main() return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* } } } */ +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 3 "sms" { target powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */ diff --git a/gcc/testsuite/gcc.dg/sms-antideps.c b/gcc/testsuite/gcc.dg/sms-8.c similarity index 72% rename from gcc/testsuite/gcc.dg/sms-antideps.c rename to gcc/testsuite/gcc.dg/sms-8.c index 85976d641de9..afac55dadd17 100644 --- a/gcc/testsuite/gcc.dg/sms-antideps.c +++ b/gcc/testsuite/gcc.dg/sms-8.c @@ -3,10 +3,11 @@ that was not fixed by reg-moves. */ /* { dg-do run } */ - /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves" } */ + /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */ -#include +extern void abort (void); +__attribute__ ((noinline)) unsigned long long foo (long long ixi, unsigned ctr) { @@ -34,5 +35,7 @@ main () return 0; } +/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target powerpc*-*-* } } } */ +/* { dg-final { cleanup-rtl-dump "sms" } } */