platform/upstream/gcc.git
14 years agoAdd testcase for PR20742.
Sebastian Pop [Wed, 11 Aug 2010 20:28:47 +0000 (20:28 +0000)]
Add testcase for PR20742.

2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

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

From-SVN: r163150

14 years agoUnshare the scev before code generating it.
Sebastian Pop [Wed, 11 Aug 2010 20:28:38 +0000 (20:28 +0000)]
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

14 years agoDo not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p.
Sebastian Pop [Wed, 11 Aug 2010 20:28:31 +0000 (20:28 +0000)]
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

14 years agoCorrectly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:28:23 +0000 (20:28 +0000)]
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

14 years agoAdd testcase for PR42729 and fix handling of gimple_debug info.
Sebastian Pop [Wed, 11 Aug 2010 20:28:15 +0000 (20:28 +0000)]
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

14 years agoSpecial case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:28:07 +0000 (20:28 +0000)]
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

14 years agoScevs could be expressions without chrecs and still be scev_analyzable_p.
Sebastian Pop [Wed, 11 Aug 2010 20:27:59 +0000 (20:27 +0000)]
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

14 years agoBump the size of scevs.
Sebastian Pop [Wed, 11 Aug 2010 20:27:51 +0000 (20:27 +0000)]
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

14 years agoRemove uses of loop->single_iv.
Sebastian Pop [Wed, 11 Aug 2010 20:27:43 +0000 (20:27 +0000)]
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

14 years agoAlso handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
Sebastian Pop [Wed, 11 Aug 2010 20:27:35 +0000 (20:27 +0000)]
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

14 years agochrec_apply should only apply to the specified variable.
Sebastian Pop [Wed, 11 Aug 2010 20:27:27 +0000 (20:27 +0000)]
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

14 years agoRemove expand_scalar_variables_ hack.
Sebastian Pop [Wed, 11 Aug 2010 20:27:19 +0000 (20:27 +0000)]
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

14 years agoRemove insert_loop_close_phis.
Sebastian Pop [Wed, 11 Aug 2010 20:27:10 +0000 (20:27 +0000)]
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

14 years agoFix flipped condition using mpz_sgn.
Andreas Simbuerger [Wed, 11 Aug 2010 20:27:02 +0000 (20:27 +0000)]
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

14 years agoAdd testcase for miscompile in gamess.
Sebastian Pop [Wed, 11 Aug 2010 20:26:55 +0000 (20:26 +0000)]
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

14 years agoPartially removing cloog.h and graphite-clast-to-gimple.h where possible. Removing...
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:46 +0000 (20:26 +0000)]
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

14 years agoMove cloog-related functions from graphite-ppl.{c,h} to new graphite-cloog-util....
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:38 +0000 (20:26 +0000)]
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

14 years agoResolve CLooG's value_* macros to their respective mpz_* counterparts.
Andreas Simbuerger [Wed, 11 Aug 2010 20:26:29 +0000 (20:26 +0000)]
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

14 years agoPrint bbs in refined region tree.
Vladimir Kargov [Wed, 11 Aug 2010 20:26:22 +0000 (20:26 +0000)]
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

14 years agoFix 416.gamess miscompile: special case the rewrite of degenerate phi nodes.
Sebastian Pop [Wed, 11 Aug 2010 20:26:15 +0000 (20:26 +0000)]
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

14 years agoFix 435.gromacs miscompile: call rewrite_close_phi_out_of_ssa from rewrite_cross_bb_p...
Sebastian Pop [Wed, 11 Aug 2010 20:26:07 +0000 (20:26 +0000)]
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

14 years agoRemove dead code.
Sebastian Pop [Wed, 11 Aug 2010 20:25:57 +0000 (20:25 +0000)]
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

14 years agoReplace map with rename_map.
Sebastian Pop [Wed, 11 Aug 2010 20:25:50 +0000 (20:25 +0000)]
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

14 years agoRemove copy_renames.
Sebastian Pop [Wed, 11 Aug 2010 20:25:42 +0000 (20:25 +0000)]
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

14 years agoRun rewrite_cross_bb_phi_deps before rewrite_cross_bb_scalar_deps.
Sebastian Pop [Wed, 11 Aug 2010 20:25:34 +0000 (20:25 +0000)]
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

14 years agoEarly return in rewrite_commutative_reductions_out_of_ssa when flag_associative_math...
Sebastian Pop [Wed, 11 Aug 2010 20:25:27 +0000 (20:25 +0000)]
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

14 years agoFix testcase: call abort.
Sebastian Pop [Wed, 11 Aug 2010 20:25:18 +0000 (20:25 +0000)]
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

14 years agoAlways insert out of SSA copies on edges except for loop->latch.
Sebastian Pop [Wed, 11 Aug 2010 20:25:11 +0000 (20:25 +0000)]
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

14 years agoSplit rewrite_cross_bb_scalar_deps_out_of_ssa out from rewrite_reductions_out_of_ssa.
Sebastian Pop [Wed, 11 Aug 2010 20:25:02 +0000 (20:25 +0000)]
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

14 years agoAdd more debug counter guards.
Sebastian Pop [Wed, 11 Aug 2010 20:24:55 +0000 (20:24 +0000)]
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

14 years agoSchedule a copy_prop pass before graphite.
Sebastian Pop [Wed, 11 Aug 2010 20:24:47 +0000 (20:24 +0000)]
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

