Modify the testsuite for the new Graphite.
authorSebastian Pop <sebastian.pop@amd.com>
Fri, 31 Jul 2009 02:45:54 +0000 (02:45 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Fri, 31 Jul 2009 02:45:54 +0000 (02:45 +0000)
2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

* gcc.dg/graphite/graphite.exp: Implement an automatic selection of
flags based on the name of the testcase.
* gfortran.dg/graphite/graphite.exp: Same.

* gcc.dg/graphite/block-0.c: Adjusted.
* gcc.dg/graphite/block-1.c: Adjusted.
* gcc.dg/graphite/block-2.c: Adjusted.
* gcc.dg/graphite/block-3.c: Adjusted.
* gcc.dg/graphite/block-4.c: Adjusted.
* gcc.dg/graphite/block-5.c: Adjusted.
* gcc.dg/graphite/block-6.c: Adjusted.
* gcc.dg/graphite/pr37485.c: Adjusted.
* gcc.dg/graphite/pr37684.c: Adjusted.
* gcc.dg/graphite/pr37828.c: Adjusted.
* gcc.dg/graphite/pr37883.c: Adjusted.
* gcc.dg/graphite/pr37928.c: Adjusted.
* gcc.dg/graphite/pr37943.c: Adjusted.
* gcc.dg/graphite/pr38409.c: Adjusted.
* gcc.dg/graphite/pr38498.c: Adjusted.
* gcc.dg/graphite/pr38559.c: Adjusted.
* gcc.dg/graphite/pr39335.c: Adjusted.
* gcc.dg/graphite/pr39335_1.c: Adjusted.
* gcc.dg/graphite/scop-0.c: Adjusted.
* gcc.dg/graphite/scop-1.c: Adjusted.
* gcc.dg/graphite/scop-10.c: Adjusted.
* gcc.dg/graphite/scop-11.c: Adjusted.
* gcc.dg/graphite/scop-12.c: Adjusted.
* gcc.dg/graphite/scop-13.c: Adjusted.
* gcc.dg/graphite/scop-14.c: Adjusted.
* gcc.dg/graphite/scop-15.c: Adjusted.
* gcc.dg/graphite/scop-16.c: Adjusted.
* gcc.dg/graphite/scop-17.c: Adjusted.
* gcc.dg/graphite/scop-18.c: Adjusted.
* gcc.dg/graphite/scop-19.c: Adjusted.
* gcc.dg/graphite/scop-2.c: Adjusted.
* gcc.dg/graphite/scop-3.c: Adjusted.-
* gcc.dg/graphite/scop-4.c: Adjusted.
* gcc.dg/graphite/scop-5.c: Adjusted.
* gcc.dg/graphite/scop-6.c: Adjusted.
* gcc.dg/graphite/scop-7.c: Adjusted.
* gcc.dg/graphite/scop-8.c: Adjusted.
* gcc.dg/graphite/scop-9.c: Adjusted.
* gcc.dg/graphite/scop-matmult.c: Adjusted.
* gfortran.dg/graphite/block-1.f90: Adjusted.
* gfortran.dg/graphite/block-2.f: Adjusted.
* gfortran.dg/graphite/block-3.f90: Adjusted.
* gfortran.dg/graphite/block-4.f90: Adjusted.
* gfortran.dg/graphite/id-2.f90: Adjusted.
* gfortran.dg/graphite/id-3.f90: Adjusted.
* gfortran.dg/graphite/id-4.f90: Adjusted.
* gfortran.dg/graphite/pr37852.f90: Adjusted.
* gfortran.dg/graphite/pr37857.f90: Adjusted.
* gfortran.dg/graphite/pr37980.f90: Adjusted.
* gfortran.dg/graphite/pr38083.f90: Adjusted.
* gfortran.dg/graphite/pr38953.f90: Adjusted.
* gfortran.dg/graphite/scop-1.f: Adjusted.

From-SVN: r150302

55 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/graphite/block-0.c
gcc/testsuite/gcc.dg/graphite/block-1.c
gcc/testsuite/gcc.dg/graphite/block-2.c
gcc/testsuite/gcc.dg/graphite/block-3.c
gcc/testsuite/gcc.dg/graphite/block-4.c
gcc/testsuite/gcc.dg/graphite/block-5.c
gcc/testsuite/gcc.dg/graphite/block-6.c
gcc/testsuite/gcc.dg/graphite/graphite.exp
gcc/testsuite/gcc.dg/graphite/pr37485.c
gcc/testsuite/gcc.dg/graphite/pr37684.c
gcc/testsuite/gcc.dg/graphite/pr37828.c
gcc/testsuite/gcc.dg/graphite/pr37883.c
gcc/testsuite/gcc.dg/graphite/pr37928.c
gcc/testsuite/gcc.dg/graphite/pr37943.c
gcc/testsuite/gcc.dg/graphite/pr38409.c
gcc/testsuite/gcc.dg/graphite/pr38498.c
gcc/testsuite/gcc.dg/graphite/pr38559.c
gcc/testsuite/gcc.dg/graphite/pr39335.c
gcc/testsuite/gcc.dg/graphite/pr39335_1.c
gcc/testsuite/gcc.dg/graphite/scop-0.c
gcc/testsuite/gcc.dg/graphite/scop-1.c
gcc/testsuite/gcc.dg/graphite/scop-10.c
gcc/testsuite/gcc.dg/graphite/scop-11.c
gcc/testsuite/gcc.dg/graphite/scop-12.c
gcc/testsuite/gcc.dg/graphite/scop-13.c
gcc/testsuite/gcc.dg/graphite/scop-14.c
gcc/testsuite/gcc.dg/graphite/scop-15.c
gcc/testsuite/gcc.dg/graphite/scop-16.c
gcc/testsuite/gcc.dg/graphite/scop-17.c
gcc/testsuite/gcc.dg/graphite/scop-18.c
gcc/testsuite/gcc.dg/graphite/scop-19.c
gcc/testsuite/gcc.dg/graphite/scop-2.c
gcc/testsuite/gcc.dg/graphite/scop-3.c
gcc/testsuite/gcc.dg/graphite/scop-4.c
gcc/testsuite/gcc.dg/graphite/scop-5.c
gcc/testsuite/gcc.dg/graphite/scop-6.c
gcc/testsuite/gcc.dg/graphite/scop-7.c
gcc/testsuite/gcc.dg/graphite/scop-8.c
gcc/testsuite/gcc.dg/graphite/scop-9.c
gcc/testsuite/gcc.dg/graphite/scop-matmult.c
gcc/testsuite/gfortran.dg/graphite/block-1.f90
gcc/testsuite/gfortran.dg/graphite/block-2.f
gcc/testsuite/gfortran.dg/graphite/block-3.f90
gcc/testsuite/gfortran.dg/graphite/block-4.f90
gcc/testsuite/gfortran.dg/graphite/graphite.exp
gcc/testsuite/gfortran.dg/graphite/id-2.f90
gcc/testsuite/gfortran.dg/graphite/id-3.f90
gcc/testsuite/gfortran.dg/graphite/id-4.f90
gcc/testsuite/gfortran.dg/graphite/pr37852.f90
gcc/testsuite/gfortran.dg/graphite/pr37857.f90
gcc/testsuite/gfortran.dg/graphite/pr37980.f90
gcc/testsuite/gfortran.dg/graphite/pr38083.f90
gcc/testsuite/gfortran.dg/graphite/pr38953.f90
gcc/testsuite/gfortran.dg/graphite/scop-1.f

index 33ba854e9bf587a12132c3716f84616aaa499abd..97068351a486686ef61e382d2b1ae2e755576fcb 100644 (file)
@@ -1,3 +1,62 @@
+2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * gcc.dg/graphite/graphite.exp: Implement an automatic selection of
+       flags based on the name of the testcase.
+       * gfortran.dg/graphite/graphite.exp: Same.
+
+       * gcc.dg/graphite/block-0.c: Adjusted.
+       * gcc.dg/graphite/block-1.c: Adjusted.
+       * gcc.dg/graphite/block-2.c: Adjusted.
+       * gcc.dg/graphite/block-3.c: Adjusted.
+       * gcc.dg/graphite/block-4.c: Adjusted.
+       * gcc.dg/graphite/block-5.c: Adjusted.
+       * gcc.dg/graphite/block-6.c: Adjusted.
+       * gcc.dg/graphite/pr37485.c: Adjusted.
+       * gcc.dg/graphite/pr37684.c: Adjusted.
+       * gcc.dg/graphite/pr37828.c: Adjusted.
+       * gcc.dg/graphite/pr37883.c: Adjusted.
+       * gcc.dg/graphite/pr37928.c: Adjusted.
+       * gcc.dg/graphite/pr37943.c: Adjusted.
+       * gcc.dg/graphite/pr38409.c: Adjusted.
+       * gcc.dg/graphite/pr38498.c: Adjusted.
+       * gcc.dg/graphite/pr38559.c: Adjusted.
+       * gcc.dg/graphite/pr39335.c: Adjusted.
+       * gcc.dg/graphite/pr39335_1.c: Adjusted.
+       * gcc.dg/graphite/scop-0.c: Adjusted.
+       * gcc.dg/graphite/scop-1.c: Adjusted.
+       * gcc.dg/graphite/scop-10.c: Adjusted.
+       * gcc.dg/graphite/scop-11.c: Adjusted.
+       * gcc.dg/graphite/scop-12.c: Adjusted.
+       * gcc.dg/graphite/scop-13.c: Adjusted.
+       * gcc.dg/graphite/scop-14.c: Adjusted.
+       * gcc.dg/graphite/scop-15.c: Adjusted.
+       * gcc.dg/graphite/scop-16.c: Adjusted.
+       * gcc.dg/graphite/scop-17.c: Adjusted.
+       * gcc.dg/graphite/scop-18.c: Adjusted.
+       * gcc.dg/graphite/scop-19.c: Adjusted.
+       * gcc.dg/graphite/scop-2.c: Adjusted.
+       * gcc.dg/graphite/scop-3.c: Adjusted.-
+       * gcc.dg/graphite/scop-4.c: Adjusted.
+       * gcc.dg/graphite/scop-5.c: Adjusted.
+       * gcc.dg/graphite/scop-6.c: Adjusted.
+       * gcc.dg/graphite/scop-7.c: Adjusted.
+       * gcc.dg/graphite/scop-8.c: Adjusted.
+       * gcc.dg/graphite/scop-9.c: Adjusted.
+       * gcc.dg/graphite/scop-matmult.c: Adjusted.
+       * gfortran.dg/graphite/block-1.f90: Adjusted.
+       * gfortran.dg/graphite/block-2.f: Adjusted.
+       * gfortran.dg/graphite/block-3.f90: Adjusted.
+       * gfortran.dg/graphite/block-4.f90: Adjusted.
+       * gfortran.dg/graphite/id-2.f90: Adjusted.
+       * gfortran.dg/graphite/id-3.f90: Adjusted.
+       * gfortran.dg/graphite/id-4.f90: Adjusted.
+       * gfortran.dg/graphite/pr37852.f90: Adjusted.
+       * gfortran.dg/graphite/pr37857.f90: Adjusted.
+       * gfortran.dg/graphite/pr37980.f90: Adjusted.
+       * gfortran.dg/graphite/pr38083.f90: Adjusted.
+       * gfortran.dg/graphite/pr38953.f90: Adjusted.
+       * gfortran.dg/graphite/scop-1.f: Adjusted.
+
 2009-07-30  Doug Kwan  <dougkwan@google.com>
 
        * gcc.target/arm/neon/polytypes.c: Adjust test for new notes
index 627f044fc14ce57142be3e9f5eb04e5fc12f13bd..55b903650e24bf45b46ebfb2c35f1f5477e09aff 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O -floop-block -fdump-tree-graphite-all" } */
-
 #define N 1000
 
 int toto()
@@ -21,5 +19,5 @@ main()
   return toto();
 }
 
