diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-11-25 04:58:16 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2009-11-25 04:58:16 +0000 |
commit | 24c79709800fe1f0213ef441f26fe08e881e5ab5 (patch) | |
tree | f6a3de9cab437f1335d5a15c73ead4cf2cf686d0 /gcc | |
parent | a0517b76ddeb6fdbc4346a508e98ac842b539694 (diff) | |
download | gcc-24c79709800fe1f0213ef441f26fe08e881e5ab5.zip gcc-24c79709800fe1f0213ef441f26fe08e881e5ab5.tar.gz gcc-24c79709800fe1f0213ef441f26fe08e881e5ab5.tar.bz2 |
graphite-poly.c (apply_poly_transforms): Implement the high level driver for flag_loop_block.
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.
From-SVN: r154569
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog.graphite | 12 | ||||
-rw-r--r-- | gcc/graphite-poly.c | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/graphite.exp | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/graphite/graphite.exp | 6 | ||||
-rw-r--r-- | gcc/tree-ssa-loop.c | 3 |
5 files changed, 29 insertions, 15 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index a058e52..388b4fd 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -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. diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c index 6fef0e3..d956ad4 100644 --- a/gcc/graphite-poly.c +++ b/gcc/graphite-poly.c @@ -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; } diff --git a/gcc/testsuite/gcc.dg/graphite/graphite.exp b/gcc/testsuite/gcc.dg/graphite/graphite.exp index ae0fa16..1267cf2 100644 --- a/gcc/testsuite/gcc.dg/graphite/graphite.exp +++ b/gcc/testsuite/gcc.dg/graphite/graphite.exp @@ -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. diff --git a/gcc/testsuite/gfortran.dg/graphite/graphite.exp b/gcc/testsuite/gfortran.dg/graphite/graphite.exp index 717413e..0746d37 100644 --- a/gcc/testsuite/gfortran.dg/graphite/graphite.exp +++ b/gcc/testsuite/gfortran.dg/graphite/graphite.exp @@ -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. diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index c52b787..b497ccc 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -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; } |