Vladimir Makarov [Wed, 11 Aug 2010 22:09:53 +0000 (22:09 +0000)]
ira-int.h (ira_remove_allocno_copy_from_list): Remove.
2010-08-11 Vladimir Makarov <vmakarov@redhat.com>
* ira-int.h (ira_remove_allocno_copy_from_list): Remove.
* ira-build.c (ira_remove_allocno_copy_from_list): Remove.
From-SVN: r163175
Sebastian Pop [Wed, 11 Aug 2010 20:31:32 +0000 (20:31 +0000)]
Fix Changelog entries.
From-SVN: r163170
Sebastian Pop [Wed, 11 Aug 2010 20:31:24 +0000 (20:31 +0000)]
Fix miscompile of 416.gamess.
2010-07-29 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add back
the case removed in the previous patch, when the only phi argument
is defined in the same loop as the phi node itself. Handle it
separately from the invariant case by both propagating it outside
the region and replacing the phi node with an assign.
From-SVN: r163169
Sebastian Pop [Wed, 11 Aug 2010 20:31:14 +0000 (20:31 +0000)]
Fix gamess: the only constant phi nodes with one argument are is_gimple_min_invariant and SSA_NAME_IS_DEFAULT_DEF.
2010-07-28 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): The only
constant phi nodes with one argument are is_gimple_min_invariant
and SSA_NAME_IS_DEFAULT_DEF.
* gfortran.dg/graphite/id-22.f: New.
From-SVN: r163168
Sebastian Pop [Wed, 11 Aug 2010 20:31:04 +0000 (20:31 +0000)]
Fix typos.
From-SVN: r163167
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:56 +0000 (20:30 +0000)]
Remove cloog_initialize and cloog_finalize when using official CLooG releases.
This requires to initialize the Parma Polyhedra Library by graphite,
as newer CLooG versions are not bound to a PPL backend.
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite.c (graphite_initialize): Do not initialize
CLooG and initialize the Parma Polyhedra Library
manually when using CLOOG_ORG.
(graphite_finalize): Do not finalize CLooG and finalize
the Parma Polyhedra Library manually when using CLOOG_ORG.
* graphite-cloog-compat.h (cloog_initialize): Hide function
when using CLOOG_ORG.
(cloog_finalize): Same.
From-SVN: r163166
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:49 +0000 (20:30 +0000)]
Adapt to new CloogScattering abstraction, introduced in official CLooG versions (CLOOG_ORG).
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-clast-to-gimple.c (free_scattering): Change
CloogDomainList/CloogDomain to CloogScatteringList/CloogScattering
(CLOOG_ORG).
(build_cloog_prog): Same.
* graphite-cloog-compat.h (cloog_domain): Removed.
(cloog_scattering): New.
(cloog_set_domain): Removed.
(cloog_set_scattering): New.
(cloog_next_domain): Removed.
(cloog_next_scattering): New.
(cloog_set_next_domain): Removed.
(cloog_set_next_scattering): New.
(CloogScatteringList): New.
(CloogScattering): New.
(cloog_scattering_free): New.
(new_Cloog_Scattering_from_ppl_Polyhedron): New.
* graphite-cloog-util.c (new_Cloog_Scattering_from_ppl_Polyhedron):
New.
From-SVN: r163165
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:41 +0000 (20:30 +0000)]
Introduce compatibility to newer CLooG's CloogState and mask the use with macros where possible.
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-clast-to-gimple.c (build_cloog_prog): Extend with
CloogState.
(set_cloog_options): Same.
(print_clast_stmt): Same.
(scop_to_clast): Same.
(print_generated_program): Same.
(gloog): Same.
* graphite-clast-to-gimple.h: Include graphite-cloog-util.h.
(scop_to_clast): Extend with CloogState.
* graphite-cloog-util.c: Include graphite-cloog-compat.h
(new_Cloog_Domain_from_ppl_Polyhedron):
Extend with CloogState. Use cloog_domain_from_cloog_matrix (CLOOG_ORG).
(new_Cloog_Domain_from_ppl_Pointset_Powerset): Extend with CloogState.
(new_Cloog_Domain_from_ppl_Polyhedron): Same.
* graphite-cloog-util.h (build_cloog_prog): Same.
* graphite-cloog-copat.h (build_cloog_prog): New.
(CloogState): New.
(cloog_state_malloc): New.
(cloog_state_free): New.
(cloog_loop_malloc): New.
(cloog_options_malloc): New.
(cloog_statement_alloc): New.
(cloog_domain_from_cloog_matrix): New.
(new_Cloog_Domain_from_ppl_Pointset_Powerset): New.
(new_Cloog_Domain_from_ppl_Polyhedron): New.
From-SVN: r163164
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:34 +0000 (20:30 +0000)]
Adapt to new CLAST structure within upstream CLooG version and retain compatibility to CLooG Legacy.
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-clast-to-gimple.c (clast_name_to_gcc): Parameter
type of NAME now depends on used CLooG version.
(clast_to_gcc_expression): Replace expr_* with clast_expr_*.
(gcc_type_for_clast_expr): Same.
(print_clast_stmt): Replace pprint with clast_pprint.
* graphite-cloog-compat.h: Provide compatibility macros for
CLooG Legacy.
(clast_name_p): New.
(clast_expr_term): New.
(clast_expr_red): New.
(clast_expr_bin): New.
(clast_pprint): New.
From-SVN: r163163
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:26 +0000 (20:30 +0000)]
Make CLooG options compatible to newer CLooG releases and pass options to build_cloog_prog (CLOOG_ORG).
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-clast-to-gimple.c (set_cloog_options): Make CLooG options
compatible to newer CLooG releases (CLOOG_ORG).
(build_cloog_prog): Pass CloogOptions to more functions (CLOOG_ORG).
(scop_to_clast): Pass CloogOptions to build_cloog_prog (CLOOG_ORG).
* graphite-cloog-compat.h: Add compatibility macros for CLooG Legacy.
(build_cloog_prog) : New.
(cloog_program_extract_scalars): New.
(cloog_program_scatter): New.
From-SVN: r163162
Andreas Simbuerger [Wed, 11 Aug 2010 20:30:18 +0000 (20:30 +0000)]
Reintroduce necessary CLooG accessors to graphite. Masked by CLOOG_ORG.
2010-07-27 Andreas Simbuerger <simbuerg@fim.uni-passau.de>
* graphite-clast-to-gimple.c: Include graphite-cloog-compat.h
conditionally (CLOOG_ORG).
* graphite-cloog-compat.h: New. Include graphite-cloog-compat.h.
(cloog_statement_usr): New.
(cloog_domain): Same.
(cloog_set_domain): Same.
(cloog_next_domain): Same.
(cloog_set_next_domain): Same.
(cloog_program_nb_scattdims): Same.
(cloog_program_set_nb_scattdims): Same.
(cloog_program_names): Same.
(cloog_program_set_names): Same.
(cloog_program_set_context): Same.
(cloog_program_set_loop): Same.
(cloog_program_blocklist): Same.
(cloog_program_set_blocklist): Same.
(cloog_program_scaldims): Same.
(cloog_program_set_scaldims): Same.
(cloog_names_nb_parameters): Same.
(cloog_names_set_nb_parameters): Same.
(cloog_names_parameters): Same.
(cloog_names_set_parameters): Same.
(cloog_names_set_nb_iterators): Same.
(cloog_names_set_iterators): Same.
(cloog_names_set_nb_scattering): Same.
(cloog_names_set_scattering): Same.
(cloog_statement_set_usr): Same.
(cloog_loop_set_next): Same.
(cloog_loop_set_domain): Same.
(cloog_loop_set_block): Same.
(cloog_block_list_next): Same.
(cloog_block_list_set_next):
(cloog_block_list_set_block): Same.
From-SVN: r163161
Sebastian Pop [Wed, 11 Aug 2010 20:30:09 +0000 (20:30 +0000)]
Call scev_reset_htab when Graphite out-of-SSA has changed something.
2010-07-27 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Returns
a bool.
(rewrite_commutative_reductions_out_of_ssa_close_phi): Same.
(rewrite_commutative_reductions_out_of_ssa_loop): Same.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Call scev_reset_htab
when something has been changed.
(rewrite_commutative_reductions_out_of_ssa): Same.
* gcc.dg/graphite/id-26.c: New.
From-SVN: r163160
Sebastian Pop [Wed, 11 Aug 2010 20:29:59 +0000 (20:29 +0000)]
Fix tonto: call propagate_expr_outside_region.
2010-07-26 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (propagate_expr_outside_region): Also
handle the case when def is in the sese region.
(rewrite_close_phi_out_of_ssa): Call propagate_expr_outside_region
for invariant expressions.
(rewrite_cross_bb_phi_deps): Removed.
(rewrite_cross_bb_scalar_deps): Also handle GIMPLE_PHI nodes.
(rewrite_cross_bb_scalar_deps_out_of_ssa): Do not call
rewrite_cross_bb_phi_deps.
From-SVN: r163159
Sebastian Pop [Wed, 11 Aug 2010 20:29:51 +0000 (20:29 +0000)]
Call scev_analyzable_p only on is_gimple_reg.
2010-07-26 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c
(rewrite_commutative_reductions_out_of_ssa_loop): Call
scev_analyzable_p only on is_gimple_reg
* gcc.dg/graphite/id-25.c: New.
From-SVN: r163158
Sebastian Pop [Wed, 11 Aug 2010 20:29:43 +0000 (20:29 +0000)]
Propagate constant values or parametric expressions outside the scop region.
2010-07-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (propagate_expr_outside_region): New.
(rewrite_close_phi_out_of_ssa): Propagate constant values or
parametric expressions outside the scop region.
(rewrite_cross_bb_scalar_deps): Same.
* sese.c (rename_uses): Use NULL_TREE instead of NULL for trees.
* gcc.dg/graphite/run-id-5.c: New.
* gcc.dg/graphite/run-id-6.c: New.
* gfortran.dg/graphite/id-21.f: New.
From-SVN: r163157
Sebastian Pop [Wed, 11 Aug 2010 20:29:35 +0000 (20:29 +0000)]
Use SSA_NAME_DEF_STMT only on SSA_NAMEs.
2010-07-22 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (rewrite_phi_out_of_ssa): Use
SSA_NAME_DEF_STMT only on SSA_NAMEs.
* gcc.dg/graphite/id-24.c: New.
From-SVN: r163156
Sebastian Pop [Wed, 11 Aug 2010 20:29:25 +0000 (20:29 +0000)]
Do not instantiate default definitions in instantiate_scev_name.
2010-07-22 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c (instantiate_scev_name): Do not
instantiate default definitions.
From-SVN: r163155
Vladimir Kargov [Wed, 11 Aug 2010 20:29:17 +0000 (20:29 +0000)]
Enhance region checks.
2010-07-20 Vladimir Kargov <kargov@gmail.com>
* graphite-scop-detection.c (is_valid_stmt_p): New.
(is_valid_bb_p): New.
From-SVN: r163154
Vladimir Kargov [Wed, 11 Aug 2010 20:29:10 +0000 (20:29 +0000)]
Add loop_exits_from_bb_p.
2010-07-20 Vladimir Kargov <kargov@gmail.com>
Sebastian Pop <sebastian.pop@amd.com>
* cfgloop.c (is_loop_exit): Renamed loop_exits_to_bb_p.
(loop_exits_from_bb_p): New.
* cfgloop.h (is_loop_exit): Renamed loop_exits_to_bb_p.
(loop_exits_from_bb_p): Declared.
* graphite-scop-detection.c (scopdet_basic_block_info): Call
loop_exits_to_bb_p.
Co-Authored-By: Sebastian Pop <sebastian.pop@amd.com>
From-SVN: r163153
Vladimir Kargov [Wed, 11 Aug 2010 20:29:02 +0000 (20:29 +0000)]
Dot refined regions.
2010-07-20 Vladimir Kargov <kargov@gmail.com>
* refined-regions.c: Include tree-pass.h, cfgloop.h, gimple.h, and
tree-data-ref.h.
(dot_regions_1): New.
(dot_regions): New.
* refined-regions.h (dot_regions): Declared.
* Makefile.in (refined-regions.o): Update dependences.
From-SVN: r163152
Sebastian Pop [Wed, 11 Aug 2010 20:28:54 +0000 (20:28 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 11 Aug 2010 00:17:14 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163085
Xinliang David Li [Tue, 10 Aug 2010 23:26:05 +0000 (23:26 +0000)]
Improve address offset range computation
From-SVN: r163081
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
Nathan Froyd [Tue, 10 Aug 2010 19:39:39 +0000 (19:39 +0000)]
fix ChangeLog typo
From-SVN: r163079
Nathan Froyd [Tue, 10 Aug 2010 19:27:18 +0000 (19:27 +0000)]
* coverage.c (ctr_labels): Delete.
From-SVN: r163078
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
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
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
Ramana Radhakrishnan [Tue, 10 Aug 2010 15:01:45 +0000 (15:01 +0000)]
Fix misformatted Changelog entry.
From-SVN: r163070
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
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
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
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
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
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
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
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
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
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