Commit Graph

102229 Commits

Author SHA1 Message Date
Changpeng Fang
3cb35c1250 pr45241 give up dot_prod pattern searching if stmt is outside the loop.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Give
	up dot_prod pattern searching if a stmt is outside the loop.

	* gcc.dg/vect/no-tree-pre-pr45241.c: New.

From-SVN: r163207
2010-08-12 22:18:32 +00:00
Tom Tromey
95718cf89d * gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
(natGenerateSeed): Add missing "::".

From-SVN: r163199
2010-08-12 18:23:32 +00:00
Uros Bizjak
b2cd104263 pr40906-1.c: Add -fno-asynchronous-unwind-tables to dg-options.
* gcc.target/i386/pr40906-1.c: Add -fno-asynchronous-unwind-tables
	to dg-options.
	* gcc.target/i386/pr40906-2.c: Ditto.
	* gcc.target/i386/pr40906-3.c: Ditto.

From-SVN: r163198
2010-08-12 20:20:44 +02:00
H.J. Lu
d79389af14 Turn on -fomit-frame-pointer by default for 32bit Linux/x86.
2010-08-12  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* config.gcc: Handle --enable-frame-pointer.

	* configure.ac: Add --enable-frame-pointer.
	* configure: Regenerated.

	* config/i386/i386.c (USE_IX86_FRAME_POINTER): Default to 0.
	(override_options): If not configured with --enable-frame-pointer,
	enable -fomit-frame-pointer (but not for TARGET_MACHO or when
	optimizing for size), -fasynchronous-unwind-tables and
	-maccumulate-outgoing-args by default.

Co-Authored-By: Uros Bizjak <ubizjak@gmail.com>

From-SVN: r163196
2010-08-12 09:39:37 -07:00
Jakub Jelinek
a8c5681878 re PR middle-end/45262 (Optimization results in wrong result on expression x>>31||(-x)>>31)
PR middle-end/45262
	* fold-const.c (make_range) <case NEGATE_EXPR>: Punt if
	-a overflows.  Normalize the range.

	* gcc.c-torture/execute/pr45262.c: New test.

From-SVN: r163193
2010-08-12 17:21:34 +02:00
Jakub Jelinek
d2be807154 builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare
	warning.

From-SVN: r163192
2010-08-12 16:32:25 +02:00
Uros Bizjak
07fd92beab profile-generate-3.c: Call dg-require-profiling with empty argument.
* gcc.dg/profile-generate-3.c: Call dg-require-profiling with
	empty argument.
	* g++.dg/other/profile1.C: Ditto.

From-SVN: r163191
2010-08-12 12:42:59 +02:00
Richard Guenther
2d698d3bb7 re PR tree-optimization/45232 (tree reassociation introduces undefined overflow)
2010-08-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45232
	* tree-ssa-reassoc.c (can_reassociate_p): Disable re-association
	for types with undefined overflow.
	(reassociate_bb): Allow re-associating of bit and min/max
	operations for types with undefined overflow.
	* tree-ssa-forwprop.c (associate_plusminus): New function.
	(tree_ssa_forward_propagate_single_use_vars): Call it.

	* gcc.dg/tree-ssa/pr44133.c: Adjust warning location.
	* gcc.dg/tree-ssa/loop-7.c: Adjust.
	* gcc.dg/tree-ssa/reassoc-1.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-20.c: Add reassoc-1.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-14.c: Use unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-15.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-18.c: Likewise.
	* gcc.dg/tree-ssa/reassoc-2.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-21.c: Add reassoc-2.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-6.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-22.c: Add reassoc-6.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-7.c: Use unsigned arithmetic.
	* gcc.dg/tree-ssa/reassoc-9.c: XFAIL.
	* gcc.dg/tree-ssa/reassoc-23.c: Add reassoc-9.c variant with
	unsigned arithmetic.
	* gcc.dg/tree-ssa/ssa-pre-2.c: Adjust.
	* gcc.dg/tree-ssa/negate.c: Adjust.
	* gcc.dg/vect/vect-1.c: Adjust.
	* gfortran.dg/reassoc_6.f: XFAIL.

