* 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
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.
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;
}
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}
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.
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}
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.
|| flag_graphite_identity || flag_loop_parallelize_all)
flag_graphite = 1;
- if (flag_loop_block)
- sorry ("loop blocking not implemented");
-
return flag_graphite != 0;
}