14 years agoRemove rename_nb_iterations and rename_sese_parameters
Sebastian Pop [Wed, 11 Aug 2010 20:24:38 +0000 (20:24 +0000)]
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

14 years agoAlso rewrite out of SSA scalar dependences going outside the SCoP region.
Sebastian Pop [Wed, 11 Aug 2010 20:24:30 +0000 (20:24 +0000)]
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

14 years agoRemove insert_copyout and insert_copyin.
Sebastian Pop [Wed, 11 Aug 2010 20:24:23 +0000 (20:24 +0000)]
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

14 years agoDetect commutative reductions in all the scops before rewriting out of SSA all the...
Sebastian Pop [Wed, 11 Aug 2010 20:24:16 +0000 (20:24 +0000)]
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

14 years agoLaunch dotty in background.
Sebastian Pop [Wed, 11 Aug 2010 20:24:08 +0000 (20:24 +0000)]
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

14 years agoDon't call pbb_to_depth_to_oldiv from compute_type_for_level.
Sebastian Pop [Wed, 11 Aug 2010 20:24:00 +0000 (20:24 +0000)]
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

14 years agoCall compute_overall_effect_of_inner_loop from instantiate_scev_name.
Sebastian Pop [Wed, 11 Aug 2010 20:23:53 +0000 (20:23 +0000)]
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

14 years agoDo not gather loop exit conditions on the basic blocks outside the loop.
Sebastian Pop [Wed, 11 Aug 2010 20:23:46 +0000 (20:23 +0000)]
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

14 years agoFix comments and indentation.
Sebastian Pop [Wed, 11 Aug 2010 20:23:39 +0000 (20:23 +0000)]
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

14 years agoFix refined region tree nesting.
Tobias Grosser [Wed, 11 Aug 2010 20:23:33 +0000 (20:23 +0000)]
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

14 years agoSkeleton for the new SCoP detection.
Tobias Grosser [Wed, 11 Aug 2010 20:23:26 +0000 (20:23 +0000)]
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

14 years agoAdd analysis pass to build the refined program structure tree.
Tobias Grosser [Wed, 11 Aug 2010 20:23:19 +0000 (20:23 +0000)]
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

14 years agoUse size_one_node.
Sebastian Pop [Wed, 11 Aug 2010 20:23:11 +0000 (20:23 +0000)]
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

14 years agoFix type of integer_one_node for fold_build of POINTER_PLUS_EXPR.
Sebastian Pop [Wed, 11 Aug 2010 20:23:04 +0000 (20:23 +0000)]
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

14 years agoFix invariant phi node removal.
Sebastian Pop [Wed, 11 Aug 2010 20:22:57 +0000 (20:22 +0000)]
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

14 years agotarget.def (output_addr_const_extra): New hook.
Anatoly Sokolov [Wed, 11 Aug 2010 19:52:46 +0000 (23:52 +0400)]
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

14 years ago* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.
Richard Henderson [Wed, 11 Aug 2010 18:40:45 +0000 (11:40 -0700)]
* config/i386/i386.h (HARD_REGNO_CALL_PART_CLOBBERED): New.

From-SVN: r163103

14 years agostl_algo.h (shuffle): Change signature consistently with random_shuffle (US 121).
Paolo Carlini [Wed, 11 Aug 2010 17:10:04 +0000 (17:10 +0000)]
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

14 years agomove.h (forward): Reinstate the N2835 version.
Paolo Carlini [Wed, 11 Aug 2010 16:55:33 +0000 (16:55 +0000)]
move.h (forward): Reinstate the N2835 version.

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/move.h (forward): Reinstate the N2835 version.

From-SVN: r163101

14 years agoFix up a wrong ChangeLog entry:
Jakub Jelinek [Wed, 11 Aug 2010 13:59:35 +0000 (15:59 +0200)]
Fix up a wrong ChangeLog entry:

* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.

From-SVN: r163099

14 years agostormy16-lib2.c (__cmpsi2): New function.
Nick Clifton [Wed, 11 Aug 2010 11:56:15 +0000 (11:56 +0000)]
stormy16-lib2.c (__cmpsi2): New function.

        * config/stormy16/stormy16-lib2.c (__cmpsi2): New function.
        * config/stormy16/stormy16-lib2-cmpsi2.c: New file.
        * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
        stormy16-lib2-cmpsi.c.

        * config/stormy16/t-stormy16 (TARGET_LIBGCC2_CFLAGS): Change to
        -O2.

From-SVN: r163097

14 years agore PR fortran/44595 (INTENT of arguments to intrinsic procedures not checked)
Janus Weil [Wed, 11 Aug 2010 10:49:56 +0000 (12:49 +0200)]
re PR fortran/44595 (INTENT of arguments to intrinsic procedures not checked)

