2010-07-20 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
extra parameter for the region. Call scev_analyzable_p.
(rewrite_reductions_out_of_ssa): Update call to
rewrite_close_phi_out_of_ssa.
(rewrite_cross_bb_phi_deps): Same.
(rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
parameter for the region. Call scev_analyzable_p.
(rewrite_commutative_reductions_out_of_ssa): Update call to
rewrite_commutative_reductions_out_of_ssa_loop.
From-SVN: r163151
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
SSA scalar phi nodes that can be scev_analyzable_p.
* gfortran.dg/graphite/id-20.f: Adjust testcase.
From-SVN: r163148
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
case non close-phi nodes with one argument.
From-SVN: r163145
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* sese.h (scev_analyzable_p): Scevs could be expressions without
chrecs and still be scev_analyzable_p.
From-SVN: r163144
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
* cfgloop.h (struct loop): Remove single_iv field.
* graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
(scop_canonicalize_loops): Removed.
(scop_ivs_can_be_represented): Do not use loop->single_iv. Iterate
over all the loop phi nodes in loop->header.
(build_poly_scop): Remove use of scop_canonicalize_loops.
From-SVN: r163142
2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
* tree-chrec.c (chrec_apply): Should only apply to the specified
variable. Also handle multivariate chains of recurrences that
satisfy evolution_function_is_affine_p. Also handle CASE_CONVERT.
From-SVN: r163140
2010-06-25 Vladimir Kargov <kargov@gmail.com>
* refined-regions.c (bb_index_compare): New.
(get_bbs_in_region): New.
(print_bbs_in_region): New.
(print_refined_region): Add an argument that allows to print
all basic blocks contained in regions.
(debug_refined_region): Update call to print_refined_region.
* refined-regions.h (print_refined_region): Update declaration.
(get_bbs_in_region): Declared.
* graphite-scop-detection.c (build_scops_new): Print the refined
region tree into the Grahite dump file.
From-SVN: r163132
2010-06-24 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_degenerate_phi): New.
(rewrite_reductions_out_of_ssa): Call it for degenerate_phi_result.
From-SVN: r163131
2010-06-24 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (copy_renames): Removed.
(translate_clast_for): Do not call copy_renames.
(translate_clast_guard): Same.
From-SVN: r163127
2010-06-23 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Moved up.
(rewrite_cross_bb_phi_deps): Split out of rewrite_cross_bb_scalar_deps.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Run rewrite_cross_bb_phi_deps
before rewrite_cross_bb_scalar_deps.
From-SVN: r163126
2010-06-23 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_commutative_reductions_out_of_ssa):
Early return in when flag_associative_math is not set.
From-SVN: r163125
2010-06-23 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Always insert out
of SSA copies on edges except for loop->latch.
From-SVN: r163123
2010-06-23 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps_out_of_ssa):
Split out of rewrite_reductions_out_of_ssa.
* graphite-sese-to-poly.h (rewrite_cross_bb_scalar_deps_out_of_ssa):
Declared.
* graphite.c (graphite_transform_loops): Call it.
From-SVN: r163122
2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (insert_out_of_ssa_copy): Pass an extra
argument for the place after which to insert the out of SSA copy.
(rewrite_close_phi_out_of_ssa): Update calls to insert_out_of_ssa_copy.
(rewrite_phi_out_of_ssa): Same.
(rewrite_cross_bb_scalar_deps): Same.
(insert_copyout): Removed.
(insert_copyin): Removed.
(translate_scalar_reduction_to_array): Call insert_out_of_ssa_copy and
insert_out_of_ssa_copy_on_edge instead of insert_copyout and
insert_copyin.
From-SVN: r163117
2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (build_scop_bbs): Not static anymore.
(rewrite_reductions_out_of_ssa): Same.
(rewrite_commutative_reductions_out_of_ssa): Same.
(build_poly_scop): Do not call these functions.
* graphite-sese-to-poly.h (build_poly_scop): Declared.
(rewrite_reductions_out_of_ssa): Declared.
(rewrite_commutative_reductions_out_of_ssa): Declared.
* graphite.c (graphite_transform_loops): Call on every scop
rewrite_commutative_reductions_out_of_ssa before calling
rewrite_reductions_out_of_ssa and build_scop_bbs.
From-SVN: r163116
2010-06-12 Sebastian Pop <sebastian.pop@amd.com>
* graphite-dependences.c (dot_deps): Make system call to dotty run
in background.
(dot_deps_stmt): Same.
* graphite-poly.c (dot_lst): Same.
From-SVN: r163115
2010-06-11 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (gcc_type_for_interval): Do not pass
old_type in parameter.
(gcc_type_for_value): Update call to gcc_type_for_interval.
(compute_type_for_level_1): Renamed compute_type_for_level.
Update call to gcc_type_for_interval.
From-SVN: r163114
2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c (instantiate_scev_name): Do not fail
the scev analysis when the variable is not used outside the loop
in a close phi node: call compute_overall_effect_of_inner_loop.
From-SVN: r163113
2010-06-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h: Fix comments and indentation.
* graphite-sese-to-poly.c: Same.
(build_sese_conditions_before): Compute stmt and gbb only when needed.
* tree-chrec.c: Fix comments and indentation.
(tree-ssa-loop-niter.c): Same.
From-SVN: r163111
2010-06-08 Tobias Grosser <grosser@fim.uni-passau.de>
* refined-regions.c (create_region): Only initialize the region.
(find_regions_with_entry): Initialize parent relation and bbmap
correctly.
(build_regions_tree): Set outermost_region to region instead of
topmost_region.
(calculate_region_tree): Remove unneeded parameters.
From-SVN: r163110
2010-06-02 Tobias Grosser <grosser@fim.uni-passau.de>
* graphite-scop-detection.c (is_scop_p): New.
(build_scops_new): New. A skeleton for the new scop detection.
(build_scops_old): Renamed from build_scops.
(build_scops): New version. Call the new and the old scop
detection.
From-SVN: r163109
2010-05-07 Sebastian Pop <sebastian.pop@amd.com>
* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Fix
type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
From-SVN: r163106