Patchwork [PR,testsuite/47013] Fix SMS testsuite faliures

login
register
mail settings
Submitter Revital Eres
Date May 12, 2011, 1:26 p.m.
Message ID <BANLkTi=ObCAdS0aO5oQ30agx_95eh6qiMg@mail.gmail.com>
Download mbox | patch
Permalink /patch/95303/
State New
Headers show

Comments

Revital Eres - May 12, 2011, 1:26 p.m.
Hello,

The attached patch fixes SMS testsuite failures seen on PowerPC and SPU.

Tested ppc64-redhat-linux on both with -m32,-m64 and SPU.

OK for mainline?

Thanks,
Revital

testsuite/Changelog

        PR rtl-optimization/47013
        * gcc.dg/sms-2.c: Change scan-tree-dump-times and the code itself
        to preserve the function.
        * gcc.dg/sms-6.c: Add --param sms-min-sc=1
         -fmodulo-sched-allow-regmoves,
         and -mno-update for PowerPC.
        * gcc.dg/sms-3.c: Add --param sms-min-sc=1 and
        -fmodulo-sched-allow-regmoves flags.
        * gcc.dg/sms-7.c: Add -fmodulo-sched-allow-regmoves and
        --param sms-min-sc=1 flags and -mno-update for
        PowerPC. Increase the SMS succeeded loops for the SPU.
        * gcc.dg/sms-4.c: Add --param sms-min-sc=1 -mno-update
        for PowerPC.
        * gcc.dg/sms-8.c: Add --param sms-min-sc=1 and -m32 for
        PowerPC. Change scan-rtl-dump-times for PowerPC.
        * gcc.dg/sms-5.c: Add --param sms-min-sc=1 flag and
        -mno-update for PowerPC.

Patch

Index: testsuite/gcc.dg/sms-2.c

===================================================================
--- testsuite/gcc.dg/sms-2.c	(revision 173693)

+++ testsuite/gcc.dg/sms-2.c	(working copy)

@@ -4,12 +4,11 @@ 

 /* { dg-do compile } */
 /* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */
 
-

+int th, h, em, nlwm, nlwS, nlw, sy;

 void
 fun (nb)
      int nb;
 {
-  int th, h, em, nlwm, nlwS, nlw, sy;

 
   while (nb--)
     while (h--)
@@ -33,5 +32,5 @@  fun (nb)

       }
 }
 
-/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target spu-*-* powerpc*-*-* } } } */

+/* { dg-final { scan-rtl-dump-times "SMS loop many exits" 1 "sms" { target spu-*-* powerpc*-*-* } } } */

 /* { dg-final { cleanup-rtl-dump "sms" } } */
Index: testsuite/gcc.dg/sms-6.c

===================================================================
--- testsuite/gcc.dg/sms-6.c	(revision 173693)

+++ testsuite/gcc.dg/sms-6.c	(working copy)

@@ -1,5 +1,7 @@ 

 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms" } */

+/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms  --param sms-min-sc=1 " } */

+/* { dg-options "-O2 -fmodulo-sched -fdump-rtl-sms  -mno-update --param sms-min-sc=1 -fmodulo-sched-allow-regmoves " { target powerpc*-*-*} } */

+

 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-3.c

===================================================================
--- testsuite/gcc.dg/sms-3.c	(revision 173693)

+++ testsuite/gcc.dg/sms-3.c	(working copy)

@@ -1,5 +1,5 @@ 

 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms" } */

+/* { dg-options "-O2 -fmodulo-sched -funroll-loops -fdump-rtl-sms --param sms-min-sc=1 -fmodulo-sched-allow-regmoves" } */

 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-7.c

===================================================================
--- testsuite/gcc.dg/sms-7.c	(revision 173693)

+++ testsuite/gcc.dg/sms-7.c	(working copy)

@@ -1,5 +1,6 @@ 

 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms" } */

+/* { dg-options "-O3 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms -fmodulo-sched-allow-regmoves --param sms-min-sc=1" } */

+/* { dg-options "-O2 -fmodulo-sched -fstrict-aliasing -fdump-rtl-sms --param sms-min-sc=1 -mno-update -fmodulo-sched-allow-regmoves" { target powerpc*-*-*} } */

 
 extern void abort (void);
 
@@ -44,7 +45,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" 2 "sms"  { target spu-*-* } } } */

 /* { dg-final { scan-rtl-dump-times "SMS succeeded" 3  "sms" { target powerpc*-*-* } } } */
 /* { dg-final { cleanup-rtl-dump "sms" } } */
 
Index: testsuite/gcc.dg/sms-4.c

===================================================================
--- testsuite/gcc.dg/sms-4.c	(revision 173693)

+++ testsuite/gcc.dg/sms-4.c	(working copy)

@@ -1,6 +1,7 @@ 

 /* 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 -fdump-rtl-sms" } */

+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms  " } */

+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1 -mno-update" { target powerpc*-*-*} } */

 
 extern void abort (void);
 
Index: testsuite/gcc.dg/sms-8.c

===================================================================
--- testsuite/gcc.dg/sms-8.c	(revision 173693)

+++ testsuite/gcc.dg/sms-8.c	(working copy)

@@ -3,7 +3,8 @@ 

     that was not fixed by reg-moves.  */
 
  /* { dg-do run } */
- /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms" } */

+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1" } */

+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fdump-rtl-sms --param sms-min-sc=1 -m32" { target powerpc*-*-*} } */

 
 extern void abort (void);
 
@@ -35,7 +36,7 @@  main ()

   return 0;
 }
 
-/* { dg-final { scan-rtl-dump-times "SMS succeeded" 1 "sms" { target powerpc*-*-* } } } */

+/* { dg-final { scan-rtl-dump-times "SMS loop with subreg in lhs" 1 "sms" { target powerpc-*-* } } } */

 /* { dg-final { cleanup-rtl-dump "sms" } } */
 
 
Index: testsuite/gcc.dg/sms-5.c

===================================================================
--- testsuite/gcc.dg/sms-5.c	(revision 173693)

+++ testsuite/gcc.dg/sms-5.c	(working copy)

@@ -1,5 +1,6 @@ 

 /* { dg-do run } */
-/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms" } */

+/* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms --param sms-min-sc=1" } */

+ /* { dg-options "-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -funroll-loops -fdump-rtl-sms -mno-update --param sms-min-sc=1" { target powerpc*-*-*} } */

 /* This is the same test as loop-2e.c test.  It is related to a fix in
    the generation of the prolog and epilog.  */