From-SVN: r163190
2010-08-12 10:38:05 +00:00
Richard Guenther
1be38ccb1b tree-flow.h (struct ptr_info_def): Add align and misalign fields.
2010-08-12  Richard Guenther  <rguenther@suse.de>

	* tree-flow.h (struct ptr_info_def): Add align and misalign fields.
	* tree-ssa-alias.c (get_ptr_info): Move ...
	* tree-ssanames.c (get_ptr_info): ... here.  Initialize
	align and misalign fields conservatively.
	* tree-ssa-ccp.c (ccp_finalize): From partially constant pointers
	derive alignment information.
	(evaluate_stmt): Derive alignment information from memory
	allocation functions.
	* tree.h (get_pointer_alignment): Make unsigned.
	* builtins.c (get_object_alignment): Use alignment information we
	have computed for pointers.
	(get_pointer_alignment): Likewise.  Make conservative, return
	and unsigned value.
	(expand_builtin_strlen): Adjust.
	(expand_builtin_memcmp): Likewise.
	(expand_builtin_strcmp): Likewise.
	(expand_builtin_strncmp): Likewise.
	(get_builtin_sync_mem): Use at least mode alignment.
	(fold_builtin_memset): Adjust.
	(fold_builtin_memory_op): Likewise.
	* gimple-pretty-print.c (dump_gimple_phi): Alongside alias
	information also dump pointer alignment knowledge.
	(dump_gimple_stmt): Likewise.

From-SVN: r163189
2010-08-12 10:36:08 +00:00
Uros Bizjak
a96ad3486e i386.c (LONG_TYPE_SIZE): Remove.
* config/i386/i386.c (LONG_TYPE_SIZE): Remove.
	(EMPTY_FIELD_BOUNDARY): Remove.
	* config/i386/i386-interix.h (PCC_BITFIELD_TYPE_MATTERS): Remove.

From-SVN: r163188
2010-08-12 12:12:32 +02:00
Jakub Jelinek
49b48605c8 re PR debug/45259 (ICE in save_call_clobbered_regs)
PR debug/45259
	* caller-save.c (save_call_clobbered_regs): Only swap notes with
	DEBUG_INSNs if n_regs_saved.

	* gcc.dg/pr45259.c: New test.

From-SVN: r163185
2010-08-12 11:04:48 +02:00
Wei Guozhi
3565ffedc8 arm.md (andsi3): Change to zero extension if possible.
* config/arm/arm.md (andsi3): Change to zero extension if possible.

	* config/arm/thumb2.md (thumb2_zero_extendqisi2_v6): Change the name.

	* gcc.target/arm/pr44999.c: New testcase.

From-SVN: r163184
2010-08-12 02:03:59 +00:00
GCC Administrator
835e673451 Daily bump.
From-SVN: r163182
2010-08-12 00:18:50 +00:00
Paolo Carlini
afb767b41f hashtable.h (_Hashtable<>::erase(const key_type&)): Use std::__addressof.
2010-08-11  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::erase(const key_type&)):
	Use std::__addressof.

	* include/bits/forward_list.tcc (forward_list<>::remove): Deal
	correctly with &__tmp->_M_value == &__val.
	* testsuite/23_containers/forward_list/operations/remove_freed.cc:
	New.

From-SVN: r163178
2010-08-11 23:59:35 +00:00
Jie Zhang
53d8d5c17d interchange-9.c (M): Define to be 111.
* gcc.dg/graphite/interchange-9.c (M): Define to be 111.
	(N): Likewise.
	(main): Adjust accordingly.

