2009-10-20 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (pdr_add_data_dimensions): Do not infer
loop upper bounds for 1-element arrays at end of structures.
* tree-flow.h (array_at_struct_end_p): Declared.
* tree-ssa-loop-niter.c (array_at_struct_end_p): Not static anymore.
From-SVN: r154612
2009-10-20 Alexander Monakov <amonakov@ispras.ru>
* graphite-sese-to-poly.c (build_loop_iteration_domains): Generalize
construction of parameter constraints from loop iteration analysis.
* gcc.dg/graphite/run-id-2.c: New test.
From-SVN: r154610
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (dependence_polyhedron_1): Remove
unused gdim dimensions from the DDR polyhedron.
From-SVN: r154608
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (reduction_dr_1): Remove wrong
assert: reduction BBs can have multiple reduction writes
to memory.
From-SVN: r154606
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (dependence_polyhedron_1): Add the
context to the dependence polyhedron.
From-SVN: r154603
2009-10-17 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (find_scop_parameters): Initialize
SCOP_CONTEXT.
(build_loop_iteration_domains): Extract bounds on parameters
based on the data size.
(build_scop_context): Do not initialize SCOP_CONTEXT;
add new constraints.
From-SVN: r154601
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (memory_stride_in_loop): The depth
argument corresponds to a dynamic time dimension, so use
psct_dynamic_dim to refer to the transformed scattering dimension.
From-SVN: r154595
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (lst_do_strip_mine): Avoid strip mining the
root of the LST.
* graphite-interchange.c (lst_do_interchange): Avoid interchanging
the root of the LST.
* graphite-poly.c (scop_to_lst): Fix LST sequence in an outermost
fake loop.
(print_lst): Print the root of LST in a different format.
* graphite-poly.h (lst_depth): Adjust to include the root of the LST.
From-SVN: r154593
2009-10-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (insert_copyin): Use gsi_insert_seq_on_edge.
(rewrite_commutative_reductions_out_of_ssa): Call gsi_commit_edge_inserts,
and check the SSA representation.
* gfortran.dg/graphite/id-18.f90: New, reduced from PR41193.
From-SVN: r154590
2009-10-14 Konrad Trifunovic <konrad.trifunovic@gmail.com>
Sebastian Pop <sebastian.pop@amd.com>
* graphite-interchange.c (build_linearized_memory_access): Pass an
offset as parameter.
(memory_stride_in_loop): Include transform scattering in the
access functions to be able to querry the strides in the
transformed loops.
(pbb_interchange_loop_depths): Interchange the psct_dynamic_dim,
not the psct_iterator_dim.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r154583
2009-10-14 Tobias Grosser <grosser@fim.uni-passau.de>
* testsuite/gcc.dg/graphite/id-15.c: (8 * 8) replaced with
sizeof(unsigned long) to make it run on 32bit systems.
From-SVN: r154580
2009-10-14 Ramakrishna Upadrasta <Ramakrishna.Upadrasta@inria.fr>
* graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Fix Comment.
(write_alias_graph_to_ascii_dot): New.
(write_alias_graph_to_ascii_ecc): Ditto.
(partition_drs_to_sets): Add testing of optimality of current method which
assigns alias numbers according to DFS Comopnent number.
used as heuristic for the upcoming ECC algorithm.
(build_scop_drs): Write to file also with the ecc and dot format.
From-SVN: r154577
2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
* graphite.c (graphite_initialize): Do not handle functions with
more than 100 basic blocks.
From-SVN: r154575
2009-10-13 Sebastian Pop <sebastian.pop@amd.com>
* graphite-blocking.c (pbb_do_strip_mine): Use
PARAM_LOOP_BLOCK_TILE_SIZE.
* params.def (PARAM_LOOP_BLOCK_TILE_SIZE): Declared.
From-SVN: r154574
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_dependence): Do
not replace cross BB scalar dependences ending on PHI nodes.
(rewrite_cross_bb_scalar_deps): Filter out GIMPLE_PHI nodes.
From-SVN: r154570
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (apply_poly_transforms): Implement the high
level driver for flag_loop_block.
* tree-ssa-loop.c (gate_graphite_transforms): Remove call to sorry for
flag_loop_block.
* gcc.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK): Add
-floop-block.
* gfortran.dg/graphite/graphite.exp (DEFAULT_CFLAGS_GRAPHITE_BLOCK):
Add -floop-block.
From-SVN: r154569
2009-10-07 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (reduction_phi_p): Call remove_invariant_phi
when the loop stride is zero.
* gcc.dg/graphite/id-16.c: New.
From-SVN: r154565