Commit Graph

102394 Commits

Author SHA1 Message Date
Sebastian Pop
a7d00e71ed Do not translate out-of-SSA close phi nodes that can be analyzed with scev.
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-08-11 20:28:54 +00:00
Sebastian Pop
5df5f257f5 Add testcase for PR20742.
2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/tree-ssa/pr20742.c: New.

From-SVN: r163150
2010-08-11 20:28:47 +00:00
Sebastian Pop
6f23dd91cb Unshare the scev before code generating it.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* sese.c (rename_uses): Call unshare_expr before force_gimple_operand.

	* gcc.dg/graphite/id-23.c: New.

From-SVN: r163149
2010-08-11 20:28:38 +00:00
Sebastian Pop
87b28340fd Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p.
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-08-11 20:28:31 +00:00
Sebastian Pop
3dd2dd5736 Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Correctly
	handle SSA_NAME_IS_DEFAULT_DEF.

From-SVN: r163147
2010-08-11 20:28:23 +00:00
Sebastian Pop
a0dd150249 Add testcase for PR42729 and fix handling of gimple_debug info.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* sese.c (rename_uses): Handl unconditionally gimple_debug statements.

	* gcc.dg/graphite/pr42729.c: New.

From-SVN: r163146
2010-08-11 20:28:15 +00:00
Sebastian Pop
8af6d9cdfe Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa.
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-08-11 20:28:07 +00:00
Sebastian Pop
f36fc876e2 Scevs could be expressions without chrecs and still be scev_analyzable_p.
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-08-11 20:27:59 +00:00
Sebastian Pop
57fe3c878f Bump the size of scevs.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.

From-SVN: r163143
2010-08-11 20:27:51 +00:00
Sebastian Pop
a0d1afb3af Remove uses of loop->single_iv.
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-08-11 20:27:43 +00:00
Sebastian Pop
dba9acfad3 Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Also
	handle GIMPLE_CALL.

From-SVN: r163141
2010-08-11 20:27:35 +00:00
Sebastian Pop
8b0592326b chrec_apply should only apply to the specified variable.
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-08-11 20:27:27 +00:00
Sebastian Pop
2e286fd2f9 Remove expand_scalar_variables_ hack.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (debug_clast_name_index): Removed.
	(debug_clast_name_indexes_1): Removed.
	(debug_clast_name_indexes): Removed.
	(pbb_to_depth_to_oldiv): Removed.
	(build_iv_mapping): Replace the use of rename_map with iv_map.
	(translate_clast_user): Remove uses of rename_map.  Allocate and
	free iv_map.
	(translate_clast_for_loop): Remove uses of rename_map.
	(translate_clast_for): Same.
	(translate_clast_guard): Same.
	(translate_clast): Same.
	(gloog): Same.
	* graphite-clast-to-gimple.h (debug_clast_name_indexes): Removed.
	* graphite-sese-to-poly.c (scev_analyzable_p): Moved...
	* sese.c (set_rename): Now static.
	(rename_variables_in_stmt): Removed.
	(rename_uses): New.
	(is_parameter): Removed.
	(is_iv): Removed.
	(expand_scalar_variables_call): Removed.
	(expand_scalar_variables_ssa_name): Removed.
	(expand_scalar_variables_expr): Removed.
	(expand_scalar_variables_stmt): Removed.
	(expand_scalar_variables): Removed.
	(rename_variables): Removed.
	(remove_condition): Removed.
	(get_true_edge_from_guard_bb): Removed.
	(get_false_edge_from_guard_bb): Removed.
	(struct igp): Removed.
	(default_before_guard): Removed.
	(convert_for_phi_arg): Removed.
	(add_guard_exit_phis): Removed.
	(insert_guard_phis): Removed.
	(graphite_copy_stmts_from_block): Now also uses iv_map and a
	region.  Do not copy conditions.  Do not copy induction variables.
	Call rename_uses.
	(copy_bb_and_scalar_dependences): Allocate a local rename_map for
	the translated statement.  Use the iv_map for the induction
	variable renaming.
	* sese.h (copy_bb_and_scalar_dependences): Update declaration.
	(set_rename): Removed declaration.
	(scev_analyzable_p): ...here.
	* tree-chrec.c (chrec_apply_map): New.
	* tree-chrec.h (chrec_apply_map): Declared.

