OSDN Git Service

2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2009 04:58:16 +0000 (04:58 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Nov 2009 04:58:16 +0000 (04:58 +0000)
* graphite-poly.c (apply_poly_transforms): Implement the high
level driver for flag_loop_block.
* tree-ssa-loop.c (gate_graphite_transforms): Remove call to sorry for
flag_loop_block.

* gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add
-floop-block.
* gfortran.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
Add -floop-block.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154569 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog.graphite
gcc/graphite-poly.c
gcc/testsuite/gcc.dg/graphite/graphite.exp
gcc/testsuite/gfortran.dg/graphite/graphite.exp
gcc/tree-ssa-loop.c

index a058e52..388b4fd 100644 (file)
@@ -1,5 +1,17 @@
 2009-10-09  Sebastian Pop  <sebastian.pop@amd.com>
 
+       * graphite-poly.c (apply_poly_transforms): Implement the high
+       level driver for flag_loop_block.
+       * tree-ssa-loop.c (gate_graphite_transforms): Remove call to sorry for
+       flag_loop_block.
+
+       * gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add
+       -floop-block.
+       * gfortran.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
+       Add -floop-block.
+
+2009-10-09  Sebastian Pop  <sebastian.pop@amd.com>
+
        * graphite-poly.h (lst_find_pbb): New.
        (find_lst_loop): New.
 
index 6fef0e3..d956ad4 100644 (file)
@@ -250,13 +250,18 @@ apply_poly_transforms (scop_p scop)
     transform_done = true;
 
   if (flag_loop_block)
-    gcc_unreachable (); /* Not yet supported.  */
-
-  if (flag_loop_strip_mine)
-    transform_done |= scop_do_strip_mine (scop);
+    {
+      transform_done |= scop_do_strip_mine (scop);
+      transform_done |= scop_do_interchange (scop);
+    }
+  else
+    {
+      if (flag_loop_strip_mine)
+       transform_done |= scop_do_strip_mine (scop);
 
-  if (flag_loop_interchange)
-    transform_done |= scop_do_interchange (scop);
+      if (flag_loop_interchange)
+       transform_done |= scop_do_interchange (scop);
+    }
 
   return transform_done;
 }
index ae0fa16..1267cf2 100644 (file)
@@ -43,7 +43,7 @@ dg-init
 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 DEFAULT_CFLAGS_GRAPHITE_BLOCK "-O2 -floop-block -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}
@@ -55,9 +55,9 @@ 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 -ffast-math"
+set DEFAULT_CFLAGS_GRAPHITE_INTERCHANGE "-O2 -fdump-tree-graphite-all -floop-interchange -ffast-math"
 set interchange_files [lsort [glob -nocomplain $srcdir/$subdir/interchange-*.c ] ]
-dg-runtest $interchange_files "" $DEFAULT_CFLAGS_GRAPHITE_BLOCK
+dg-runtest $interchange_files "" $DEFAULT_CFLAGS_GRAPHITE_INTERCHANGE
 foreach interchange_file $interchange_files {lremove wait_to_run_files $interchange_file}
 
 # Flags using for scop-* files.
index 717413e..0746d37 100644 (file)
@@ -42,7 +42,7 @@ dg-init
 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 DEFAULT_FLAGS_GRAPHITE_BLOCK "-O2 -floop-block -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}
@@ -54,9 +54,9 @@ 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 DEFAULT_FLAGS_GRAPHITE_INTERCHANGE "-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
+gfortran-dg-runtest $interchange_files $DEFAULT_FLAGS_GRAPHITE_INTERCHANGE
 foreach interchange_file $interchange_files {lremove wait_to_run_files $interchange_file}
 
 # Flags using for scop-* files.
index c52b787..b497ccc 100644 (file)
@@ -311,9 +311,6 @@ gate_graphite_transforms (void)
       || flag_graphite_identity || flag_loop_parallelize_all)
     flag_graphite = 1;
 
-  if (flag_loop_block)
-    sorry ("loop blocking not implemented");
-
   return flag_graphite != 0;
 }