-/* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite"} } */ 
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 1 "graphite" { xfail *-*-* } } } */ 
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index 0a70e9e10a410a0e0983c4e16a1e7db6a458d5c8..ba772b3f952cb19cbaa5f1a0b0cf01324307930a 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 #define MAX 8192
 
 void bar (void);
@@ -36,5 +34,5 @@ int main()
   return sum;
 }
 
-/* { dg-final { scan-tree-dump-times "will be loop blocked" 2 "graphite"} } */ 
+/* { dg-final { scan-tree-dump-times "will be loop blocked" 2 "graphite" { xfail *-*-* } } } */ 
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index fc4e889e7915efe8e2344ec48f0185bac6aeb422..210ea3427769be89e43b1c0c779deb76e7658d92 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 typedef unsigned char   UChar;
 typedef int             Int32;
 typedef unsigned int    UInt32;
index 1d2ca40dbac4650326097a78751e36597f008293..6358bce1e24eab26ab4e2e505c073245198ab485 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 #define N 24
 #define M 100
 
index e3649f01d2d0c40736f919fd25f6464601a1f4e0..773dfef5df63702622ec769f01951bbc07511dd7 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 #define N 24
 #define M 1000
 
index e0bd4688d399e9936eb3ee58b77dc7fff9a95442..7864f32e1fc08cf83a80750cbff9c7dba8002f5f 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 #define N 10000
 void foo (int);
 int test ()
