Commit Graph

102249 Commits

Author SHA1 Message Date
Jonathan Wakely 73571bf1e2 re PR libstdc++/45283 (performance/30_threads/future/polling.cc fails at compile time)
2010-08-14  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/45283
	* testsuite/performance/30_threads/future/polling.cc: Replace calls to
	shared_future::is_ready.

From-SVN: r163250
2010-08-14 21:00:55 +01:00
Richard Sandiford 6d1e1a26d9 re PR target/43358 (IRA: internal compiler error: in pool_free, at alloc-pool.c:335)
gcc/
	PR rtl-optimization/43358
	* ira-lives.c (process_single_reg_class_operands): Adjust the costs
	of a single hard register, using simplify_subreg_regno to decide
	what that register should be.

From-SVN: r163249
2010-08-14 19:59:13 +00:00
Mingjie Xing 73a949c0ba 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* gcc.dg/vect/fast-math-vect-reduc-8.c: Move
	dg-require-effective-target after dg-do.

From-SVN: r163248
2010-08-14 19:48:21 +00:00
Mingjie Xing 0d108d1595 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/testsuite/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* lib/target-supports.exp (check_effective_target_vect_int): Return
	true for Loongson targets.
	(check_effective_target_vect_shift): Likewise.
	(check_effective_target_vect_no_int_max): Likewise.
	(check_effective_target_vect_no_align): Likewise.
	(check_effective_target_vect_short_mult): Likewise.

From-SVN: r163247
2010-08-14 19:46:25 +00:00
Mingjie Xing a44ecea126 2010-xx-xx Mingjie Xing <mingjie.xing@gmail.com>
gcc/
2010-xx-xx  Mingjie Xing  <mingjie.xing@gmail.com>

	* config/mips/mips.c (CODE_FOR_loongson_pmullh): Define.
	* config/mips/loongson.md (UNSPEC_LOONGSON_PMULL): Delete.
	(loongson_pmull<V_suffix>): Rename to...
	(mul<mode>3): ...this and use MULT instead of an UNSPEC.

From-SVN: r163246
2010-08-14 19:42:04 +00:00
Jerry DeLisle c613801e8b re PR fortran/44931 (For INPUT_UNIT, INQUIRE NAME= should not return "stdin")
2010-08-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/44931
	* io/inquire.c (inquire_via_unit): Add special case for __MINGW32__ to
	return special file names CONIN$, CONOUT$, and CONERR$.

From-SVN: r163245
2010-08-14 18:59:18 +00:00
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