2010-08-11  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44595
* intrinsic.c (gfc_current_intrinsic_arg): Change type from 'char' to
'gfc_intrinsic_arg'.
(check_arglist,check_specific): Add reference to 'name' field.
(init_arglist): Remove reference to 'name' field.
* intrinsic.h (gfc_current_intrinsic_arg): Modify prototype.
* check.c (variable_check): Reverse order of checks. Respect intent of
formal arg.
(int_or_proc_check): New function.
(coarray_check): New function.
(allocatable_check): New function.
(gfc_check_allocated,gfc_check_move_alloc): Use 'allocatable_check'.
(gfc_check_complex): Use 'int_or_real_check'.
(gfc_check_lcobound,gfc_check_image_index,gfc_check_this_image,
gfc_check_ucobound): Use 'coarray_check'.
(gfc_check_pack): Use 'real_or_complex_check'.
(gfc_check_alarm_sub,gfc_check_signal,gfc_check_signal_sub): Use
'int_or_proc_check'.
(scalar_check,type_check,numeric_check,int_or_real_check,
real_or_complex_check,kind_check,double_check,logical_array_check,
array_check,same_type_check,rank_check,nonoptional_check,
kind_value_check,gfc_check_a_p,gfc_check_associated,gfc_check_cmplx,
gfc_check_cshift,gfc_check_dcmplx,gfc_check_dot_product,gfc_check_dprod,
gfc_check_eoshift,gfc_check_fn_rc2008,gfc_check_index,gfc_check_kind,
gfc_check_matmul,gfc_check_minloc_maxloc,check_reduction,gfc_check_null,
gfc_check_present,gfc_check_reshape,gfc_check_same_type_as,
gfc_check_spread,gfc_check_unpack,gfc_check_random_seed,
gfc_check_getarg,gfc_check_and,gfc_check_storage_size): Add reference
to 'name' field.

2010-08-11  Janus Weil  <janus@gcc.gnu.org>
    Steve Kargl <kargl@gcc.gnu.org>

PR fortran/44595
* gfortran.dg/move_alloc_3.f90: New.
* gfortran.dg/random_seed_2.f90: New.

Co-Authored-By: Steve Kargl <kargl@gcc.gnu.org>
From-SVN: r163096

14 years agoopts.h (struct cl_option_handler_func): Make handler take cl_decoded_option structure...
Joseph Myers [Wed, 11 Aug 2010 10:04:43 +0000 (11:04 +0100)]
opts.h (struct cl_option_handler_func): Make handler take cl_decoded_option structure as parameter, not individual elements.

* opts.h (struct cl_option_handler_func): Make handler take
cl_decoded_option structure as parameter, not individual elements.
(struct cl_option_handlers): Make callbacks take cl_decoded_option
structure as parameter, not individual elements.
(handle_option): Take cl_decoded_option structure as parameter,
not individual elements.
(handle_generated_option): Declare.
* opts-common.c (handle_option): Take cl_decoded_option structure
as parameter, not individual elements.  Update calls to callback
and handler functions.
(handle_generated_option): New.
(read_cmdline_option): Update calls to callback functions and
handle_option.
* opts.c (common_handle_option, complain_wrong_lang,
unknown_option_callback, post_handling_callback,
lang_handle_option, target_handle_option): Take cl_decoded_option
structure as parameter, not individual elements.
(lang_handle_option, target_handle_option, common_handle_option):
Assert option has at most one argument.
(enable_warning_as_error): Call handle_generated_option instead of
handle_option.  Do not pass -Werror argument as argument of
generated option.

c-family:
* c-opts.c (c_common_handle_option): Call handle_generated_option
instead of handle_option.

From-SVN: r163095

14 years agore PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)
Paolo Carlini [Wed, 11 Aug 2010 08:49:47 +0000 (08:49 +0000)]
re PR libstdc++/42925 ([GB 99] Not possible to compare unique_ptr with 0)

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/42925
* include/bits/unique_ptr.h (operator==(const unique_ptr<>&,
nullptr_t), operator==(nullptr_t, const unique_ptr<>&),
operator!=(const unique_ptr<>&, nullptr_t),
operator!=(nullptr_t, const unique_ptr<>&)): Add.
* include/bits/shared_ptr_base.h (operator==(const __shared_ptr<>&,
nullptr_t), operator==(nullptr_t, const __shared_ptr<>&),
operator!=(const __shared_ptr<>&, nullptr_t),
operator!=(nullptr_t, const __shared_ptr<>&)): Likewise.
* include/bits/shared_ptr.h (operator==(const shared_ptr<>&,
nullptr_t), operator==(nullptr_t, const shared_ptr<>&),
operator!=(const shared_ptr<>&, nullptr_t),
operator!=(nullptr_t, const shared_ptr<>&)): Likewise.
* testsuite/20_util/unique_ptr/comparison/42925.cc: New.
* testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
dg-error line numbers.

From-SVN: r163094

14 years agounique_ptr.h: Replace _Tp_Deleter -> _Dp, and _Up_Deleter -> _Ep.
Paolo Carlini [Wed, 11 Aug 2010 07:42:02 +0000 (07:42 +0000)]
unique_ptr.h: Replace _Tp_Deleter -> _Dp, and _Up_Deleter -> _Ep.

2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/unique_ptr.h: Replace _Tp_Deleter -> _Dp, and
_Up_Deleter -> _Ep.

From-SVN: r163092

14 years agotarget-supports.exp (check_effective_target_sync_int_long): Add hppa*-*-linux*.
John David Anglin [Wed, 11 Aug 2010 02:23:31 +0000 (02:23 +0000)]
target-supports.exp (check_effective_target_sync_int_long): Add hppa*-*-linux*.

* lib/target-supports.exp (check_effective_target_sync_int_long):
Add hppa*-*-linux*.
(check_effective_target_sync_char_short): Likewise.

From-SVN: r163090

