Commit Graph

102243 Commits

Author SHA1 Message Date
Uros Bizjak
41f3efb58d cast.C: Change fields of structures to "long" to pass the test on targets with...
* g++.dg/cast.C: Change fields of structures to "long" to pass
	the test on targets with STRUCTURE_SIZE_BOUNDARY != BITS_PER_UNIT.
	* g++.dg/cpp0x/iop.C: Ditto.
	* g++.dg/cpp0x/named_refs.C: Ditto.
	* g++.dg/cpp0x/rv1p.C: Ditto.
	* g++.dg/cpp0x/rv2p.C: Ditto.
	* g++.dg/cpp0x/rv3p.C: Ditto.
	* g++.dg/cpp0x/rv4p.C: Ditto.
	* g++.dg/cpp0x/rv5p.C: Ditto.
	* g++.dg/cpp0x/rv6p.C: Ditto.
	* g++.dg/cpp0x/rv7p.C: Ditto.
	* g++.dg/cpp0x/rv8p.C: Ditto.
	* g++.dg/cpp0x/unnamed_refs.C: Ditto.

From-SVN: r163240
2010-08-14 14:32:14 +02:00
Paolo Carlini
417e896ead hashtable.h (_Hashtable<>::operator=(const _Hashtable&)): Move inline.
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/hashtable.h (_Hashtable<>::operator=(const
	_Hashtable&)): Move inline.
	(operator=(_Hashtable&&)): Define.
	* include/bits/unordered_map.h (unordered_map(unordered_map&&),
	unordered_map(const unordered_map&), unordered_multimap
	(unordered_multimap&&), unordered_multimap(const unordered_multimap&),
	__unordered_map(__unordered_map&&), __unordered_map(const
	__unordered_map&), __unordered_multimap(__unordered_multimap&&),
	__unordered_multimap(const __unordered_multimap&)): Do not define,
	leave implicit.
	* include/bits/unordered_set.h (unordered_set(unordered_set&&),
	unordered_set(const unordered_set&), unordered_multiset
	(unordered_multiset&&), unordered_multiset(const unordered_multiset&),
	__unordered_set(__unordered_set&&), __unordered_set(const
	__unordered_set&), __unordered_multiset(__unordered_multiset&&),
	__unordered_multiset(const __unordered_multiset&)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(initializer_list<>),
	__unordered_map<>::operator=(initializer_list<>),
	__unordered_multimap(initializer_list<>), __unordered_multimap<>::
	operator=(initializer_list<>)): Add.
	* include/bits/unordered_set.h (__unordered_set(initializer_list<>),
	__unordered_set<>::operator=(initializer_list<>),
	__unordered_multiset(initializer_list<>), __unordered_multiset<>::
	operator=(initializer_list<>)): Likewise.

	* include/bits/unordered_map.h (__unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Fix __n default to 0.
	* include/bits/unordered_set.h (__unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/debug/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_map (unordered_map(_InputIterator,
	_InputIterator, size_type __n), unordered_map(initializer_list<>,
	size_type __n), unordered_map(_InputIterator, _InputIterator,
	size_type __n), unordered_multimap(initializer_list<>, size_type __n)):
	Likewise.
	* include/profile/unordered_set (unordered_set(_InputIterator,
	_InputIterator, size_type __n), unordered_set(initializer_list<>,
	size_type __n), unordered_set(_InputIterator, _InputIterator,
	size_type __n), unordered_multiset(initializer_list<>, size_type __n)):
	Likewise.

From-SVN: r163236
2010-08-14 01:00:23 +00:00
GCC Administrator
e3f5a69d0c Daily bump.
From-SVN: r163235
2010-08-14 00:17:06 +00:00
Paolo Carlini
10260b86aa re PR libstdc++/45281 (performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc fails at compile time)
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/45281
	* include/bits/stl_queue.h (queue(queue&&), operator=(queue&&),
	priority_queue(priority_queue&&), operator=(priority_queue&&)):
	Remove, per CH 15.

From-SVN: r163231
2010-08-14 00:09:21 +00:00
Jack Howarth
1b2d411828 Enable -fomit-frame-pointer on darwin which support dwarf2.
2010-08-13  Jack Howarth <howarth@bromo.med.uc.edu>

	* gcc/configure.ac: Enable -fomit-frame-pointer on darwin
	which support dwarf2.
	* config/i386/i386.c (override_options): Same.

From-SVN: r163227
2010-08-13 10:06:42 -07:00
Paolo Carlini
7d74619b73 dr1189.cc: Move to...
2010-08-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* testsuite/23_containers/unordered_map/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_map/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_set/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_set/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multimap/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multimap/hash_policy/dr1189.cc:
	... here.
	* testsuite/23_containers/unordered_multiset/dr1189.cc: Move to...
	* testsuite/23_containers/unordered_multiset/hash_policy/dr1189.cc:
	... here.

	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: New.

From-SVN: r163224
2010-08-13 13:08:09 +00:00
Paolo Carlini
8c61f40011 ios_init.cc (ios_base::Init::~Init): Add back semicolon at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros...
2010-08-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* src/ios_init.cc (ios_base::Init::~Init): Add back semicolon
	at the end of the _GLIBCXX_SYNCHRONIZATION_HAPPENS* macros,
	removed by mistake.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* include/bits/c++config: Adjust comment.

From-SVN: r163223
2010-08-13 11:48:34 +00:00
Nick Clifton
ec760bea7f argv.c (expandargv): Limit the number of times that response files are opened in order to prevent...
* argv.c (expandargv): Limit the number of times that response
        files are opened in order to prevent infinite recursion.

From-SVN: r163222
2010-08-13 11:36:38 +00:00
Daniel Kraft
f5ca06e678 gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
2010-08-13  Daniel Kraft  <d@domob.eu>

	* gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'.
	* array.c (gfc_match_array_spec): Match implied-shape specification and
	handle AS_IMPLIED_SHAPE correctly otherwise.
	* decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape.
	(variable_decl): Some checks for implied-shape declaration.
	* resolve.c (resolve_symbol): Assert that array-spec is no longer
	AS_IMPLIED_SHAPE in any case.

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

	* gfortran.dg/implied_shape_1.f08: New test.
	* gfortran.dg/implied_shape_2.f90: New test.
	* gfortran.dg/implied_shape_3.f08: New test.

From-SVN: r163221
2010-08-13 09:26:05 +02:00
Jerry DeLisle
cf677bb867 re PR fortran/42526 (bogus truncation warning for default-initialized character components)
2010-08-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/42526
	* gfortran.dg/char_component_initializer_1.f90: New test.

From-SVN: r163220
2010-08-13 05:14:18 +00:00
Jie Zhang
9b821a0977 arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
* config/arm/arm.md (cstoredf4): Only valid when
	!TARGET_VFP_SINGLE.

From-SVN: r163219
2010-08-13 01:43:43 +00:00
GCC Administrator
fd34e37415 Daily bump.
From-SVN: r163218
2010-08-13 00:17:17 +00:00
Kostya Serebryany
be335b18a9 c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE, [...]): Add.
2010-08-12  Kostya Serebryany <kcc@google.com>
	    Paolo Carlini  <paolo.carlini@oracle.com>

	* include/bits/c++config (_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE,
	_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER): Add.
	* src/ios_init.cc (ios_base::Init::~Init): Decorate with the
	latter.
	* include/tr1_impl/boost_sp_counted_base.h: Likewise.
	* include/ext/rc_string_base.h: Likewise.
	* include/bits/locale_classes.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/ios_base.h: Likewise.
	* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error
	line number.
	* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
	* testsuite/ext/profile/mutex_extensions.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>

From-SVN: r163210
2010-08-12 22:56:59 +00:00
Joseph Myers
644fa7acbd gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and -MMD.
* gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
	-MMD.

c-family:
	* c.opt (MD, MMD): Change to MDX and MMDX.
	* c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.

fortran:
	* lang.opt (MD, MMD): Change to MDX and MMDX.
	* cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.

From-SVN: r163209
2010-08-12 23:52:49 +01:00
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