Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* Merge from mainline (130800:135673).
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135697 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* graphite.c: Fix formatting.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@135042 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* cloog: Removed.
* polylib: Removed.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134770 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* 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
|
|
(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
|
|
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
|
|
(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
|
|
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
|
|
* 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
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/graphite@134096 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
* 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
|
|
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
|
|
* 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
|