OSDN Git Service

2008-09-02 Sebastian Pop <sebastian.pop@amd.com>
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Sep 2008 16:31:04 +0000 (16:31 +0000)
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 2 Sep 2008 16:31:04 +0000 (16:31 +0000)
commit255b6be72832e001a6aa896bada736ffc2735b19
tree1f3fd1f9608de8f06cfa843f8a480d295f0665d1
parentcd8171dd88ae95d9e06c4e9a22bf445ba14babd6
2008-09-02  Sebastian Pop  <sebastian.pop@amd.com>
    Tobias Grosser  <grosser@fim.uni-passau.de>
    Jan Sjodin  <jan.sjodin@amd.com>
    Harsha Jagasia  <harsha.jagasia@amd.com>
    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
    Konrad Trifunovic  <konrad.trifunovic@inria.fr>
    Adrien Eliche  <aeliche@isty.uvsq.fr>

Merge from graphite branch.
* configure: Regenerate.
* Makefile.in: Regenerate.
* configure.ac (host_libs): Add ppl and cloog.
Add checks for PPL and CLooG.
* Makefile.def (ppl, cloog): Added modules and dependences.
* Makefile.tpl (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): New.
(HOST_PPLLIBS, HOST_PPLINC, HOST_CLOOGLIBS, HOST_CLOOGINC): New.

gcc/
* graphite.c: New.
* graphite.h: New.
* tree-loop-linear.c (perfect_loop_nest_depth): Export.
* doc/invoke.texi (-floop-block, -floop-interchange,
-floop-strip-mine): Document new flags.
* tree-into-ssa.c (gimple_vec): Moved...
* tree-loop-distribution.c (rdg_component): Moved...
* cfgloopmanip.c: Include tree-flow.h.
(update_dominators_in_loop): New.
(create_empty_if_region_on_edge): New.
(create_empty_loop_on_edge): New.
(loopify): Use update_dominators_in_loop.
* tree-pass.h (pass_graphite_transforms): Declared.
* configure: Regenerate.
* tree-phinodes.c (make_phi_node): Export.
(add_phi_node_to_bb): New, split from create_phi_node.
* tree-chrec.c (for_each_scev_op): New.
* tree-chrec.h (for_each_scev_op): Declared.
* tree-ssa-loop-ivopts.c (get_phi_with_result): New.
(remove_statement): Call get_phi_with_result.
* config.in (HAVE_cloog): Undef.
* gdbinit.in (pgg): New.
* timevar.def (TV_GRAPHITE_TRANSFORMS): New.
* tree-ssa-loop.c (graphite_transforms): New.
(gate_graphite_transforms): New.
(pass_graphite_transforms): New.
* configure.ac (PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC,
HAVE_cloog): Defined.
* tree-vectorizer.c (rename_variables_in_bb): Export.
* tree-data-ref.c (dr_may_alias_p): Export.
(stmt_simple_memref_p): New.
(find_data_references_in_stmt): Export.
(find_data_references_in_loop): Export.
(create_rdg_edge_for_ddr): Initialize RDGE_RELATION.
(create_rdg_edges_for_scalar): Initialize RDGE_RELATION.
(create_rdg_vertices): Export.
(build_empty_rdg): New.
(build_rdg): Call build_empty_rdg.  Free dependence_relations.
* tree-data-ref.h (rdg_component): ... here.
(scop_p): New.
(struct data_reference): Add a field scop.
(DR_SCOP): New.
(find_data_references_in_loop): Declared.
(find_data_references_in_stmt): Declared.
(create_rdg_vertices): Declared.
(dr_may_alias_p): Declared.
(stmt_simple_memref_p): Declared.
(struct rdg_edge): Add a field ddr_p relation.
(build_empty_rdg): Declared.
* lambda.h (lambda_matrix): Declare a VEC of.
(find_induction_var_from_exit_cond): Declared.
(lambda_vector_compare): New.
* common.opt (fgraphite, floop-strip-mine,
floop-interchange, floop-block): New flags.
* lambda-code.c (find_induction_var_from_exit_cond): Export.
* cfgloop.c (is_loop_exit): New.
* cfgloop.h (is_loop_exit): Declared.
(create_empty_if_region_on_edge): Declared.
(create_empty_loop_on_edge): Declared.
* tree-flow.h (add_phi_node_to_bb): Declared.
(make_phi_node): Declared.
(rename_variables_in_bb): Declared.
(perfect_loop_nest_depth): Declared.
(graphite_transform_loops): Declared.
* Makefile.in (cfgloopmanip.o): Depend on TREE_FLOW_H.
(graphite.o-warn): Add -Wno-error.
(PPLLIBS, PPLINC, CLOOGLIBS, CLOOGINC): Declared.
(LIBS): Add GMPLIBS, CLOOGLIBS, PPLLIBS.
(INCLUDES): Add PPLINC, CLOOGINC.
(OBJS-common): Add graphite.o.
(graphite.o): Add rule.
* gimple.h (gimple_vec): ... here.
* tree-cfg.c (print_loops): Start printing at ENTRY_BLOCK_PTR.
* passes.c (init_optimization_passes): Schedule
pass_graphite_transforms.

testsuite/

* gcc.dg/graphite/scop-{0,1,2,3,4,5,6,7,8,9,
10,11,12,13,14,15,16,17,18}.c: New.
* gcc.dg/graphite/graphite.exp: New.
* gcc.dg/graphite/scop-matmult.c: New.
* gcc.dg/graphite/block-0.c: New.
* lib/target-supports.exp (check_effective_target_fgraphite): New.
* gfortran.dg/graphite/block-1.f90: New.
* gfortran.dg/graphite/scop-{1,2}.f: New.
* gfortran.dg/graphite/block-{1,3,4}.f90: New.
* gfortran.dg/graphite/graphite.exp: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@139893 138bc75d-0d04-0410-961f-82ee72b054a4
68 files changed:
ChangeLog
Makefile.def
Makefile.in
Makefile.tpl
configure
configure.ac
gcc/Makefile.in
gcc/cfgloop.c
gcc/cfgloop.h
gcc/cfgloopmanip.c
gcc/common.opt
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/doc/invoke.texi
gcc/gdbinit.in
gcc/gimple.h
gcc/graphite.c [new file with mode: 0644]
gcc/graphite.h [new file with mode: 0644]
gcc/lambda-code.c
gcc/lambda.h
gcc/passes.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/graphite/block-0.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/block-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/graphite.exp [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-0.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-10.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-11.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-12.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-13.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-14.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-15.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-16.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-17.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-18.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-6.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-7.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-8.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-9.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/graphite/scop-matmult.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/block-1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/block-2.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/block-3.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/block-4.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/graphite.exp [new file with mode: 0644]
gcc/testsuite/gfortran.dg/graphite/scop-1.f [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp
gcc/timevar.def
gcc/tree-cfg.c
gcc/tree-chrec.c
gcc/tree-chrec.h
gcc/tree-data-ref.c
gcc/tree-data-ref.h
gcc/tree-flow.h
gcc/tree-into-ssa.c
gcc/tree-loop-distribution.c
gcc/tree-loop-linear.c
gcc/tree-pass.h
gcc/tree-phinodes.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop.c
gcc/tree-vectorizer.c