summaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-07-31 02:44:28 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-07-31 02:44:28 +0000
commit204b560f29f5d932a89a349ea0f1300cbba70d84 (patch)
tree97a4d56bceb53628871305cab824f736a9c334eb /gcc/passes.c
parent2abae5f13adafd84ac3f4e2da2890da4515fd1fe (diff)
downloadgcc-204b560f29f5d932a89a349ea0f1300cbba70d84.tar.gz
New implementation of Graphite.
2009-07-30 Sebastian Pop <sebastian.pop@amd.com> * Makefile.in (OBJS-common): Added dependence on graphite-blocking.o, graphite-clast-to-gimple.o, graphite-dependences.o, graphite-interchange.o, graphite-poly.o, graphite-ppl.o, graphite-scop-detection.o, graphite-sese-to-poly.o, and sese.o. (graphite-blocking.o, graphite-clast-to-gimple.o, graphite-dependences.o, graphite-interchange.o, graphite-poly.o, graphite-ppl.o, graphite-scop-detection.o, graphite-sese-to-poly.o, and sese.o): New. * cfgloop.c (alloc_loop): Set loop->can_be_parallel to false. * cfgloop.h (struct loop): Add can_be_parallel field. * common.opt (fgraphite-identity): Moved up. (fgraphite-force-parallel): New flag. * graphite.c: Rewrite. * graphite.h: Rewrite. * passes.c (init_optimization_passes): Schedule a pass of DCE and LIM after Graphite. * toplev.c (graphite_out_file): New file descriptor. (graphite_in_file): New. (process_options): flag_graphite_force_parallel cannot be used without Graphite. * tree-ssa-loop.c: Include toplev.h. (gate_graphite_transforms): Enable flag_graphite for flag_graphite_force_parallel. From-SVN: r150301
Diffstat (limited to 'gcc/passes.c')
-rw-r--r--gcc/passes.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/passes.c b/gcc/passes.c
index 9ad672c477a..8d5ec3eeb7c 100644
--- a/gcc/passes.c
+++ b/gcc/passes.c
@@ -658,6 +658,11 @@ init_optimization_passes (void)
NEXT_PASS (pass_loop_distribution);
NEXT_PASS (pass_linear_transform);
NEXT_PASS (pass_graphite_transforms);
+ {
+ struct opt_pass **p = &pass_graphite_transforms.pass.sub;
+ NEXT_PASS (pass_dce_loop);
+ NEXT_PASS (pass_lim);
+ }
NEXT_PASS (pass_iv_canon);
NEXT_PASS (pass_if_conversion);
NEXT_PASS (pass_vectorize);