From-SVN: r163139
2010-08-11 20:27:19 +00:00
Sebastian Pop
e11d25e019 Remove insert_loop_close_phis.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (translate_clast_for_loop): Do not call
	insert_loop_close_phis.
	* sese.c (name_defined_in_loop_p): Removed.
	(expr_defined_in_loop_p): Removed.
	(alive_after_loop): Removed.
	(close_phi_not_yet_inserted_p): Removed.
	(struct alep): Removed.
	(add_loop_exit_phis): Removed.
	(insert_loop_close_phis): Removed.

From-SVN: r163138
2010-08-11 20:27:10 +00:00
Andreas Simbuerger
61298f6999 Fix flipped condition using mpz_sgn.
2010-07-15  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* graphite-cloog-util.c
	(cloog_matrix_to_ppl_constraint): Fix flipped condition.
	* graphite-poly.c
	(psct_scattering_dim_for_loop_depth): Same.

From-SVN: r163137
2010-08-11 20:27:02 +00:00
Sebastian Pop
7ff28cc2a7 Add testcase for miscompile in gamess.
2010-07-07  Sebastian Pop  <sebastian.pop@amd.com>

	* gfortran.dg/graphite/id-20.f: New.

From-SVN: r163136
2010-08-11 20:26:55 +00:00
Andreas Simbuerger
a9c2ba8f58 Partially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing unused function check_poly_representation.
2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* graphite-cloog-util.h: Added cloog.h.
	* graphite-blocking.c: Removed cloog.h.
	* graphite-dependences.c: Same.
	* graphite-interchange.c: Same.
	* graphite-poly.c: Same.
	* graphite-ppl.c: Same.
	* graphite-scop-detection.c: Same.
	* graphite-sese-to-poly.c:
	Removed cloog.h.
	Removed graphite-clast-to-gimple.h.
	(check_poly_representation): Removed (unused).
	* graphite-sese-to-poly.h
	(check_poly_representation): Removed (unused).