14 years agolinux-atomic.c (SUBWORD_VAL_CAS): Instantiate with 'unsigned short' and 'unsigned...
John David Anglin [Wed, 11 Aug 2010 02:18:07 +0000 (02:18 +0000)]
linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with 'unsigned short' and 'unsigned char' instead of 'short' and 'char'.

* config/pa/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
(SUBWORD_BOOL_CAS): Likewise.
(SUBWORD_SYNC_OP): Likewise.
(SUBWORD_TEST_AND_SET): Likewise.
(FETCH_AND_OP_WORD): Parenthesise INF_OP
(SUBWORD_SYNC_OP): Likewise.
(OP_AND_FETCH_WORD): Likewise.

From-SVN: r163089

14 years agobuiltin-stringop-chk-1.c: Change ARM triplet to a more general form.
Yao Qi [Wed, 11 Aug 2010 02:00:15 +0000 (02:00 +0000)]
builtin-stringop-chk-1.c: Change ARM triplet to a more general form.

2010-08-10  Yao Qi  <yao@codesourcery.com>

        * gcc.dg/builtin-stringop-chk-1.c: Change ARM triplet to a more
        general form.
        * gcc.dg/tree-ssa/loop-31.c: Likewise.
        * g++.dg/other/packed1.C: Likewise.
        * g++.dg/other/crash-4.C: Likewise.
        * g++.dg/ext/packed8.C: Likewise.
        * g++.dg/init/array16.C: Likewise.

From-SVN: r163088