From-SVN: r163177
2010-08-11 23:38:53 +00:00
Vladimir Makarov
183c87cdb1 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
2010-08-11 22:09:53 +00:00
Sebastian Pop
cb5da135b0 Fix Changelog entries.
From-SVN: r163170
2010-08-11 20:31:32 +00:00
Sebastian Pop
9707eeb0cf 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
2010-08-11 20:31:24 +00:00
Sebastian Pop
974335d63c 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
2010-08-11 20:31:14 +00:00
Sebastian Pop
aa91c4cc4d Fix typos.
From-SVN: r163167
2010-08-11 20:31:04 +00:00
Andreas Simbuerger
854376338b 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
2010-08-11 20:30:56 +00:00
Andreas Simbuerger
1461761bf9 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
2010-08-11 20:30:49 +00:00
Andreas Simbuerger
60f8785522 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
2010-08-11 20:30:41 +00:00
Andreas Simbuerger
4431102bf0 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
2010-08-11 20:30:34 +00:00
Andreas Simbuerger
ac3b070a2f 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
2010-08-11 20:30:26 +00:00
Andreas Simbuerger
2bbb190a98 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
2010-08-11 20:30:18 +00:00
Sebastian Pop
5d737345de 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
2010-08-11 20:30:09 +00:00
Sebastian Pop
ab756588ce 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
2010-08-11 20:29:59 +00:00
Sebastian Pop
4ee23fa874 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
2010-08-11 20:29:51 +00:00
Sebastian Pop
1c2a7491be 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
2010-08-11 20:29:43 +00:00
Sebastian Pop
320532a817 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
2010-08-11 20:29:35 +00:00
Sebastian Pop
2847388e9f 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
2010-08-11 20:29:25 +00:00
Vladimir Kargov
ed941c415a 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
2010-08-11 20:29:17 +00:00
Vladimir Kargov
f4ce375dd8 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
2010-08-11 20:29:10 +00:00
Vladimir Kargov
15d17127b2 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
2010-08-11 20:29:02 +00:00
Sebastian Pop
a7d00e71ed Do not translate out-of-SSA close phi nodes that can be analyzed with scev.
2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Add an
	extra parameter for the region.  Call scev_analyzable_p.
	(rewrite_reductions_out_of_ssa): Update call to
	rewrite_close_phi_out_of_ssa.
	(rewrite_cross_bb_phi_deps): Same.
	(rewrite_commutative_reductions_out_of_ssa_loop): Add an extra
	parameter for the region.  Call scev_analyzable_p.
	(rewrite_commutative_reductions_out_of_ssa): Update call to
	rewrite_commutative_reductions_out_of_ssa_loop.

From-SVN: r163151
2010-08-11 20:28:54 +00:00
Sebastian Pop
5df5f257f5 Add testcase for PR20742.
2010-07-20  Sebastian Pop  <sebastian.pop@amd.com>

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

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

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

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

From-SVN: r163149
2010-08-11 20:28:38 +00:00
Sebastian Pop
87b28340fd Do not rewrite out of SSA scalar phi nodes that can be scev_analyzable_p.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (reduction_phi_p): Do not rewrite out of
	SSA scalar phi nodes that can be scev_analyzable_p.

	* gfortran.dg/graphite/id-20.f: Adjust testcase.

From-SVN: r163148
2010-08-11 20:28:31 +00:00
Sebastian Pop
3dd2dd5736 Correctly handle SSA_NAME_IS_DEFAULT_DEF in rewrite_close_phi_out_of_ssa.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

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

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

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

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

From-SVN: r163146
2010-08-11 20:28:15 +00:00
Sebastian Pop
8af6d9cdfe Special case non close-phi nodes with one argument in rewrite_close_phi_out_of_ssa.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Special
	case non close-phi nodes with one argument.

From-SVN: r163145
2010-08-11 20:28:07 +00:00
Sebastian Pop
f36fc876e2 Scevs could be expressions without chrecs and still be scev_analyzable_p.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* sese.h (scev_analyzable_p): Scevs could be expressions without
	chrecs and still be scev_analyzable_p.

From-SVN: r163144
2010-08-11 20:27:59 +00:00
Sebastian Pop
57fe3c878f Bump the size of scevs.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

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

From-SVN: r163143
2010-08-11 20:27:51 +00:00
Sebastian Pop
a0d1afb3af Remove uses of loop->single_iv.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* cfgloop.c (alloc_loop): Remove initialization of loop->single_iv.
	* cfgloop.h (struct loop): Remove single_iv field.
	* graphite-sese-to-poly.c (graphite_loop_normal_form): Removed.
	(scop_canonicalize_loops): Removed.
	(scop_ivs_can_be_represented): Do not use loop->single_iv.  Iterate
	over all the loop phi nodes in loop->header.
	(build_poly_scop): Remove use of scop_canonicalize_loops.

From-SVN: r163142
2010-08-11 20:27:43 +00:00
Sebastian Pop
dba9acfad3 Also handle GIMPLE_CALLs in rewrite_cross_bb_scalar_deps.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

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

From-SVN: r163141
2010-08-11 20:27:35 +00:00
Sebastian Pop
8b0592326b chrec_apply should only apply to the specified variable.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-chrec.c (chrec_apply): Should only apply to the specified
	variable.  Also handle multivariate chains of recurrences that
	satisfy evolution_function_is_affine_p.  Also handle CASE_CONVERT.

From-SVN: r163140
2010-08-11 20:27:27 +00:00
Sebastian Pop
2e286fd2f9 Remove expand_scalar_variables_ hack.
2010-07-15  Sebastian Pop  <sebastian.pop@amd.com>

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

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

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

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

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

From-SVN: r163137
2010-08-11 20:27:02 +00:00