From-SVN: r163135
2010-08-11 20:26:46 +00:00
Andreas Simbuerger
0647324a1c Move cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util.{c,h}.
2010-07-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* Makefile.in
	(OBJS-common): Added graphite-cloog-util.o.
	(graphite-clast-to-gimple.o): Added graphite-cloog-util.h.
	(graphite-cloog-util.o): New.
	(graphite-ppl.o): Added graphite-cloog-util.h.
	* graphite-clast-to-gimple.c:
	Added graphite-cloog-util.h to include statements.
	* graphite-cloog-util.c: New.
	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.c.
	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
	(new_C_Polyhedron_from_Cloog_Matrix): Same.
	(insert_constraint_into_matrix): Same.
	(ppl_Constrain_System_number_of_constraints): Same.
	(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
	(oppose_constraint): Same.
	(cloog_matrix_to_ppl_constraint): Same.
	(new_Constraint_System_from_Cloog_Matrix): Same.
	* graphite-cloog-util.h: New.
	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved from graphite-ppl.h.
	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
	(new_C_Polyhedron_from_Cloog_Matrix): Same.
	(insert_constraint_into_matrix): Same.
	* graphite-ppl.c:
	Added graphite-cloog-util.h to include statements.
	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to graphite-cloog-util.c.
	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
	(new_C_Polyhedron_from_Cloog_Matrix): Same.
	(insert_constraint_into_matrix): Same.
	(ppl_Constrain_System_number_of_constraints): Same.
	(new_Cloog_Matrix_from_ppl_Constraint_System): Same.
	(oppose_constraint): Same.
	(cloog_matrix_to_ppl_constraint): Same.
	(new_Constraint_System_from_Cloog_Matrix): Same.
	* graphite-ppl.h:
	(new_Cloog_Matrix_from_ppl_Polyhedron): Moved to
	graphite-cloog-util.h.
	(new_Cloog_Domain_from_ppl_Polyhedron): Same.
	(new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
	(new_C_Polyhedron_from_Cloog_Matrix): Same.
	(insert_constraint_into_matrix): Same.

From-SVN: r163134
2010-08-11 20:26:38 +00:00
Andreas Simbuerger
589ac63c0e Resolve CLooG's value_* macros to their respective mpz_* counterparts.
2010-07-04  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>

	* graphite-clast-to-gimple.c
	(precision_for_value): Resolve value_* calls to matching mpz_* calls.
	(precision_for_interval): Same.
	(gcc_type_for_interval): Same.
	(compute_type_for_level): Same.
	* graphite-interchange.c
	(lst_interchange_profitable_p): Same.
	* graphite-poly.c
	(psct_scattering_dim_for_loop_depth): Same.
	* graphite-ppl.c
	(ppl_max_for_le_pointset): Same.
	(ppl_min_for_le_pointset): Same.

From-SVN: r163133
2010-08-11 20:26:29 +00:00
Vladimir Kargov
3e40cb77a8 Print bbs in refined region tree.
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-08-11 20:26:22 +00:00
Sebastian Pop
d3e7b889e5 Fix 416.gamess miscompile: special case the rewrite of degenerate phi nodes.
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-08-11 20:26:15 +00:00
Sebastian Pop
aedede6630 Fix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from rewrite_cross_bb_phi_deps.
2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Call
	rewrite_close_phi_out_of_ssa.

	* gcc.dg/graphite/id-22.c: New.

From-SVN: r163130
2010-08-11 20:26:07 +00:00
Sebastian Pop
f2c51113b7 Remove dead code.
2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_cross_bb_phi_deps): Remove dead code.

From-SVN: r163129
2010-08-11 20:25:57 +00:00
Sebastian Pop
32e68db9b6 Replace map with rename_map.
2010-06-24  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (build_iv_mapping): Rename map with
	rename_map.
	* sese.c (debug_rename_map): Same.
	(get_rename): Same.
	(set_rename): Same.
	(rename_variables_in_stmt): Same.
	(expand_scalar_variables_call): Same.
	(expand_scalar_variables_ssa_name): Same.
	(expand_scalar_variables_expr): Same.
	(expand_scalar_variables_stmt): Same.
	(expand_scalar_variables): Same.
	(rename_variables): Same.
	(graphite_copy_stmts_from_block): Same.
	(copy_bb_and_scalar_dependences): Same.

From-SVN: r163128
2010-08-11 20:25:50 +00:00
Sebastian Pop
8b164754dc Remove copy_renames.
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-08-11 20:25:42 +00:00
Sebastian Pop
9773d730e9 Run rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps.
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-08-11 20:25:34 +00:00
Sebastian Pop
cc58897078 Early return in rewrite_commutative_reductions_out_of_ssa when flag_associative_math is not set.
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-08-11 20:25:27 +00:00
Sebastian Pop
3d1254793b Fix testcase: call abort.
2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

	* gcc.dg/graphite/run-id-2.c: Call abort.

From-SVN: r163124
2010-08-11 20:25:18 +00:00
Sebastian Pop
4aa9a16727 Always insert out of SSA copies on edges except for loop->latch.
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-08-11 20:25:11 +00:00
Sebastian Pop
ee646fc62b Split rewrite_cross_bb_scalar_deps_out_of_ssa out from rewrite_reductions_out_of_ssa.
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-08-11 20:25:02 +00:00
Sebastian Pop
6a7441f5be Add more debug counter guards.
2010-06-23  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite.c (graphite_transform_loops): Add two more dbg_cnt calls.

From-SVN: r163121
2010-08-11 20:24:55 +00:00
Sebastian Pop
d4332d0017 Schedule a copy_prop pass before graphite.
2010-06-15  Sebastian Pop  <sebastian.pop@amd.com>

	* passes.c (init_optimization_passes): Add pass_graphite.
	Schedule a pass_copy_prop before pass_graphite_transforms.
	* timevar.def (TV_GRAPHITE): Declared.
	* tree-pass.h (pass_graphite): Declared.
	* tree-ssa-loop.c (pass_graphite): New.

	* gcc.dg/graphite/id-20.c: New.

From-SVN: r163120
2010-08-11 20:24:47 +00:00
Sebastian Pop
14d0e129cc Remove rename_nb_iterations and rename_sese_parameters
2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Do not pass scops in parameter.
	Remove calls to rename_nb_iterations and rename_sese_parameters.
	* graphite-clast-to-gimple.h (gloog): Update declaration.
	* graphite.c (graphite_transform_loops): Update call to gloog.
	* sese.c (rename_variables_in_expr): Removed.
	(rename_nb_iterations): Removed.
	(rename_sese_parameters): Removed.
	* sese.h (rename_nb_iterations): Removed.
	(rename_sese_parameters): Removed.

From-SVN: r163119
2010-08-11 20:24:38 +00:00
Sebastian Pop
d1ba0721a1 Also rewrite out of SSA scalar dependences going outside the SCoP region.
2010-06-12  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (gloog): Remove call to
	sese_adjust_liveout_phis.
	* graphite-sese-to-poly.c (scev_analyzable_p): When scev returns an
	SSA_NAME, allow it to be handled by rewrite_cross_bb_scalar_deps.
	(rewrite_cross_bb_scalar_deps): Handle GIMPLE_PHI nodes: call
	rewrite_phi_out_of_ssa.
	* sese.c (get_vdef_before_sese): Removed.
	(sese_adjust_vphi): Removed.
	(sese_adjust_liveout_phis): Removed.
	* sese.h (sese_adjust_liveout_phis): Removed.

From-SVN: r163118
2010-08-11 20:24:30 +00:00
Sebastian Pop
5fed5769e4 Remove insert_copyout and insert_copyin.
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-08-11 20:24:23 +00:00
Sebastian Pop
3a7086cc51 Detect commutative reductions in all the scops before rewriting out of SSA all the other scalar dependences.
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-08-11 20:24:16 +00:00
Sebastian Pop
61ca46ce9b Launch dotty in background.
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-08-11 20:24:08 +00:00
Sebastian Pop
f5f504800f Don't call pbb_to_depth_to_oldiv from compute_type_for_level.
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-08-11 20:24:00 +00:00
Sebastian Pop
081970eb71 Call compute_overall_effect_of_inner_loop from instantiate_scev_name.
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-08-11 20:23:53 +00:00
Sebastian Pop
bb17c851c2 Do not gather loop exit conditions on the basic blocks outside the loop.
2010-06-09  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (single_pred_cond): Renamed
	single_pred_cond_non_loop_exit.  Return NULL for loop exit edges.
	(build_sese_conditions_before): Renamed call to single_pred_cond.
	(build_sese_conditions_after): Same.

From-SVN: r163112
2010-08-11 20:23:46 +00:00
Sebastian Pop
86e40af75b Fix comments and indentation.
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-08-11 20:23:39 +00:00
Tobias Grosser
5599dea7db Fix refined region tree nesting.
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-08-11 20:23:33 +00:00
Tobias Grosser
2a6909ecb3 Skeleton for the new SCoP detection.
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-08-11 20:23:26 +00:00
Tobias Grosser
25c57e8357 Add analysis pass to build the refined program structure tree.
The hash table utility functions are copied and adapted from code
Antoniu contributed.

2010-05-27  Tobias Grosser  <grosser@fim.uni-passau.de>
	    Antoniu Pop  <antoniu.pop@gmail.com>

	* Makefile.in (OBJS-common): Add refined-regions.o.
	(refined-regions.o): New.
	(graphite-scop-detection.o): Use refined-regions.h.
	* graphite-scop-detection.c: Include refined-regions.h
	(build_scops): Also build the refined region tree.
	* refined-regions.c: New. Adds an algorithm to detect refined
	regions.
	(print_refined_region): New.
	(debug_refined_region): New.
	(refined_region_contains_bb_p): New.
	(refined_region_contains_region_p): New.
	(is_common_df): New.
	(struct find_regions_global_data): New.
	(is_region): New.
	(typedef struct bb_bb_def): New.
	(new_bb_bb_def): New.
	(bb_bb_map_hash): New.
	(eq_bb_bb_map): New.
	(find_new_bb): New.
	(bb_reg_def): New.
	(new_bb_reg_def): New.
	(bb_reg_map_hash): New.
	(eq_bb_reg_map): New.
	(find_new_region): New.
	(insert_new_reg): New.
	(insert_new_bb): New.
	(insert_shortcut): New.
	(get_next_postdom): New.
	(create_region): New.
	(find_regions_with_entry): New.
	(find_regions_adc): New.
	(find_regions): New.
	(get_topmost_parent): New.
	(build_regions_tree): New.
	(calculate_region_tree): New.
	(free_region_tree): New.
	* refined-regions.h: New.
	(struct refined_region): New.
	(calculate_region_tree): New.
	(free_region_tree): New.
	(refined_region_contains_bb_p): New.
	(refined_region_contains_region_p): New.
	(print_refined_region): New.
	(debug_refined_region): New.

From-SVN: r163108
2010-08-11 20:23:19 +00:00
Sebastian Pop
8c131b3b21 Use size_one_node.
2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
	size_one_node.

From-SVN: r163107
2010-08-11 20:23:11 +00:00
Sebastian Pop
d91949fa34 Fix type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
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
2010-08-11 20:23:04 +00:00
Sebastian Pop
159e461678 Fix invariant phi node removal.
2010-05-07  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (loop_entry_phi_arg): Renamed
	phi_arg_in_outermost_loop.
	(remove_simple_copy_phi): Call phi_arg_in_outermost_loop.
	(remove_invariant_phi): Same.

From-SVN: r163105
2010-08-11 20:22:57 +00:00
Anatoly Sokolov
6cbd887583 target.def (output_addr_const_extra): New hook.
* target.def (output_addr_const_extra): New hook.
	* doc/tm.texi.in (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Document.
	* doc/tm.texi: Regenerate.
	* targhooks.c (default_asm_output_addr_const_extra): New function.
	* targhooks.h (default_asm_output_addr_const_extra): Declare.
	* final.c: (output_addr_const): Use TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA
	target hook.

	* config/i386/i386.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
	* config/i386/i386-protos.h (output_addr_const_extra): Remove.
	* config/i386/i386.h (output_addr_const_extra): Rename to...
	(i386_asm_output_addr_const_extra): ...this. Make static.
	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.

From-SVN: r163104
2010-08-11 23:52:46 +04:00
Richard Henderson
51ba747afc * config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
From-SVN: r163103
2010-08-11 11:40:45 -07:00
Paolo Carlini
633e8e192b stl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/stl_algo.h (shuffle): Change signature consistently
	with random_shuffle (US 121).
	* include/bits/algorithmfwd.h: Adjust.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/2.cc: Likewise.
	* testsuite/25_algorithms/shuffle/requirements/
	explicit_instantiation/pod.cc: Likewise.

From-SVN: r163102
2010-08-11 17:10:04 +00:00