14 years agoMAINTAINERS (Write After Approval): Add myself.
Yao Qi [Wed, 11 Aug 2010 01:09:21 +0000 (01:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2010-08-11  Yao Qi  <yao@codesourcery.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r163087

14 years agoDaily bump.
GCC Administrator [Wed, 11 Aug 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163085

14 years agoImprove address offset range computation
Xinliang David Li [Tue, 10 Aug 2010 23:26:05 +0000 (23:26 +0000)]
Improve address offset range computation

From-SVN: r163081

14 years agoira-live.c: Include sbitmap.h.
Vladimir Makarov [Tue, 10 Aug 2010 21:39:13 +0000 (21:39 +0000)]
ira-live.c: Include sbitmap.h.

2010-08-10  Vladimir Makarov  <vmakarov@redhat.com>

* ira-live.c: Include sbitmap.h.
(remove_some_program_points_and_update_live_ranges): Use sbitmaps.
Compress live ranges even more.

From-SVN: r163080

14 years agofix ChangeLog typo
Nathan Froyd [Tue, 10 Aug 2010 19:39:39 +0000 (19:39 +0000)]
fix ChangeLog typo

From-SVN: r163079

14 years ago* coverage.c (ctr_labels): Delete.
Nathan Froyd [Tue, 10 Aug 2010 19:27:18 +0000 (19:27 +0000)]
* coverage.c (ctr_labels): Delete.

From-SVN: r163078

14 years agore PR bootstrap/45177 (cc1 runs out of memory building libgcc in ARM cross-compiler)
Bernd Schmidt [Tue, 10 Aug 2010 18:45:10 +0000 (18:45 +0000)]
re PR bootstrap/45177 (cc1 runs out of memory building libgcc in ARM cross-compiler)

PR bootstrap/45177
* config/arm/arm.c (multiple_operation_profitable_p): Move xscale
test here from arm_gen_load_multiple_1.
(arm_gen_load_multiple_1, arm_gen_store_multiple_1): Use
multiple_operation_profitable_p.

From-SVN: r163077

14 years agoshared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_Convertibl...
Paolo Carlini [Tue, 10 Aug 2010 16:54:09 +0000 (16:54 +0000)]
shared_ptr_base.h: Remove a few now redundant __glibcxx_function_requires(_ConvertibleConcept...).

2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/shared_ptr_base.h: Remove a few now redundant
__glibcxx_function_requires(_ConvertibleConcept...).
* testsuite/20_util/shared_ptr/cons/43820.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.

From-SVN: r163075

14 years agogfortran.texi (Interoperability with C): Fix ordering in menu and add new subsection...
Daniel Kraft [Tue, 10 Aug 2010 15:40:59 +0000 (17:40 +0200)]
gfortran.texi (Interoperability with C): Fix ordering in menu and add new subsection about pointers.

2010-08-10  Daniel Kraft  <d@domob.eu>

* gfortran.texi (Interoperability with C): Fix ordering in menu
and add new subsection about pointers.
(Interoperable Subroutines and Functions): Split off the pointer part.
(working with Pointers): New subsection with extended discussion
of pointers (especially procedure pointers).

From-SVN: r163073

14 years agoFix misformatted Changelog entry.
Ramana Radhakrishnan [Tue, 10 Aug 2010 15:01:45 +0000 (15:01 +0000)]
Fix misformatted Changelog entry.

From-SVN: r163070

14 years ago* tree-ssa-prec. (init_pre): Call alloc_aux_for_blocks.
Nathan Froyd [Tue, 10 Aug 2010 14:58:41 +0000 (14:58 +0000)]
* tree-ssa-prec. (init_pre): Call alloc_aux_for_blocks.

(fini_pre): Call free_aux_for_blocks.  Delete unused bb variable.

From-SVN: r163069

14 years agoi386.c (ix86_compute_frame_layout): Re-align stack after saving registers.
Richard Henderson [Tue, 10 Aug 2010 14:50:34 +0000 (07:50 -0700)]
i386.c (ix86_compute_frame_layout): Re-align stack after saving registers.

* config/i386/i386.c (ix86_compute_frame_layout): Re-align stack
after saving registers.  Assert that SSE registers are only saved
with a sufficiently aligned frame.
(ix86_emit_save_reg_using_mov): Assert realigned only with DRAP;
remove stack_realign_fp handling.
(ix86_expand_prologue): Save int registers before stack_realign_fp,
and do not mark the stack alignment as frame related.
(ix86_expand_epilogue): SP is now invalid with stack_realign_fp.

* dwarf2out.c (dwarf2out_frame_debug_expr): Flush queued register
saves when re-aligning the stack.

From-SVN: r163068

14 years agosem_ch8.adb, [...]: Change name Write_Scopes to ws.
Robert Dewar [Tue, 10 Aug 2010 14:34:24 +0000 (14:34 +0000)]
sem_ch8.adb, [...]: Change name Write_Scopes to ws.

2010-08-10  Robert Dewar  <dewar@adacore.com>

* sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
* sem_util.adb: Minor reformatting.

From-SVN: r163067

14 years agobasic-block.h (alloc_aux_for_block, [...]): Delete.
Nathan Froyd [Tue, 10 Aug 2010 14:31:52 +0000 (14:31 +0000)]
basic-block.h (alloc_aux_for_block, [...]): Delete.

* basic-block.h (alloc_aux_for_block, alloc_aux_for_edge): Delete.
* cfg.c (alloc_aux_for_block, alloc_aux_for_edge): Make static.
(alloc_aux_for_blocks, clear_aux_for_blocks): Use FOR_ALL_BB.

From-SVN: r163066

14 years agosem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++ constructors that...
Javier Miranda [Tue, 10 Aug 2010 14:29:36 +0000 (14:29 +0000)]
sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++ constructors that leave the object partially initialized.

2010-08-10  Javier Miranda  <miranda@adacore.com>

* sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
constructors that leave the object partially initialized.
* exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
that copies from parent of Typ the dispatch table slots of inherited
C++ primitives. It handles primary and secondary dispatch tables.
* einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
use this attribute with E_Variable entities.
(Set_Is_Tag): Relax assertion to allow its use with variables that
store tags.
(Set_Related_Type): Relax assertion to allow its use with variables
that store the tag of a C++ class.
(Write_26_Field_Name): Remove Related_Type.
(Write_27_Field_Name): Add Related_Type.
* einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
with E_Variable entities.
* sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
pragma.
* sem_util.adb (Search_Tag): Add missing support for CPP types.
(Enclosing_CPP_Parent): New subprogram.
(Has_Suffix): New subprogram.
* sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
closest ancestor of a type that is a C++ type.
(Has_Suffix): New subprogram. Used in assertions to check the suffix of
internal entities.
* sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
instance in derivations of C++ types.
* exp_tss.adb (CPP_Init_Proc): New subprogram.
(Is_CPP_Init_Proc): New subprogram.
(Set_TSS): Handle new C++ init routines.
* exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
dispatch tables.
(CPP_Init_Proc): New subprogram.
(Is_CPP_Init_Proc): New subprogram.
* exp_disp.adb (CPP_Num_Prims): New subprogram.
(Has_CPP_Constructors): New subprogram.
(Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
initialize slots located in the C++ part of the dispatch table.
(Make_Tags): For CPP types declare variables used by the IP routine to
store the C++ tag values after the first invocation of the C++
constructor.
(Build_CPP_Init_DT): New subprogram.
(Set_CPP_Constructors): New implementation that builds an IP for each
CPP constructor. These IP are wrappers of the C++ constructors that,
after the first invocation of the constructor, read the C++ tags from
the object and save them locally. These copies of the C++ tags are used
by the IC routines to initialize tables of Ada derivations of CPP types.
(Write_DT): Indicate what primitives are imported from C++
* exp_disp.ads (CPP_Num_Prims): New subprogram.
(Has_CPP_Constructors): New subprogram.
* exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
invoke the IC routine to inherit the slots of the parents.
* sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
* exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
(Is_Variable_Size_Record): Factorize code calling
Is_Variable_Size_Array.
(Build_CPP_Init_Procedure): New subprogram that builds the tree
corresponding to the procedure that initializes the C++ part of the
dispatch table of an Ada tagged type that is a derivation of a CPP type.
(Build_Init_Procedure): Adding documentation plus code reorganization to
leave more clear the construction of the IP with C++ types.
(Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
it cannot be called after Make_Tags has been invoked.
(Inherit_CPP_Tag): Removed.
(Init_Secondary_Tags): For derivations of CPP types, warn on tags
located at variable offset.
* freeze.ads: Minor reformating.
* sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
available in gdb.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r163065

14 years ago* dwarf2out.c (struct die_struct): Move die_tag to the end.
Nathan Froyd [Tue, 10 Aug 2010 14:22:18 +0000 (14:22 +0000)]
* dwarf2out.c (struct die_struct): Move die_tag to the end.

From-SVN: r163064

14 years agoa-chahan.ads: Add comments on handling of obsolescent entries.
Robert Dewar [Tue, 10 Aug 2010 13:50:53 +0000 (13:50 +0000)]
a-chahan.ads: Add comments on handling of obsolescent entries.

2010-08-10  Robert Dewar  <dewar@adacore.com>

* a-chahan.ads: Add comments on handling of obsolescent entries.
* opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
* restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
* restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
* sem_attr.adb (Analyze_Access_Attribute): Call
Check_Obsolescent_2005_Entity to check for access to obsolescent
Ada.Characters.Handling subprogram.
(Analyze_Attribute, case Class): Applying Class to untagged incomplete
type is obsolescent in Ada 2005.
(Analyze_Attribute, case Constrained): Better placement of flag when
flagged as obsolescent feature.
(Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
* sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
is an obsolescent feature.
* sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
feature.
* sem_ch8.adb (Analyze_Subprogram_Renaming): Call
Check_Obsolescent_2005_Entity to check for renaming obsolete
Ada.Characters.Handling subprogram.
* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
for obsolescent restrictions in Ada 2005.
(Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
(Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
* sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
check for obsolescent references to Ada.Characters.Handling subprograms

2010-08-10  Robert Dewar  <dewar@adacore.com>

* einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.

2010-08-10  Robert Dewar  <dewar@adacore.com>

* errout.ads: Add VMS table entries for 2005, 12, 2012 switches
* par-ch4.adb: Change wording of Ada 2012 messages
* vms_data.ads: Add VMS entries for /2005, /12, /2012

From-SVN: r163063

14 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Aug 2010 13:43:01 +0000 (15:43 +0200)]
[multiple changes]

2010-08-10  Robert Dewar  <dewar@adacore.com>

* a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
codes in the range 16#80#..16#7FF#.
* sem_ch10.adb: Minor reformatting.

2010-08-10  Arnaud Charlet  <charlet@adacore.com>

* gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
generate ali files in CodePeer mode, so that a gnatmake -c -k will
proceed further when possible
* freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
messages when ignoring representation clauses (-gnatI).

2010-08-10  Ed Schonberg  <schonberg@adacore.com>

* exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
constant-fold discriminant reference if the constraint is an object
with non-static expression. Expression may contain volatile references
in the presence of renamings.

2010-08-10  Vincent Celier  <celier@adacore.com>

* prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
returns Index.
* prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
index for an associative array where it is allowed.

From-SVN: r163060

14 years ago[multiple changes]
Arnaud Charlet [Tue, 10 Aug 2010 13:37:59 +0000 (15:37 +0200)]
[multiple changes]

2010-08-10  Thomas Quinot  <quinot@adacore.com>

* exp_attr.adb: Add comments.

2010-08-10  Jerome Lambourg  <lambourg@adacore.com>

* adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.

From-SVN: r163059

14 years agoiterators.md: New file.
Sofiane Naci [Tue, 10 Aug 2010 13:37:25 +0000 (13:37 +0000)]
iterators.md: New file.

2010-08-09  Sofiane Naci  <sofiane.naci@arm.com>

    * config/arm/iterators.md: New file.
    * config/arm/arm.md: Include iterators.md.
    (QHSI): Move to new file.
    (LTUGEU, cnb, optab, ior_xor): Likewise.
    * config/arm/iwmmxt.md (VMMX): Move to new file.
    (VSHFT, MMX_char): Likewise.
    * config/arm/neon.md (VD): Move to new file.
    (VDX, VDI, VQ, VQX, VQI, VQXMOV, VSTRUCT, VTAB, V_TAB_n, VW): Likewise.
    (VN, VDQ, VDQW, VDQIW, VCVTF, VCVTI, VMD, VMQ, VMDQ, VMDI): Likewise.
    (VMDQI, VX, VE, V64, V32, V_CVTTO, V_elem, V_ext, V_two_elem): Likewise.
    (V_three_elem, V_four_elem, V_req, V_widen, V_narrow, V_HALF): Likewise.
    (V_half,V_DOUBLE, V_double, V_double_width, V_cmp_result): Likewise.
    (V_if_elem, V_s_elem, V_u_elem, V_uf_sclr, V_sz_elem, VD_dup): Likewise.
    (V_PAIR, vqh_ops, vqhs_ops, VQH_mnem, VQH_sign, V_suf64): Likewise.
    (scalar_mul_constraint,Is_float_mode, Scalar_mul_8_16): Likewise.
    (Is_d_reg, V_mode_nunits): Likewise.
    * config/arm/vec-common.md (VALL): Move to new file.
    (VALLW, VINT, VINTW): Likewise.

From-SVN: r163058

14 years agore PR middle-end/45182 (Failed to build SPEC CPU 2000/2006)
Bernd Schmidt [Tue, 10 Aug 2010 12:48:16 +0000 (12:48 +0000)]
re PR middle-end/45182 (Failed to build SPEC CPU 2000/2006)

PR middle-end/45182
* combine.c (make_compound_operation): Don't try to convert
shifts into multiplications for modes that aren't SCALAR_INT_MODE_P.

PR middle-end/45182
* gcc.c-torture/compile/pr45182.c: New test.

From-SVN: r163057

14 years ago1.cc: Avoid -Wall warnings.
Paolo Carlini [Tue, 10 Aug 2010 11:28:23 +0000 (11:28 +0000)]
1.cc: Avoid -Wall warnings.

2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/ext/stdio_sync_filebuf/char/1.cc: Avoid -Wall
warnings.
* testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise.

From-SVN: r163056

14 years agorange_access.cc: Avoid -Wall warnings.
Paolo Carlini [Tue, 10 Aug 2010 10:28:47 +0000 (10:28 +0000)]
range_access.cc: Avoid -Wall warnings.

2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/23_containers/array/range_access.cc: Avoid -Wall
warnings.

From-SVN: r163054

14 years agocons_overflow_neg.cc: Avoid -Wall warnings.
Paolo Carlini [Tue, 10 Aug 2010 10:08:56 +0000 (10:08 +0000)]
cons_overflow_neg.cc: Avoid -Wall warnings.

2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Avoid -Wall
warnings.

* include/bits/shared_ptr.h (shared_ptr<>::shared_ptr
(const shared_ptr<>&), shared_ptr(shared_ptr<>&&), weak_ptr<>::
weak_ptr(const weak_ptr<>&), weak_ptr(const shared_ptr<>&)):
Constrain appropriately via std::is_convertible, etc.
* include/bits/shared_ptr_base.h: Likewise.
* include/bits/unique_ptr.h (default_delete<>::
default_delete(const default_delete<>&),
unique_ptr<>::unique_ptr(unique_ptr<>&&), operator=(unique_ptr<>&&)):
Likewise.

* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line numbers.
* testsuite/20_util/shared_ptr/cons/43820.cc: Likewise.

* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(auto_ptr<>&&)):
Add.
* include/std/memory: Adjust includes order.
* testsuite/20_util/unique_ptr/cons/auto_ptr.cc: New.
* testsuite/20_util/unique_ptr/cons/auto_ptr_neg.cc: Likewise.
* testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Minor tweaks.

From-SVN: r163053

14 years agotree.h (get_object_alignment): Adjust prototype.
Richard Guenther [Tue, 10 Aug 2010 09:16:22 +0000 (09:16 +0000)]
tree.h (get_object_alignment): Adjust prototype.

2010-08-10  Richard Guenther  <rguenther@suse.de>

* tree.h (get_object_alignment): Adjust prototype.
* builtins.c (get_object_alignment): Return unsigned int,
drop the align parameter.  Handle MEM_REF, MISALIGNED_INDIRECT_REF
and TARGET_MEM_REF properly.
(get_pointer_alignment): Adjust.
* emit-rtl.c (get_mem_align_offset): Adjust comment.
(set_mem_attributes_minus_bitpos): Adjust.
* tree-ssa-ccp.c (get_value_from_alignment): Adjust.

From-SVN: r163051

14 years agotree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
Richard Guenther [Tue, 10 Aug 2010 09:13:37 +0000 (09:13 +0000)]
tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.

2010-08-10  Richard Guenther  <rguenther@suse.de>

* tree-ssa-copy.c (set_copy_of_val): Use operand_equal_p.
(copy_prop_visit_assignment): Simplify.
(copy_prop_visit_stmt): Also visit assignments from
constants.
(copy_prop_visit_phi_node): Use operand_equal_p.

From-SVN: r163050

14 years agore PR libstdc++/45228 ([C++0x] Can't copy-construct "tuple<int,int,int>" from "const...
Paolo Carlini [Tue, 10 Aug 2010 07:17:44 +0000 (07:17 +0000)]
re PR libstdc++/45228 ([C++0x] Can't copy-construct "tuple<int,int,int>" from "const tuple<int,int,int>" rvalue)

2010-08-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/45228
* include/std/tuple (tuple<typename... _Elements>): Constrain
converting constructors and assignment operators with
sizeof...(_UElements) == sizeof...(_Elements).
(tuple(tuple<_UElements...>&): Remove.
(tuple<typename _T1>): Add.
* testsuite/20_util/tuple/cons/45228.cc: New.
* testsuite/20_util/tuple/cons/converting.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
dg-error line number.

* include/std/tuple (_Tuple_impl<>::_Tuple_impl(const _Tuple_impl&)):
Defaulted.

* include/std/tuple (tuple<typename _T1, typename _T2>
::operator=(pair<_U1, _U2>&&)): Use forward.

From-SVN: r163049

14 years ago* ipa-split.c (find_split_points): Free stack.
Nathan Froyd [Tue, 10 Aug 2010 03:00:37 +0000 (03:00 +0000)]
* ipa-split.c (find_split_points): Free stack.

From-SVN: r163048

14 years agotree.h (tree_node_kind): Delete.
Nathan Froyd [Tue, 10 Aug 2010 02:51:40 +0000 (02:51 +0000)]
tree.h (tree_node_kind): Delete.

* tree.h (tree_node_kind) [perm_list_kind,temp_list_kind]: Delete.
* tree.c (tree_node_kind): Delete corresponding entries.

From-SVN: r163047

14 years agoDaily bump.
GCC Administrator [Tue, 10 Aug 2010 00:17:01 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r163046

14 years agore PR c++/45236 ([C++0x] Can't access nested type of a partial class specialization...
Jason Merrill [Mon, 9 Aug 2010 21:13:12 +0000 (17:13 -0400)]
re PR c++/45236 ([C++0x] Can't access nested type of a partial class specialization involving variadic parameters)

PR c++/45236
* pt.c (lookup_template_class): Don't re-coerce outer parms.

From-SVN: r163042

14 years agore PR fortran/44235 (array temporary with high upper bound)
Thomas Koenig [Mon, 9 Aug 2010 19:34:49 +0000 (19:34 +0000)]
re PR fortran/44235 (array temporary with high upper bound)

2010-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/44235
* array.c (gfc_ref_dimen_size):  Add end argument.
If end is non-NULL, calculate it.
(ref_size):  Adjust call to gfc_ref_dimen_size.
(gfc_array_dimen_size):  Likewise.
(gfc_array_res_shape):  Likewise.
* gfortran.h:  Adjust prototype for gfc_ref_dimen_size.
* resolve.c (resolve_array_ref):  For stride not equal to -1,
fill in the lowest possible end.

2010-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/44235
* gfortran.dg/dependency_32.f90:  New test.

From-SVN: r163041

14 years agointrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.
Janus Weil [Mon, 9 Aug 2010 18:32:09 +0000 (20:32 +0200)]
intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.

2010-08-09  Janus Weil  <janus@gcc.gnu.org>

* intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.

From-SVN: r163039

14 years agoRemove unused ret.
H.J. Lu [Mon, 9 Aug 2010 15:57:13 +0000 (15:57 +0000)]
Remove unused ret.

2010-08-09  H.J. Lu  <hongjiu.lu@intel.com>

* alias.c (may_alias_p): Remove unused ret.

From-SVN: r163038

14 years agoddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of alias_sets_confli...
Bingfeng Mei [Mon, 9 Aug 2010 14:44:03 +0000 (14:44 +0000)]
ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of alias_sets_conflict_p.

2010-08-09  Bingfeng Mei  <bmei@broadcom.com>

* ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
alias_sets_conflict_p.
(walk_mems_1): Moved from alias.c.
(insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
in alias.c.
        (add_inter_loop_mem_dep): Use insns_may_alias_p now.
        * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
        * alias.c (walk_mems_2): Moved to ddg.c.
(walk_mems_1): Ditto.
(insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
to ddg.c.
(nonoverlapping_memrefs_p): Add flag to guard offset-based memory
disambiguation.
*(may_alias_p): New function to check whether two memory expression
may alias or not. Currently used in buidling inter-iteration memory
dependence.
*alias.h (nonoverlapping_memrefs_p): New flag as third argument.
(insn_alias_sets_conflict_p): Removed
*rtl.h (may_alias_p): New function prototype.

From-SVN: r163037

14 years agotree.c (nreverse): Assert that we don't have a BLOCK.
Nathan Froyd [Mon, 9 Aug 2010 14:36:50 +0000 (14:36 +0000)]
tree.c (nreverse): Assert that we don't have a BLOCK.

gcc/
* tree.c (nreverse): Assert that we don't have a BLOCK.

gcc/ada/
* gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.

From-SVN: r163036

14 years agocall.c (add_builtin_candidates): Use VECs for local variable `types'.
Nathan Froyd [Mon, 9 Aug 2010 14:30:39 +0000 (14:30 +0000)]
call.c (add_builtin_candidates): Use VECs for local variable `types'.

* call.c (add_builtin_candidates): Use VECs for local variable
`types'.  Adjust remainder of function accordingly.

From-SVN: r163035

14 years agoname-lookup.c (is_associated_namespace): Convert local variables to be VECs instead...
Nathan Froyd [Mon, 9 Aug 2010 14:28:47 +0000 (14:28 +0000)]
name-lookup.c (is_associated_namespace): Convert local variables to be VECs instead of TREE_LISTs.

* name-lookup.c (is_associated_namespace): Convert local variables
to be VECs instead of TREE_LISTs.

From-SVN: r163034

14 years agobuiltins.c (fold_builtin_next_arg): Use stdarg_p.
Nathan Froyd [Mon, 9 Aug 2010 14:07:58 +0000 (14:07 +0000)]
builtins.c (fold_builtin_next_arg): Use stdarg_p.

gcc/
* builtins.c (fold_builtin_next_arg): Use stdarg_p.
* config/arm/arm.c (arm_get_pcs_model): Likewise.
* config/avr/avr.c (init_cumulative_args): Likewise.
* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
* config/m68k/m68k.c (m68k_return_pops_args): Likewise.
* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
* config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
* dwarf2out.c (gen_subprogram_die): Likewise.
* function.c (allocate_struct_function): Likewise.
* c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
(deserves_ellipsis): Delete.

gcc/cp/
* tree.c (varargs_function_p): Use stdarg_p.

From-SVN: r163033

14 years agotree-ssa-copy.c (cached_last_copy_of): Remove.
Richard Guenther [Mon, 9 Aug 2010 13:20:11 +0000 (13:20 +0000)]
tree-ssa-copy.c (cached_last_copy_of): Remove.

2010-08-07  Richard Guenther  <rguenther@suse.de>

* tree-ssa-copy.c (cached_last_copy_of): Remove.
(valueize_val): New function.
(get_last_copy_of): Remove.
(set_copy_of_val): Simplify.
(dump_copy_of): Likewise.
(copy_prop_visit_cond_stmt): Use valueize_val.
(copy_prop_visit_phi_node): Properly handle unvisited names.
Drop code managing copy-of chains.
(init_copy_prop): Adjust.
(fini_copy_prop): Likewise.
(execute_copy_prop): Remove obsolete comment.

From-SVN: r163032

14 years agore PR tree-optimization/44632 (wrong code for complex division)
Richard Guenther [Mon, 9 Aug 2010 13:18:08 +0000 (13:18 +0000)]
re PR tree-optimization/44632 (wrong code for complex division)

2010-08-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/44632
* function.c (gimplify_parameters): Do not clear addressable
bit of the original parameter.

* g++.dg/opt/nrv17.C: New testcase.

From-SVN: r163031