@@ -22,5 +20,5 @@ int test ()
 }
 
 /* Interchange is legal for loops 0 and 1 of the first two SCoPs */
-/* { dg-final { scan-tree-dump-times "Interchange valid for loops 0 and 1:" 2 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "Interchange valid for loops 0 and 1:" 2 "graphite" { xfail *-*-* } } } */
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index 77429f1cb83e6ea8c6f2b8538865aff398fb7596..5545ec9fc91f7e456746d9fb2c67047a8f9b5f87 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
-
 #define N 10000
 void foo (int);
 int test ()
@@ -21,5 +19,5 @@ int test ()
 }
 
 /* Interchange is not legal for loops 0 and 1 of SCoP 2.  */
-/* { dg-final { scan-tree-dump-times "Interchange not valid for loops 0 and 1:" 1 "graphite"} } */
+/* { dg-final { scan-tree-dump-times "Interchange not valid for loops 0 and 1:" 1 "graphite" { xfail *-*-* } } } */
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index a1257177f552dbbd2f9a63ab20d9382db37384b0..17e6b2be1677e812e22de04ff90ae162f520fbf0 100644 (file)
@@ -23,23 +23,66 @@ if ![check_effective_target_fgraphite] {
   return
 }
 
+# Remove VALUE from LIST_VARIABLE.
+proc lremove {list_variable value} {
+    upvar 1 $list_variable var
+    set idx [lsearch -exact $var $value]
+    set var [lreplace $var $idx $idx]
+}
+
 # The default action for a test is 'compile'.  Save current default.
 global dg-do-what-default
 set save-dg-do-what-default ${dg-do-what-default}
 set dg-do-what-default compile
 
