aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-05-312008-05-31 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
Jan Sjodin <jan.sjodin@amd.com> * graphite.c (stmt_in_scop_p, function_parameter_p, invariant_in_scop_p): Removed. (scan_tree_for_params): Can be used with no constraint matrix for gathering parameters. (idx_record_params): Don't use idx_record_param, instead use scan_tree_for_params. (find_scop_parameters): Same. (setup_cloog_loop, build_scop_iteration_domain, build_cloog_prog): Fix the size of loop domains. (schedule_to_scattering): Exit when the outer loop is not in scop. (find_transform): Enable build_cloog_prog. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136243 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-312008-05-31 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
Jan Sjodin <jan.sjodin@amd.com> * graphite.c (schedule_to_scattering): Make scattering domains uniformly of the same size, as required by CLooG 0.14.0 and before. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136241 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-312008-05-31 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
Jan Sjodin <jan.sjodin@amd.com> * graphite.c (schedule_to_scattering): Rewrite, correct the translation of the scheduling function to scattering. (build_cloog_prog): Call schedule_to_scattering only once. * graphite.h (scop_loop_index): Do not fail for loops not in the scop: return -1. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136240 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-312008-05-30 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (build_graphite_bb): Initialize GBB_DOMAIN. (loop_body_to_cloog_stmts): Export GBB_DOMAIN. (setup_cloog_loop): Export GBB_DOMAIN. (build_cloog_prog): New. Create new CLOOG_PROG, which should be able to rebuild the original control flow. * graphite.h (graphite_bb): Add domain field and access macro. (GBB_DOMAIN): New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136232 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-312008-05-30 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (debug_gbb): New. (print_scop, build_graphite_bb): Use SCOP_BBS. (build_scop_bbs): Reimplemented. (dfs_bb_in_scop_p): Removed. (build_scop_loop_nests): Reorder loops inserted in SCOP_LOOP_NEST: outer loops should come first. (build_scop_canonical_schedules): Reinitialize at zero the components of the SCOP_STATIC_SCHEDULE for the loops that have already been parsed. * graphite.h (debug_gbb): Declared. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136231 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-302008-05-30 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
Jan Sjodin <jan.sjodin@amd.com> * graphite.c (create_empty_loop): Renamed graphite_create_new_loop. (graphite_loop_to_gcc_loop): Removed. (remove_all_edges): New. (graphite_stmt_to_gcc_stmt): Renamed translate_clast. (gloog): Remove useless code. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136220 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-302008-05-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (get_bb_type): Reworked. We distinguish between loops with one or multiple exits. (is_loop_exit): New. (is_pred): New. (is_bb_addable): Rework condition handling, now support for case case statements. * testsuite/gcc.dg/graphite/scop-11.c: New. * testsuite/gcc.dg/graphite/scop-12.c: New. * testsuite/gcc.dg/graphite/scop-13.c: New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136199 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-292008-05-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops_1): Fix some colors. Reuse colors, if we have too many colors. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@136180 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-232008-05-22 Sandeep Maram <smaram_b04@iiita.ac.in>Sandeep Maram
* doc/invoke.texi (-ftree-loop-fusion): Document. * tree-pass.h (pass_loop_fusion): Declared. * tree-loop-fusion.c: New. * timevar.def (TV_TREE_LOOP_FUSION): Declared. * tree-data-ref.c (find_data_references_in_loop): Make extern. * tree-data-ref.h (find_data_references_in_loop): Declared. * common.opt (ftree-loop-fusion): Declared. * Makefile.in (tree-loop-fusion.o): Added rule and to OBJS-common. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135788 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-212008-05-21 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (build_access_matrix): Fix typo from the merge. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135727 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-212008-05-20 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* Merge from mainline (130800:135673). git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135697 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-07 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (end_scop): The exit of the scop is not part of the scop. Update dominators after splitting. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135058 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-07 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (is_bb_addable): Return the harmful statement. Factor up some code. (end_scop): New. Splits end of scope bbs on a harmful statement. (build_scops_1): Call end_scop. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135046 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-07 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c: (succs_at_same_depth, end_scop, all_preds_visited_p, all_succs_visited_p, start_new_scop_for_each_succ, start_new_scop, add_dominators_to_open_scops, stop_last_open_scop, scop_end_loop, build_scops_1): Removed. (build_scops_2): Renamed build_scops_1. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135043 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-07 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c: Fix formatting. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135042 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-06 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (get_bb_type): New. (move_scops): New. (build_scops_2): New. (is_bb_addable): New. (build_scops): Switch the scop detection. (build_scop_bbs): Add entry bb to scop. * graphite.h (struct scop): Update comment. * testsuite/gcc.dg/graphite/scop-7.c: Update pattern. * testsuite/gcc.dg/graphite/scop-8.c: Same. * testsuite/gcc.dg/graphite/scop-9.c: Same. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135021 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-06 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops_1): Fix some incorrect colors and add more colors. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135020 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-06 Tobias Grosser <grosser@fim.uni-passau.de>Sebastian Pop
* testsuite/gcc.dg/graphite/scop-1.c: Update. * testsuite/gcc.dg/graphite/scop-2.c: Update. * testsuite/gcc.dg/graphite/scop-4.c: Update. * testsuite/gcc.dg/graphite/scop-5.c: Add. * testsuite/gcc.dg/graphite/scop-6.c: Add. 2008-05-06 Sebastian Pop <sebastian.pop@amd.com> * testsuite/gcc.dg/graphite/scop-0.c: Add. * testsuite/gcc.dg/graphite/scop-7.c: Add. * testsuite/gcc.dg/graphite/scop-8.c: Add. * testsuite/gcc.dg/graphite/scop-9.c: Add. * testsuite/gcc.dg/graphite/scop-10.c: Add. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135019 138bc75d-0d04-0410-961f-82ee72b054a4
2008-05-072008-05-06 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (scop_affine_expr): Renamed to loop_affine_expr. Check affine expressions depending on the outermost loop instead of a scop. (stmt_simple_for_scop_p): Same. (harmfule_stmt_in_scop): Same. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135018 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-282008-04-28 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* cloog: Removed. * polylib: Removed. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134770 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-282008-04-28 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops): Remove incorrect difficult bb coloring, mark entry and exit, that are not part of the SCoP and update HTML formatting. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134760 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-25 * graphite.c (basic_block_simple_for_scop_p): Renamed harmful_stmt_in_bb.Sebastian Pop
(save_scop, preds_at_same_depth, test_for_scop_bound): Removed. (add_dominators_to_open_scops, build_scops_1): Reimplemented. (all_preds_visited_p, all_succs_visited_p, start_new_scop_for_each_succ, start_new_scop, stop_last_open_scop, scop_end_loop): New. (build_scops): Do not use dfs_enumerate_from. * testsuite/gcc.dg/graphite/scop-{1,2,4}.c: Updated. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134672 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-24 * graphite.c: Add comments to functions that are missing aSebastian Pop
description. (graphite_create_iv): Removed. Merged in graphite_loop_to_gcc_loop. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134613 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-23 * graphite.c (nb_params_in_scop): Moved...Sebastian Pop
(graphite_bb_from_bb, loop_body_to_cloog_stmts): New. (setup_cloog_loop): Call loop_body_to_cloog_stmts. (clast_to_gcc_expression): Reduce column size to less than 80. (graphite_create_iv): Return the new name of the IV. (find_transform): Set options->esp and options->cpp. (gloog): Comment out the invalidation of the old loop code. (initialize_dependence_polyhedron): Replace scop_nb_params with nb_params_in_scop. * graphite.h (nb_params_in_scop): ... here. (scop_nb_params): Removed. (loop_domain_dim): Return something even when the loop was not found in the hash table: avoid ICEing on all the graphite.exp testcases. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134603 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-212008-03-15 Antoniu Pop <antoniu.pop@gmail.com>Antoniu Pop
Sebastian Pop <sebastian.pop@amd.com> Jan Sjodin <jan.sjodin@amd.com> * stream.c, libgomp.h: Support for read/write sliding windows in streams. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134527 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-142008-04-14 Konrad Trifunovic <konrad.trifunovic@inria.fr>Konrad Trifunovic
* tree-chrec.c (for_each_scev_op): SCEV can have 3 operands. * graphite.c (build_scop_dynamic_schedules): Schedule is built according to nesting level. (find_scop_parameters): Call instantiate_parameters. (scan_tree_for_params): Extend it to handle general affine bounds. Inner loop bound can depend on outer loop induction variable. (setup_cloog_loop): tmp variable is allocated on stack. Call instantiate_parameters with respect to outermost_loop_in_scop. (loop_domain_dim, ref_nb_loops, loop_iteration_vector_dim): moved to graphite.h. (create_empty_loop): Function loopify should be given edge probability, instead of edge frequency. Dominance relation from switch_bb to loop_header. (clast_to_gcc_expression): Added handling of clast_reduction node. (gloog): New functionality for removing old loop. (test_dependence): Factored out from build_rdg_all_levels. (build_rdg_all_levels): Dependence testing factored out to test_dependence function. * graphite.h (struct graphite_bb): Extended with dynamic_schedule. (loop_domain_dim, ref_nb_loops, loop_iteration_vector_dim): Moved from graphite.c git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134285 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-08Modified ldist-*.c cases as in trunk.Sebastian Pop
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134096 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-07 * graphite.c (free_scop, param_index, initialize_cloog_names,Sebastian Pop
nb_params_in_scop): Use name_tree map instead of just a tree for keeping track of the variable name associated to that tree. (create_empty_loop, gmp_cst_to_tree, clast_name_to_gcc, clast_to_gcc_expression, graphite_create_iv, graphite_loop_to_gcc_loop, graphite_cond_to_gcc_cond, graphite_stmt_to_gcc_stmt): New. (gloog): Call these. * graphite.h (struct name_tree): New. (struct scop): Use name_tree instead of tree for params. Store a vector of name_tree for new_ivs. (SCOP_NEWIVS): New. (scop_nb_params): Use name_tree instead of tree. * polylib/source/arith/arithmetique.h (value_get_si): New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133983 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-052008-04-05 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* types.def (BT_FN_BOOL_PTR, BT_FN_PTR_SIZE_UINT, BT_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_INT, BT_FN_VOID_PTR_PTR_INT): New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133947 138bc75d-0d04-0410-961f-82ee72b054a4
2008-04-052008-04-05 Alexander Lamaison <awl03@doc.ic.ac.uk>Alexander Lamaison
Sebastian Pop <sebastian.pop@amd.com> * gcc/tree-bounds.c: New. * gcc/tree-bounds.h: New. * gcc/tree-pass.h: Declare pass_bounds_early and pass_bounds_late. * gcc/passes.c: Schedule pass_bounds_early, pass_bounds_late. * gcc/builtins.c (expand_builtin_alloca): Add flag_bounds as for flag_mudflap. * gcc/gcc.c: Same. * gcc/toplev.c: Same. * gcc/c-cppbuiltin.c: Same. * gcc/c-pragma.c: Same. * gcc/common.opt: Same. * gcc/varasm.c: Same. * gcc/tree-outof-ssa.c: Same. * gcc/c-common.c: Same. * gcc/Makefile.in: Same. toplev/ * Makefile.in: Add support for libbounds. * configure.ac: Same. * Makefile.def: Same. * configure: Regenerated. * libbounds: New. * libbounds/bounds-impl.h: New. * libbounds/configure: New. * libbounds/Makefile.in: New. * libbounds/libtool-version: New. * libbounds/bounds-oob.c: New. * libbounds/testsuite/boundsconfig.exp.in: New. * libbounds/testsuite/libbounds.cpp/pass37-pointer-subtract-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/pass36-pointer-add-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/pass20-pointer-addition-init1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass38-pointer-add-zero.cpp: New. * libbounds/testsuite/libbounds.cpp/fail16-pointer-decrement.cpp: New. * libbounds/testsuite/libbounds.cpp/pass28-pointer-addition-from-var-left.cpp: New. * libbounds/testsuite/libbounds.cpp/fail23-pointer-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/fail20-pointer-addition-init1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass14-pointer-subtraction2.cpp: New. * libbounds/testsuite/libbounds.cpp/fail04-stack3darray.cpp: New. * libbounds/testsuite/libbounds.cpp/fail12-pointer-subtraction1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass41-struct-array.cpp: New. * libbounds/testsuite/libbounds.cpp/fail32-pointer-address-addition.cpp: New. * libbounds/testsuite/libbounds.cpp/fail28-pointer-addition-from-var-left.cpp: New. * libbounds/testsuite/libbounds.cpp/pass62-pushback.cpp: New. * libbounds/testsuite/libbounds.cpp/fail26-pointer-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/fail19-pointer-predecrement.cpp: New. * libbounds/testsuite/libbounds.cpp/pass50-class.cpp: New. * libbounds/testsuite/libbounds.cpp/pass25-pointer-difference.cpp: New. * libbounds/testsuite/libbounds.cpp/pass52-class-string.cpp: New. * libbounds/testsuite/libbounds.cpp/fail44-struct-nested.cpp: New. * libbounds/testsuite/libbounds.cpp/pass05-stackarray-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/pass18-pointer-preincrement.cpp: New. * libbounds/testsuite/libbounds.cpp/fail35-function-params.cpp: New. * libbounds/testsuite/libbounds.cpp/pass27-pointer-addition-from-var-right.cpp: New. * libbounds/testsuite/libbounds.cpp/fail61-vector-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/pass51-class-array.cpp: New. * libbounds/testsuite/libbounds.cpp/pass46-struct-string-align.cpp: New. * libbounds/testsuite/libbounds.cpp/pass22-pointer-addition-from-array-init.cpp: New. * libbounds/testsuite/libbounds.cpp/pass16-pointer-decrement.cpp: New. * libbounds/testsuite/libbounds.cpp/pass34-pointer-difference-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/pass31-pointer-address-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/fail33-pointer-address-addition-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/pass54-class-nested.cpp: New. * libbounds/testsuite/libbounds.cpp/fail36-pointer-add-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/fail03-stack2darray.cpp: New. * libbounds/testsuite/libbounds.cpp/fail21-pointer-subtraction-init1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass30-pointer-address.cpp: New. * libbounds/testsuite/libbounds.cpp/pass02-stackarray.cpp: New. * libbounds/testsuite/libbounds.cpp/fail24-pointer-referent-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/fail02-stackarray.cpp: New. * libbounds/testsuite/libbounds.cpp/cfrags.exp: New. * libbounds/testsuite/libbounds.cpp/pass44-struct-nested.cpp: New. * libbounds/testsuite/libbounds.cpp/pass01-noop.cpp: New. * libbounds/testsuite/libbounds.cpp/fail15-pointer-increment.cpp: New. * libbounds/testsuite/libbounds.cpp/pass29-pointer-subtraction-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/pass63-stack.cpp: New. * libbounds/testsuite/libbounds.cpp/fail05-stackarray-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/pass62-pushback.s: New. * libbounds/testsuite/libbounds.cpp/pass33-pointer-address-addition-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/fail27-pointer-addition-from-var-right.cpp: New. * libbounds/testsuite/libbounds.cpp/pass23-pointer-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/pass17-pointer-addition-from-array.cpp: New. * libbounds/testsuite/libbounds.cpp/fail06-stackarray-referent-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/fail46-struct-string-align.cpp: New. * libbounds/testsuite/libbounds.cpp/pass04-stack3darray.cpp: New. * libbounds/testsuite/libbounds.cpp/pass12-pointer-subtraction1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass21-pointer-subtraction-init1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass32-pointer-address-addition.cpp: New. * libbounds/testsuite/libbounds.cpp/fail37-pointer-subtract-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/fail11-pointer-addition1.cpp: New. * libbounds/testsuite/libbounds.cpp/fail42-struct-string.cpp: New. * libbounds/testsuite/libbounds.cpp/fail13-pointer-addition2.cpp: New. * libbounds/testsuite/libbounds.cpp/pass24-pointer-referent-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/pass19-pointer-predecrement.cpp: New. * libbounds/testsuite/libbounds.cpp/fail14-pointer-subtraction2.cpp: New. * libbounds/testsuite/libbounds.cpp/pass15-pointer-increment.cpp: New. * libbounds/testsuite/libbounds.cpp/pass60-vector.cpp: New. * libbounds/testsuite/libbounds.cpp/fail30-pointer-address.cpp: New. * libbounds/testsuite/libbounds.cpp/pass56-class-string-align.cpp: New. * libbounds/testsuite/libbounds.cpp/fail60-vector.cpp: New. * libbounds/testsuite/libbounds.cpp/fail56-class-string-align.cpp: New. * libbounds/testsuite/libbounds.cpp/pass10-pointer.cpp: New. * libbounds/testsuite/libbounds.cpp/fail52-class-string.cpp: New. * libbounds/testsuite/libbounds.cpp/fail18-pointer-preincrement.cpp: New. * libbounds/testsuite/libbounds.cpp/pass40-struct.cpp: New. * libbounds/testsuite/libbounds.cpp/pass11-pointer-addition1.cpp: New. * libbounds/testsuite/libbounds.cpp/pass03-stack2darray.cpp: New. * libbounds/testsuite/libbounds.cpp/pass42-struct-string.cpp: New. * libbounds/testsuite/libbounds.cpp/pass13-pointer-addition2.cpp: New. * libbounds/testsuite/libbounds.cpp/fail22-pointer-addition-from-array-init.cpp: New. * libbounds/testsuite/libbounds.cpp/fail31-pointer-address-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/fail54-class-nested.cpp: New. * libbounds/testsuite/libbounds.cpp/fail17-pointer-addition-from-array.cpp: New. * libbounds/testsuite/libbounds.cpp/pass26-pointer-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/pass35-function-params.cpp: New. * libbounds/testsuite/libbounds.cpp/pass61-vector-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/fail29-pointer-subtraction-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/fail10-pointer.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass23-pointer-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass17-pointer-addition-from-array.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass12-pointer-subtraction1.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail16-pointer-decrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass32-pointer-address-addition.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail11-pointer-addition1.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass28-pointer-addition-from-var-left.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail23-pointer-referent.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass14-pointer-subtraction2.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail12-pointer-subtraction1.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail13-pointer-addition2.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass24-pointer-referent-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass19-pointer-predecrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail32-pointer-address-addition.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail14-pointer-subtraction2.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail28-pointer-addition-from-var-left.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass60-vector.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass15-pointer-increment.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail19-pointer-predecrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail26-pointer-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail30-pointer-address.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail60-vector.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass25-pointer-difference.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass10-pointer.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass18-pointer-preincrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass27-pointer-addition-from-var-right.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail61-vector-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail18-pointer-preincrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass16-pointer-decrement.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass11-pointer-addition1.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass34-pointer-difference-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass31-pointer-address-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail33-pointer-address-addition-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass13-pointer-addition2.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail31-pointer-address-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail17-pointer-addition-from-array.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass26-pointer-oob.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass30-pointer-address.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail24-pointer-referent-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail15-pointer-increment.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass29-pointer-subtraction-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass61-vector-loop.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail29-pointer-subtraction-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail10-pointer.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/pass33-pointer-address-addition-from-var.cpp: New. * libbounds/testsuite/libbounds.cpp/heap/fail27-pointer-addition-from-var-right.cpp: New. * libbounds/testsuite/libbounds.cpp/pass06-stackarray-referent-loop.cpp: New. * libbounds/testsuite/Makefile.in: New. * libbounds/testsuite/libbounds.c/pass22-pointer-addition-from-array-init.c: New. * libbounds/testsuite/libbounds.c/pass16-pointer-decrement.c: New. * libbounds/testsuite/libbounds.c/pass11-pointer-addition1.c: New. * libbounds/testsuite/libbounds.c/pass42-struct-string.c: New. * libbounds/testsuite/libbounds.c/fail22-pointer-addition-from-array-init.c: New. * libbounds/testsuite/libbounds.c/fail36-pointer-add-oob.c: New. * libbounds/testsuite/libbounds.c/fail21-pointer-subtraction-init1.c: New. * libbounds/testsuite/libbounds.c/fail02-stackarray.c: New. * libbounds/testsuite/libbounds.c/pass29-pointer-subtraction-from-var.c: New. * libbounds/testsuite/libbounds.c/fail15-pointer-increment.c: New. * libbounds/testsuite/libbounds.c/pass35-function-params.c: New. * libbounds/testsuite/libbounds.c/fail29-pointer-subtraction-from-var.c: New. * libbounds/testsuite/libbounds.c/fail10-pointer.c: New. * libbounds/testsuite/libbounds.c/pass33-pointer-address-addition-from-var.c: New. * libbounds/testsuite/libbounds.c/fail27-pointer-addition-from-var-right.c: New. * libbounds/testsuite/libbounds.c/fail02-stackarray.s: New. * libbounds/testsuite/libbounds.c/pass37-pointer-subtract-oob.c: New. * libbounds/testsuite/libbounds.c/pass36-pointer-add-oob.c: New. * libbounds/testsuite/libbounds.c/pass23-pointer-referent.c: New. * libbounds/testsuite/libbounds.c/pass38-pointer-add-zero.c: New. * libbounds/testsuite/libbounds.c/pass04-stack3darray.c: New. * libbounds/testsuite/libbounds.c/fail46-struct-string-align.c: New. * libbounds/testsuite/libbounds.c/pass12-pointer-subtraction1.c: New. * libbounds/testsuite/libbounds.c/fail16-pointer-decrement.c: New. * libbounds/testsuite/libbounds.c/pass32-pointer-address-addition.c: New. * libbounds/testsuite/libbounds.c/fail37-pointer-subtract-oob.c: New. * libbounds/testsuite/libbounds.c/fail11-pointer-addition1.c: New. * libbounds/testsuite/libbounds.c/fail20-pointer-addition-init1.c: New. * libbounds/testsuite/libbounds.c/pass28-pointer-addition-from-var-left.c: New. * libbounds/testsuite/libbounds.c/fail23-pointer-referent.c: New. * libbounds/testsuite/libbounds.c/pass14-pointer-subtraction2.c: New. * libbounds/testsuite/libbounds.c/fail42-struct-string.c: New. * libbounds/testsuite/libbounds.c/fail04-stack3darray.c: New. * libbounds/testsuite/libbounds.c/fail12-pointer-subtraction1.c: New. * libbounds/testsuite/libbounds.c/pass19-pointer-predecrement.c: New. * libbounds/testsuite/libbounds.c/pass24-pointer-referent-loop.c: New. * libbounds/testsuite/libbounds.c/fail32-pointer-address-addition.c: New. * libbounds/testsuite/libbounds.c/fail10-pointer.s: New. * libbounds/testsuite/libbounds.c/fail14-pointer-subtraction2.c: New. * libbounds/testsuite/libbounds.c/fail19-pointer-predecrement.c: New. * libbounds/testsuite/libbounds.c/fail26-pointer-oob.c: New. * libbounds/testsuite/libbounds.c/cfrags.exp: New. * libbounds/testsuite/libbounds.c/fail30-pointer-address.c: New. * libbounds/testsuite/libbounds.c/pass10-pointer.c: New. * libbounds/testsuite/libbounds.c/fail11-pointer-addition1.s: New. * libbounds/testsuite/libbounds.c/pass18-pointer-preincrement.c: New. * libbounds/testsuite/libbounds.c/pass27-pointer-addition-from-var-right.c: New. * libbounds/testsuite/libbounds.c/fail18-pointer-preincrement.c: New. * libbounds/testsuite/libbounds.c/pass46-struct-string-align.c: New. * libbounds/testsuite/libbounds.c/pass34-pointer-difference-oob.c: New. * libbounds/testsuite/libbounds.c/pass03-stack2darray.c: New. * libbounds/testsuite/libbounds.c/fail33-pointer-address-addition-from-var.c: New. * libbounds/testsuite/libbounds.c/pass31-pointer-address-from-var.c: New. * libbounds/testsuite/libbounds.c/pass13-pointer-addition2.c: New. * libbounds/testsuite/libbounds.c/fail03-stack2darray.c: New. * libbounds/testsuite/libbounds.c/fail17-pointer-addition-from-array.c: New. * libbounds/testsuite/libbounds.c/fail31-pointer-address-from-var.c: New. * libbounds/testsuite/libbounds.c/pass26-pointer-oob.c: New. * libbounds/testsuite/libbounds.c/pass30-pointer-address.c: New. * libbounds/testsuite/libbounds.c/pass02-stackarray.c: New. * libbounds/testsuite/libbounds.c/fail24-pointer-referent-loop.c: New. * libbounds/testsuite/libbounds.c/pass44-struct-nested.c: New. * libbounds/testsuite/libbounds.c/pass01-noop.c: New. * libbounds/testsuite/libbounds.c/fail05-stackarray-referent.c: New. * libbounds/testsuite/libbounds.c/pass06-stackarray-referent-loop.c: New. * libbounds/testsuite/libbounds.c/pass20-pointer-addition-init1.c: New. * libbounds/testsuite/libbounds.c/fail06-stackarray-referent-loop.c: New. * libbounds/testsuite/libbounds.c/pass17-pointer-addition-from-array.c: New. * libbounds/testsuite/libbounds.c/pass21-pointer-subtraction-init1.c: New. * libbounds/testsuite/libbounds.c/fail13-pointer-addition2.c: New. * libbounds/testsuite/libbounds.c/pass41-struct-array.c: New. * libbounds/testsuite/libbounds.c/fail28-pointer-addition-from-var-left.c: New. * libbounds/testsuite/libbounds.c/pass15-pointer-increment.c: New. * libbounds/testsuite/libbounds.c/fail06-stackarray-referent-loop.s: New. * libbounds/testsuite/libbounds.c/pass25-pointer-difference.c: New. * libbounds/testsuite/libbounds.c/pass05-stackarray-referent.c: New. * libbounds/testsuite/libbounds.c/fail44-struct-nested.c: New. * libbounds/testsuite/libbounds.c/fail35-function-params.c: New. * libbounds/testsuite/libbounds.c/pass40-struct.c: New. * libbounds/testsuite/libbounds.c/heap/pass46-struct-string-align.c: New. * libbounds/testsuite/libbounds.c/heap/pass16-pointer-decrement.c: New. * libbounds/testsuite/libbounds.c/heap/pass34-pointer-difference-oob.c: New. * libbounds/testsuite/libbounds.c/heap/pass11-pointer-addition1.c: New. * libbounds/testsuite/libbounds.c/heap/fail40-struct.c: New. * libbounds/testsuite/libbounds.c/heap/fail33-pointer-address-addition-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/pass31-pointer-address-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/pass42-struct-string.c: New. * libbounds/testsuite/libbounds.c/heap/pass13-pointer-addition2.c: New. * libbounds/testsuite/libbounds.c/heap/fail31-pointer-address-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/fail17-pointer-addition-from-array.c: New. * libbounds/testsuite/libbounds.c/heap/pass26-pointer-oob.c: New. * libbounds/testsuite/libbounds.c/heap/pass30-pointer-address.c: New. * libbounds/testsuite/libbounds.c/heap/fail24-pointer-referent-loop.c: New. * libbounds/testsuite/libbounds.c/heap/pass29-pointer-subtraction-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/fail15-pointer-increment.c: New. * libbounds/testsuite/libbounds.c/heap/fail44.struct-nested.c: New. * libbounds/testsuite/libbounds.c/heap/fail29-pointer-subtraction-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/fail10-pointer.c: New. * libbounds/testsuite/libbounds.c/heap/fail27-pointer-addition-from-var-right.c: New. * libbounds/testsuite/libbounds.c/heap/pass33-pointer-address-addition-from-var.c: New. * libbounds/testsuite/libbounds.c/heap/pass23-pointer-referent.c: New. * libbounds/testsuite/libbounds.c/heap/pass17-pointer-addition-from-array.c: New. * libbounds/testsuite/libbounds.c/heap/fail46-struct-string-align.c: New. * libbounds/testsuite/libbounds.c/heap/pass12-pointer-subtraction1.c: New. * libbounds/testsuite/libbounds.c/heap/fail16-pointer-decrement.c: New. * libbounds/testsuite/libbounds.c/heap/pass32-pointer-address-addition.c: New. * libbounds/testsuite/libbounds.c/heap/fail11-pointer-addition1.c: New. * libbounds/testsuite/libbounds.c/heap/pass28-pointer-addition-from-var-left.c: New. * libbounds/testsuite/libbounds.c/heap/pass14-pointer-subtraction2.c: New. * libbounds/testsuite/libbounds.c/heap/fail23-pointer-referent.c: New. * libbounds/testsuite/libbounds.c/heap/fail42-struct-string.c: New. * libbounds/testsuite/libbounds.c/heap/fail13-pointer-addition2.c: New. * libbounds/testsuite/libbounds.c/heap/fail12-pointer-subtraction1.c: New. * libbounds/testsuite/libbounds.c/heap/pass24-pointer-referent-loop.c: New. * libbounds/testsuite/libbounds.c/heap/pass19-pointer-predecrement.c: New. * libbounds/testsuite/libbounds.c/heap/pass41-struct-array.c: New. * libbounds/testsuite/libbounds.c/heap/fail32-pointer-address-addition.c: New. * libbounds/testsuite/libbounds.c/heap/fail28-pointer-addition-from-var-left.c: New. * libbounds/testsuite/libbounds.c/heap/fail14-pointer-subtraction2.c: New. * libbounds/testsuite/libbounds.c/heap/pass15-pointer-increment.c: New. * libbounds/testsuite/libbounds.c/heap/fail41-struct-array.c: New. * libbounds/testsuite/libbounds.c/heap/fail19-pointer-predecrement.c: New. * libbounds/testsuite/libbounds.c/heap/fail26-pointer-oob.c: New. * libbounds/testsuite/libbounds.c/heap/fail30-pointer-address.c: New. * libbounds/testsuite/libbounds.c/heap/pass44.struct-nested.c: New. * libbounds/testsuite/libbounds.c/heap/pass25-pointer-difference.c: New. * libbounds/testsuite/libbounds.c/heap/pass10-pointer.c: New. * libbounds/testsuite/libbounds.c/heap/pass18-pointer-preincrement.c: New. * libbounds/testsuite/libbounds.c/heap/pass27-pointer-addition-from-var-right.c: New. * libbounds/testsuite/libbounds.c/heap/fail18-pointer-preincrement.c: New. * libbounds/testsuite/libbounds.c/heap/pass40-struct.c: New. * libbounds/testsuite/config/default.exp: New. * libbounds/testsuite/lib/boundsdg.exp: New. * libbounds/testsuite/lib/libbounds.exp: New. * libbounds/testsuite/Makefile.am: New. * libbounds/bounds-runtime.c: New. * libbounds/bounds-oob.h: New. * libbounds/bounds-splay-tree.c: New. * libbounds/config.h.in: New. * libbounds/bounds-runtime.h: New. * libbounds/configure.ac: New. * libbounds/bounds-splay-tree.h: New. * libbounds/autom4te.cache/output.1: New. * libbounds/autom4te.cache/traces.0: New. * libbounds/autom4te.cache/traces.1: New. * libbounds/autom4te.cache/requests: New. * libbounds/autom4te.cache/output.0: New. * libbounds/acinclude.m4: New. * libbounds/Makefile.am: New. * libbounds/aclocal.m4: New. * libbounds/bounds-hooks1.c: New. * libbounds/bounds-hooks2.c: New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133942 138bc75d-0d04-0410-961f-82ee72b054a4
2008-03-152008-03-15 Antoniu Pop <antoniu.pop@gmail.com>Antoniu Pop
Sebastian Pop <sebastian.pop@amd.com> * libgomp/libgomp_g.h (GOMP_stream_align_push, GOMP_stream_align_pop): Declared. * libgomp/stream.c (gomp_stream_align_push, gomp_stream_align_pop, GOMP_stream_align_push, GOMP_stream_align_pop): New. * libgomp/libgomp.h (gomp_stream_align_push, gomp_stream_align_pop): Declared. * tree-loop-distribution.c (remaining_stmts, upstream_mem_writes): Removed static variables. (copy_loop_before, create_bb_after_loop, mark_nodes_having_upstream_mem_writes, free_rdg_components, rdg_build_components, rdg_build_partitions, dump_rdg_partitions): Extern. (generate_loops_for_partition, generate_code_for_partition): Do not return a bool. (already_processed_vertex_p, predecessor_has_mem_write, mark_nodes_having_upstream_mem_writes, has_upstream_mem_writes, rdg_flag_all_uses, rdg_flag_uses, rdg_flag_vertex_and_dependent, rdg_flag_loop_exits, rdg_flag_similar_memory_accesses, build_rdg_partition_for_component, rdg_build_partitions, ldist_gen): Pass remaining_stmts and upstream_mem_writes as parameters. (rdg_component): Moved... (build_rdg_partition_for_component): Do not aggregate components when flag_streamize_loops is set. (gen_sequential_loops): New. (ldist_gen): Call gen_sequential_loops. * tree-pass.h (pass_loop_streamization): Declared. * omp-low.c (expand_omp_sections): Call add_bb_to_loop on created basic blocks when loops structures exist. * builtin-types.def (BT_FN_VOID_PTR_PTR_INT): New. * tree-ssa-loop-ivopts.c (expr_invariant_in_region_p): New. * tree-parloops.c (take_address_of, eliminate_local_variables_1, eliminate_local_variables_stmt, eliminate_local_variables, separate_decls_in_loop_name, separate_decls_in_loop_stmt, separate_decls_in_loop, gen_parallel_loop): Make them work on a region of code delimited by two edges in the CFG. (separate_decls_in_loop_name): Renamed separate_decls_in_region_name. (separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt. (separate_decls_in_loop): Renamed separate_decls_in_region. Isolate the case of parallelisation of reductions. (create_loop_fn): Extern. (create_omp_parallel_region): New. * tree-data-ref.c (dump_data_dependence_relation): Don't call dump_data_reference for printing dra and drb. (create_rdg_edge_for_ddr, create_rdg_edges_for_scalar): Initialise RDGE_RELATION. (build_rdg): Don't call free_dependence_relations for the moment, as we attach dependence relations on each edge of the RDG. To be fixed later. * tree-data-ref.h (rdg_component): ...here. (struct rdg_edge): New field ddr_p relation. (RDGE_RELATION): New. (create_bb_after_loop, copy_loop_before, mark_nodes_having_upstream_mem_writes, rdg_build_components, rdg_build_partitions, dump_rdg_partitions, free_rdg_components): Declared. * omp-builtins.def (BUILT_IN_GOMP_STREAM_ALIGN_PUSH, BUILT_IN_GOMP_STREAM_ALIGN_POP): New. * tree-loop-streamization.c: New. * tree-flow.h (gather_blocks_in_sese_region, create_loop_fn, create_omp_parallel_region, expr_invariant_in_region_p): Declared. * Makefile.in (tree-loop-streamization.o): Added to OBJS-common. * tree-cfg.c (gather_blocks_in_sese_region): Extern. * passes.c: Schedule pass_loop_streamization. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133235 138bc75d-0d04-0410-961f-82ee72b054a4
2008-03-132008-03-08 Tobias Grosser <grosser@fmi.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops_1): Fix formatting for difficult bbs and update comment. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133192 138bc75d-0d04-0410-961f-82ee72b054a4
2008-03-102008-03-07 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops): Update formatting. Bbs can now be part of more than one SCoP. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@133075 138bc75d-0d04-0410-961f-82ee72b054a4
2008-03-052008-03-04 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (new_loop_to_cloog_loop_str, setup_cloog_loop): Fix malloc problems. (loop_domain_dim): Check for unregistered toplev SCOP loop. * graphite.h (loop_to_cloog_loop): New. 2008-03-04 Konrad Trifunovic <konrad.trifunovic@inria.fr> * graphite.c (loop_domain_dim, ref_nb_loops, loop_iteration_vector_dim): New. (build_access_matrix_with_af, build_access_matrix, initialize_dependence_polyhedron): Fixed for new matrix layout. No longer assume that all iteration domains are of the same dimensionality. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132895 138bc75d-0d04-0410-961f-82ee72b054a4
2008-03-032008-03-02 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* tree-scalar-evolution.c (instantiate_parameters_1): An SSA_NAME defined in a loop at depth 0 is invariant. * tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto. * tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Should never be called at loop depth 0. * graphite.c (basic_block_simple_for_scop_p): Take the scop as a parameter. (dot_all_scops_1): Update use of basic_block_simple_for_scop_p. (down_open_scop): Removed. (loop_in_scop_p): Redefined. (scop_affine_expr): New argument: scop. (stmt_simple_for_scop_p): New argument: scop. RETURN_EXPR is not a harmful statement ending a scop. (basic_block_simple_for_scop_p): New argument: scop. (get_loop_start): Removed. (new_scop): Initialize SCOP_LOOPS. (free_scop): Free SCOP_LOOPS. (succs_at_same_depth, preds_at_same_depth): New. (end_scop): Test the validity of a scop. (add_dominators_to_open_scops): New. (test_for_scop_bound): Call add_dominators_to_open_scops. Add cases for opening and closing multiple scops. (build_scops, build_scop_bbs): Iterate over basic blocks in depth first. (build_graphite_bb): Pass scop directly. (dfs_bb_in_scop_p): New. (scop_record_loop): Use SCOP_LOOPS for not recording the same loop several times. (nb_loops_around_gb): Use loop_in_scop_p. (schedule_to_scattering): Disabled for the moment the code computing the "textual order for outer loop". * graphite.h (struct scop): New field loops. (SCOP_LOOPS): New. (scop_loop_index): Test that the given loop belongs to SCOP_LOOPS. * testsuite/gcc.dg/graphite/scop-{1,...,7}.c: Updated. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132834 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-27libgomp/Antoniu Pop
* libgomp_g.h (GOMP_stream_create, GOMP_stream_push, GOMP_stream_head, GOMP_stream_pop, GOMP_stream_eos_p, GOMP_stream_set_eos, GOMP_stream_destroy): Declared. * stream.c (gomp_stream_used_space, gomp_stream_free_space, gomp_stream_wait_used_space, gomp_stream_wait_free_space): Make static inline. (gomp_stream_push, gomp_stream_pop): Changed elements types to char *. (gomp_stream_pop): Do not return the element, do not copy the memory. (gomp_stream_head, GOMP_stream_create, GOMP_stream_push, GOMP_stream_head, GOMP_stream_pop, GOMP_stream_eos_p, GOMP_stream_set_eos, GOMP_stream_destroy): New. * libgomp.h (gomp_stream_used_space, gomp_stream_free_space, gomp_stream_wait_used_space, gomp_stream_wait_free_space): Removed. gcc/ * builtin-types.def (BT_FN_PTR_SIZE_UINT, BT_FN_BOOL_PTR): New. * common.opt (fstreamize-loops): New. * omp-builtins.def (BUILT_IN_GOMP_STREAM_CREATE, BUILT_IN_GOMP_STREAM_PUSH, BUILT_IN_GOMP_STREAM_HEAD, BUILT_IN_GOMP_STREAM_POP, BUILT_IN_GOMP_STREAM_EOS_P, BUILT_IN_GOMP_STREAM_SET_EOS, BUILT_IN_GOMP_STREAM_DESTROY): New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132728 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-222008-02-22 Konrad Trifunovic <konrad.trifunovic@inria.fr>Konrad Trifunovic
* tree-data-ref.c (build_empty_rdg): New. (build_rdg): Use it. * tree-data-ref.h (build_empty_rdg): Declared. * graphite.c (free_scop): Free SCOP_LOOP2CLOOG_LOOP. (find_vertex_for_stmt): Removed. (build_rdg_all_levels): Use build_empty_rdg and rdg_vertex_for_stmt. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132556 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-212008-02-21 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* tree-loop-distribution.c (generate_builtin): After cancelling the loop tree, also delete basic blocks. (rdg_flag_uses): Stop recursion when a vertex has already been processed. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132526 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-202008-02-05 Antoniu Pop <antoniu.pop@gmail.com>Antoniu Pop
Sebastian Pop <sebastian.pop@amd.com> * Makefile.in: Regenerated. * stream.c: New. * libgomp.h (gomp_stream): New. (gomp_stream_create, gomp_stream_used_space, gomp_stream_free_space, gomp_stream_wait_used_space, gomp_stream_wait_free_space, gomp_stream_push, gomp_stream_pop, gomp_stream_eos_p, gomp_stream_set_eos, gomp_stream_destroy): Declared. * Makefile.am (libgomp_la_SOURCES): Add dependence on stream.c. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132495 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-152008-02-15 Konrad Trifunovic <konrad.trifunovic@inria.fr>Konrad Trifunovic
* graphite.c (build_scop_alpha): Removed. (graphite_transform_loops): Add a dummy call to build_all_rdg_levels and dump_dependence_graph to avoid compiler warnings. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132346 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-142008-02-14 Konrad Trifunovic <konrad.trifunovic@inria.fr>Konrad Trifunovic
* tree-data-ref.c (dr_may_alias_p, create_rdg_vertices): Extern. * tree-data-ref.h (dr_may_alias_p, create_rdg_vertices): Declared. * graphite.c (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop, eq_loop_to_cloog_loop, del_loop_to_cloog_loop): New. (new_scop, setup_cloog_loop): Initialize SCOP_LOOP2CLOOG_LOOP. (initialize_dependence_polyhedron, find_vertex_for_stmt, initialize_data_dependence_polyhedron, is_empty_polyhedron, statement_precedes_p, build_rdg_all_levels, build_scop_alpha, dump_dependence_graph): New. * graphite.h (struct graphite_bb): New field compressed_alpha_matrix. (GBB_ALPHA): New. (struct scop): New field loop2cloog_loop. (SCOP_LOOP2CLOOG_LOOP, struct data_dependence_polyhedron, RDGE_DDP, ddp_p, struct loop_to_cloog_loop_str): New. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132318 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-102008-02-10 Konrad Trifunovic <konrad.trifunovic@inria.fr>Konrad Trifunovic
* graphite.c (build_graphite_bb): Fix initialization of the graphite basic block. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132219 138bc75d-0d04-0410-961f-82ee72b054a4
2008-02-062008-02-05 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* graphite.c (scan_tree_for_params): Rewrite for the new layout of loop domain matrix. Pass in the number of loops contained in the constraint matrix. (nb_loops_around_gb): Moved before setup_cloog_loop that uses it. (setup_cloog_loop): Rewrite for the new layout of loop domain matrix: loops that are not surrounding the current loop are not represented in the domain constraint matrix. (build_scop_iteration_domain): Initial domain constraint matrix contains only the eq/ineq, cst, and scop parameters columns. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@132140 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-302008-01-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (schedule_to_scattering, nb_loops_around_gb): New. (print_graphite_bb): Print scattering. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131955 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-302008-01-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (initialize_cloog_names): Initialize names of scattering variables. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131954 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-302009-01-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops_1): Disable debug output while printing graph. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131953 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-302008-01-29 Tobias Grosser <grosser@fim.uni-passau.de>Tobias Grosser
* graphite.c (find_transform): Change cloog output language to C. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131952 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-272008-01-27 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
* tree-loop-distribution.c (generate_memset_zero, generate_builtin, generate_code_for_partition, rdg_flag_all_uses): New. (rdg_flag_uses): Gather in the same partition the statements defining the VUSES of the current statement. (rdg_flag_similar_stores): Renamed rdg_flag_similar_memory_accesses. Gather in the same partition not only the stores to the same memory access, but also the reads. (ldist_generate_loops): Renamed ldist_gen. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131886 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-252008-01-24 Sebastian Pop <sebastian.pop@amd.com>Sebastian Pop
Tobias Grosser <grosser@fmi.uni-passau.de> * graphite.c (setup_cloog_loop): Chain all cloog loops with the next pointer, don't use the inner pointer. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131816 138bc75d-0d04-0410-961f-82ee72b054a4
2008-01-212008-01-20 Tobias Grosser <grosser@fmi.uni-passau.de>Tobias Grosser
* graphite.c (dot_all_scops, dot_all_scops_1): New. (find_transform): Call dot_all_1. * graphite.h (dot_all_scops): Declared. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@131688 138bc75d-0d04-0410-961f-82ee72b054a4