-# If a testcase doesn't have special options, use these.
-global DEFAULT_CFLAGS
-if ![info exists DEFAULT_CFLAGS] then {
-    set DEFAULT_CFLAGS " -ansi -pedantic-errors"
-}
-
 # Initialize `dg'.
 dg-init
 
 # Main loop.
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
-       "" $DEFAULT_CFLAGS
+
+set wait_to_run_files [lsort [glob -nocomplain $srcdir/$subdir/*.c ] ]
+
+# Flags using for block-* files.
+set DEFAULT_CFLAGS_GRAPHITE_BLOCK "-O2 -fdump-tree-graphite-all"
+set block_files [lsort [glob -nocomplain $srcdir/$subdir/block-*.c ] ]
+dg-runtest $block_files "" $DEFAULT_CFLAGS_GRAPHITE_BLOCK
+foreach block_file $block_files {lremove wait_to_run_files $block_file}
+
+# Flags using for id-* files.
+set DEFAULT_CFLAGS_GRAPHITE_IDENTITY "-O2 -fgraphite-identity -fdump-tree-graphite-all"
+set id_files [lsort [glob -nocomplain $srcdir/$subdir/id-*.c ] ]
+dg-runtest $id_files "" $DEFAULT_CFLAGS_GRAPHITE_IDENTITY
+foreach id_file $id_files {lremove wait_to_run_files $id_file}
+
+# Flags using for interchange-* files.
+set DEFAULT_CFLAGS_GRAPHITE_BLOCK "-O2 -fdump-tree-graphite-all -floop-interchange"
+set interchange_files [lsort [glob -nocomplain $srcdir/$subdir/interchange-*.c ] ]
+dg-runtest $interchange_files "" $DEFAULT_CFLAGS_GRAPHITE_BLOCK
+foreach interchange_file $interchange_files {lremove wait_to_run_files $interchange_file}
+
+# Flags using for scop-* files.
+set DEFAULT_CFLAGS_GRAPHITE_SCOP "-O2 -fgraphite -fdump-tree-graphite-all"
+set scop_files [lsort [glob -nocomplain $srcdir/$subdir/scop-*.c ] ]
+dg-runtest $scop_files "" $DEFAULT_CFLAGS_GRAPHITE_SCOP
+foreach scop_file $scop_files {lremove wait_to_run_files $scop_file}
+
+
+# Schedule now the tests to be run.
+set dg-do-what-default run
+
+# Flags using for run-id-* files.
+set DEFAULT_CFLAGS_RUN_ID "-O2 -fgraphite-identity"
+set run_id_files [lsort [glob -nocomplain $srcdir/$subdir/run-id-*.c ] ]
+dg-runtest $run_id_files "" $DEFAULT_CFLAGS_RUN_ID
+foreach run_id_file $run_id_files {lremove wait_to_run_files $run_id_file}
+
+
+# The default action for the rest of the files is 'compile'.
+set dg-do-what-default compile
+
+# Flags using for other files.
+set DEFAULT_CFLAGS_GRAPHITE "-ansi -pedantic-errors"
+dg-runtest $wait_to_run_files "" $DEFAULT_CFLAGS_GRAPHITE
 
 # Clean up.
 set dg-do-what-default ${save-dg-do-what-default}
index cf0969bac1d9693807399d24615ac27759f83178..ce2507b3d6cde1d100e610c6976142ecd00272b3 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
+/* { dg-options "-O2 -fdump-tree-graphite-all" } */
 
 typedef unsigned char   UChar;
 typedef int             Int32;
index a9e6f5a4a59550ffc76948f0062272f12d93878c..ab5a68533165f09e4a4a5da4286f1cce4b269740 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } */
+/* { dg-options "-O2 -fdump-tree-graphite-all" } */
 
 typedef struct _IO_FILE FILE;
 struct _IO_marker {
index 0a0412d80457989be1285e8f33f17249f8135233..df0ef7c0aa743ad9d8608783bcbe65951a4b2afe 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block" } */
+/* { dg-options "-O2" } */
 
 typedef struct foo
 {
index 2ab043adce1aa1c3190ac4976449fb46ce13d121..9b386561c335b7d4b525411bbe85a20e50b9d013 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O3 -floop-block" } */
+/* { dg-options "-O3" } */
 
 void test_sort()
 {
index 47ad5bce0bdc3a7b9eabf8cdb347ade3e1e3b26c..3c33f3a46372feafb8485ebe0a89c454428a484e 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O3 -floop-block" } */
+/* { dg-options "-O3" } */
 
 int get_state(int size, int *node, int *hash)
 {
index a4b4fe5658fb19d557552972264bc70fb351aeec..4513d12c0b7dcb8aee518556e855488786ca680e 100644 (file)
@@ -31,4 +31,3 @@ unsigned char compress(test *in)
 }
 /* { dg-final { cleanup-tree-dump "graphite" } } */
 
-
index 41c6775342613bf2932c60f07cb0ea197c606767..5cdb4725dbf8ccb468dafe61baa4e3d598f154ab 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block" } */
+/* { dg-options "-O2" } */
 
 typedef struct test input ;
 struct test 
index c79bbad554de51022024743d65011f638f7f58ad..d20b4ae165ad01d793543ad2ec9f5399f95db750 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block" } */
+/* { dg-options "-O2" } */
 
 double test_vector (float **data, int rows, int cols, int vqrows,double epsilon, int maxiter,int **mean, int *map)
 {
index 1e2ef0a4ff34f6a1f7e04300ce808a788e8225b9..7f90a50acd09cb7e4a181e6d53c74de087aad35e 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-block" } */
+/* { dg-options "-O2" } */
 
 int test()
 {
index c86e03ab73aa34da3dcb2883371107a4f829e0c2..5b8fb5438551cce330035bd3c53ebca11923563d 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-interchange" } */
+/* { dg-options "-O2" } */
 
 typedef unsigned char byte;
 typedef struct gx_device_s gx_device;
index 257c2c994365f9da58a5290103b12a9a0bef37d3..dfa2465e34d78e9a9ae8534843ae83ec51acb729 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-options "-O2 -floop-interchange" } */
+/* { dg-options "-O2" } */
 
 void crash_me(int num1, int num2, char * in, char * out)
 {
index ea3ae065a0be5f2073c61a6d11524dc6ff1aea32..067e7bcffe011886461af4ece80e93a6294c496e 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 int foo (void);
 void bar (void);
 
index ed6159fb3658deda1334ffb91f9556322584c9a0..ba2590c11029579e4b84c00522ad8f9fafdf1724 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index 8aff2c74302fd95a2d6845ee6fa286112d07177d..139f4c114948b8c0931458e47bf65e22a60cab9a 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index e5a0fdb3904b52cbe11a6b87f2c6d28239060c6f..544b36bd744273863949cce69c8457328f92c911 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index 0c130330ccd8034e72d7043e971420810fce594d..71d34b1db076f3c8adabe333edea445125678f78 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index aa55e10f3f47b726e32718755193b11ac261a5b9..b2ca5b4008fd77769292a810a450ec42483eb6ad 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index a707b01d4509c6f2144f7df6350a4bcd58465a4a..867e293d6494cb146da5a268d67bc21b24c074c8 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index 9324631e2fdcf03fb44bb22f9d6a13de0bc6732e..6b2c2bdc88f0f7b3dc6a4b24347c61e7fe96fa0e 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 #  define EXTERN(type, array)  extern type array[]
 typedef unsigned char  uch;
 typedef unsigned short ush;
index d0b32f639737afcf2de6d1258e7e652b621eb5af..d465d953b26230c1224c32782a23e23d636acc4d 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 #define N 10000
 void foo (int);
 int test ()
index c2fec3fccaf37f084fed23ca6434bdb1e4dfa80e..dd7bdadc4e8861847a8d0356e94dc6fc6eb96573 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 #define N 10000
 void foo (int);
 int test ()
index 6264116e114178f916a1480937a4f78843c3eb9f..7d56cb7427923dbabf956acad31ade33c06fc051 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 #define N 24
 #define M 1000
 
index 3ad49971bc03bb4bc872f3ea5e64337f1b3799e9..cfbf401642ed67d436631f7cf1424c153ef0273a 100644 (file)
@@ -1,4 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
 typedef unsigned int __uint32_t;
 typedef __uint32_t __size_t;
 typedef __size_t size_t;
index cf25dcdaf093073456f925a594e024a9d9482b57..9e494f4d00695956c0626be5474d3bde4a7240fc 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index 1789e6b6c5a82826dc7ada43dd478bb4df85dd55..e20bfdcb34bb8f70f9d9fab2dfba5cb8dbbb9d0a 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 int toto()
 {
   int i, j, k;
@@ -26,5 +24,5 @@ int toto()
   return a[3][5] + b[1];
 }
 
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 3" 1 "graphite"} } */ 
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite"} } */
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index 515c53ad592fe86106f3d23952af4eeef30b03c2..4ab2d07f48d250e36fa0b8ca2645ad529621200d 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index 697a28ea1683f06621070fcbd3e10ce83b2e3e13..4f4b45b4914d89351770c3b10f82709781cc9856 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar ();
 
 int toto()
index d2623204735a2d6ecbd6ffeb3953a10abf1d6b2f..df208acb20164fedb44265caa3e04b1142dc93d7 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index 1187ce104ecbd63aa36450d37ddd52e389d555d0..c02748fa71acfe995d950a54698788adf4305fa3 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index 491ad372febb96d5333e0861246f50f5066be82a..3f14e347a51caaf32b9c1b447a62e70e51c4bf34 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 int bar (void);
 
 int toto()
index 871b86b8bd404bc623c22c0f05a56886b13205f8..a803d9217906fcab047ba61f0d3923aa142822e3 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 void bar (void);
 
 int toto()
index 61a5be1fd21be39b00abc7acbdd74a814bf25101..2d2dce3c1600d887bed4959118bf845e8b7486ff 100644 (file)
@@ -1,5 +1,3 @@
-/* { dg-options "-O2 -fgraphite -fdump-tree-graphite-all" } */
-
 float A[1000][1000], B[1000][1000], C[1000][1000];
 
 /* Multiply two n x n matrices A and B and store the result in C.  */
@@ -16,5 +14,5 @@ void matmult (int n)
 
 /* This one fails because the number of iterations cannot be
    determined anymore for the outermost loop.  */
-/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } } */ 
+/* { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" } } */
 /* { dg-final { cleanup-tree-dump "graphite" } } */
index 124f06d16eb74fc9f4442f9b083874e06e0b285a..8125853b937cc81e66bc1afc5efdaa917e1af5eb 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } 
-
 subroutine matrix_multiply(a,b,c,n)
 
 real(8), dimension(n,n) :: a,b,c
index af966ec5f97a515bd7586cb9009f237025f1f42a..6c7ee6fe9512f946881f5a54a376e3836ee718ec 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } 
-
       SUBROUTINE MATRIX_MUL_UNROLLED (A, B, C, L, M, N)
       DIMENSION A(L,M), B(M,N), C(L,N)
 
index c7809d3431b5b6445bc20ae55c3057bc8f7727f9..1579e66e41124eb8779ea0103928451f89537d57 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } 
-
 subroutine matrix_multiply(a,b,c,n)
 
 real(8), dimension(n,n) :: a,b,c
index 586a77725128fc476c3ca5a2c6e860382162dd80..f37d70aec3f31ca42289c70975f77d3b9be5371c 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -floop-block -fdump-tree-graphite-all" } 
-
 subroutine matrix_multiply(a,b,c,n)
 
 real(8), dimension(n,n) :: a,b,c
index a9fdb2c508fb71325ada91dda812de078950c3e1..717413e63ce22703b40e8569b224ea6352decc5c 100644 (file)
@@ -23,23 +23,64 @@ if ![check_effective_target_fgraphite] {
   return
 }
 
+# Remove VALUE from LIST_VARIABLE.
+proc lremove {list_variable value} {
+    upvar 1 $list_variable var
+    set idx [lsearch -exact $var $value]
+    set var [lreplace $var $idx $idx]
+}
+
 # The default action for a test is 'compile'.  Save current default.
 global dg-do-what-default
 set save-dg-do-what-default ${dg-do-what-default}
 set dg-do-what-default compile
 
-# If a testcase doesn't have special options, use these.
-set DEFAULT_GRAPHITE_FLAGS ""
-
 # Initialize `dg'.
 dg-init
 
 # Main loop.
-gfortran-dg-runtest [lsort \
-       [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ] ] $DEFAULT_GRAPHITE_FLAGS
+set wait_to_run_files [lsort [glob -nocomplain $srcdir/$subdir/*.\[fF\]{,90,95,03,08} ] ]
+
+# Flags using for block-* files.
+set DEFAULT_FLAGS_GRAPHITE_BLOCK "-O2 -fdump-tree-graphite-all"
+set block_files [lsort [glob -nocomplain $srcdir/$subdir/block-*.\[fF\]{,90,95,03,08} ] ]
+gfortran-dg-runtest $block_files $DEFAULT_FLAGS_GRAPHITE_BLOCK
+foreach block_file $block_files {lremove wait_to_run_files $block_file}
+
+# Flags using for id-* files.
+set DEFAULT_FLAGS_GRAPHITE_IDENTITY "-O2 -fgraphite-identity -fdump-tree-graphite-all"
+set id_files [lsort [glob -nocomplain $srcdir/$subdir/id-*.\[fF\]{,90,95,03,08} ] ]
+gfortran-dg-runtest $id_files $DEFAULT_FLAGS_GRAPHITE_IDENTITY
+foreach id_file $id_files {lremove wait_to_run_files $id_file}
+
+# Flags using for interchange-* files.
+set DEFAULT_FLAGS_GRAPHITE_BLOCK "-O2 -fdump-tree-graphite-all -floop-interchange"
+set interchange_files [lsort [glob -nocomplain $srcdir/$subdir/interchange-*.\[fF\]{,90,95,03,08} ] ]
+gfortran-dg-runtest $interchange_files $DEFAULT_FLAGS_GRAPHITE_BLOCK
+foreach interchange_file $interchange_files {lremove wait_to_run_files $interchange_file}
 
-gfortran-dg-runtest [lsort \
-       [glob -nocomplain $srcdir/$subdir/g77/*.\[fF\] ] ] $DEFAULT_GRAPHITE_FLAGS
+# Flags using for scop-* files.
+set DEFAULT_FLAGS_GRAPHITE_SCOP "-O2 -fgraphite -fdump-tree-graphite-all"
+set scop_files [lsort [glob -nocomplain $srcdir/$subdir/scop-*.\[fF\]{,90,95,03,08} ] ]
+gfortran-dg-runtest $scop_files $DEFAULT_FLAGS_GRAPHITE_SCOP
+foreach scop_file $scop_files {lremove wait_to_run_files $scop_file}
+
+# Schedule now the tests to be run.
+set dg-do-what-default run
+
+# Flags using for run-id-* files.
+set DEFAULT_FLAGS_RUN_ID "-O2 -fgraphite-identity"
+set run_id_files [lsort [glob -nocomplain $srcdir/$subdir/run-id-*.\[fF\]{,90,95,03,08} ] ]
+gfortran-dg-runtest $run_id_files $DEFAULT_FLAGS_RUN_ID
+foreach run_id_file $run_id_files {lremove wait_to_run_files $run_id_file}
+
+
+# The default action for the rest of the files is 'compile'.
+set dg-do-what-default compile
+
+# Flags using for other files.
+set DEFAULT_GRAPHITE_FLAGS ""
+gfortran-dg-runtest $wait_to_run_files $DEFAULT_GRAPHITE_FLAGS
 
 # Clean up.
 set dg-do-what-default ${save-dg-do-what-default}
index 0c9f54bb97939e6eb588b7ec9cf2ab375f9e2566..720fff8dd02af27ab727ad1e65615b6e831a048c 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -fgraphite-identity" }
-
 module solv_cap
   integer, parameter, public :: dp = selected_real_kind(5)
 contains
index 394bdf7ac16453d7856bd52717e428528e114e1c..7f0efc7bc8ee16ddffc8b51b1a5bfa294d6edd70 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -fgraphite-identity" }
-
 subroutine gentrs (ptrst, ncls, xmin, dcls, xdont, ndon) 
 do icls1 = 1, ncls
    prec:    do
index 896d608777eee00b574ffa951fe66248daace3c0..b2c6cb04edc50077c5171d8d68b97a699b32b611 100644 (file)
@@ -1,5 +1,3 @@
-! { dg-options "-O2 -fgraphite-identity" }
-
 MODULE Vcimage
   CHARACTER (LEN=80), SAVE :: CARD, FIELD
 END MODULE Vcimage
index 50e23428f82717f4254db28a3f4e7ce0e7c6e11f..a5d48b7124a74792c01da7cf8ef9fa84ba552963 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-options "-O2 -floop-block" }
+! { dg-options "-O2 " }
 
 PROGRAM TEST_FPU
 CHARACTER (LEN=36) :: invert_id(1) = &
index de2d3a124ee9556a12dba566fb26c9c469343190..c2cccb775da785335d2eba67256f2abe8f60eec0 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-options "-O2 -floop-block" }
+! { dg-options "-O2 " }
 
 program superficie_proteina
   integer, parameter :: LONGreal = selected_real_kind(12,90)
index 5306aa84c923c233bf5ed400ab001714584f7ef8..62eccf35ff1dc1c621e3351317757034fbf1d7b3 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-options "-O2 -floop-block" }
+! { dg-options "-O2 " }
 
 module INT_MODULE
 contains
index 834d33ab833d415cf76c3d63704c0b06c723e25f..da8c3cc7914de4e6adb061464f8736426f660c0d 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-options "-O3 -floop-block" }
+! { dg-options "-O3 " }
 
 SUBROUTINE IVSORT (IL,IH,NSEGS,IOUNIT)
   INTEGER IOUNIT  
index 245db0dfe28a9e326bf57ed2a8705e232fa4ae88..73224764f16d3e7fd437a9a4892f061e2a454873 100644 (file)
@@ -1,4 +1,4 @@
-! { dg-options "-O3 -floop-block -fgraphite-identity" }
+! { dg-options "-O3  -fgraphite-identity" }
 
       MODULE MAIN1
       INTEGER , PARAMETER :: IFMAX = 40 , IKN = 85 , ISTRG = 132 ,      &
index a279abaf9c2943684445c445011617889b41bada..5bd463c4e9c1802314f7f76bcdaac3dcebbdc26b 100644 (file)
@@ -1,5 +1,3 @@
-C { dg-options "-O2 -fgraphite" }
-
       dimension p1(2),t(6,4),b1(2),b2(2),al1(2),al2(2),g1(2),g2(2)
       save
       if(nlin.eq.0) then
@@ -11,3 +9,5 @@ C { dg-options "-O2 -fgraphite" }
       endif
       end
 
+! { dg-final { scan-tree-dump-times "number of SCoPs: 1" 1 "graphite" { xfail *-*-* } } } 
+! { dg-final { cleanup-tree-dump "graphite" } }