Daniel Kraft [Sun, 15 Aug 2010 15:28:10 +0000 (17:28 +0200)]
re PR fortran/45197 ([F2008] Allow IMPURE elemental procedures)
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL
routines not IMPURE also as PURE.
* intrinsic.c (enum klass): New class `CLASS_PURE' and renamed
`NO_CLASS' in `CLASS_IMPURE'.
(add_sym): Set symbol-attributes `pure' and `elemental' correctly.
(add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'.
(add_functions): Ditto.
(add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE.
* resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE.
(resolve_formal_arglist): Check that arguments to ELEMENTAL procedures
are not ALLOCATABLE and have their INTENT specified.
2010-08-15 Daniel Kraft <d@domob.eu>
PR fortran/45197
* gfortran.dg/elemental_args_check_3.f90: New test.
* gfortran.dg/impure_1.f08: New test.
* gfortran.dg/impure_2.f08: New test.
* gfortran.dg/impure_3.f90: New test.
* gfortran.dg/typebound_proc_6.f03: Changed expected error message.
From-SVN: r163261
Ira Rosen [Sun, 15 Aug 2010 07:00:32 +0000 (07:00 +0000)]
tree-vect-data-refs.c (vect_setup_realignment): Support realignment in basic blocks.
* tree-vect-data-refs.c (vect_setup_realignment): Support realignment
in basic blocks.
(vect_supportable_dr_alignment): Check alignment for basic blocks.
* tree-vect-slp.c (vect_build_slp_tree): Allow different codes for
data references.
(vect_bb_vectorization_profitable_p): New function.
(vect_slp_analyze_bb): Call vect_bb_vectorization_profitable_p() to
check if it's worthwhile to vectorize the basic block.
From-SVN: r163260
GCC Administrator [Sun, 15 Aug 2010 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163258
Gerald Pfeifer [Sat, 14 Aug 2010 23:02:37 +0000 (23:02 +0000)]
Fix up ChangeLog entry for the last commit.
From-SVN: r163254
Gerald Pfeifer [Sat, 14 Aug 2010 22:57:37 +0000 (22:57 +0000)]
* gcc_release (CVSROOT): Remove all occurrences.
From-SVN: r163253
Anatoly Sokolov [Sat, 14 Aug 2010 21:46:11 +0000 (01:46 +0400)]
reload.h (register_move_cost, [...]): Adjust prototype.
* reload.h (register_move_cost, memory_move_secondary_cost,
secondary_reload_class): Adjust prototype.
* rtl.h (reg_class_subset_p): Adjust prototype.
* reload.c (secondary_reload_class): Change arguments type from
enum reg_class to reg_class_t. Change result type to reg_class_t.
* reginfo.c (register_move_cost, reg_class_subset_p): Change
arguments type from enum reg_class to reg_class_t.
(memory_move_secondary_cost): Change arguments type from
enum reg_class to reg_class_t. Change type of saved_flags to
reg_class_t.
* config/mips/mips.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
Remove macros.
(mips_cost): Remove.
(struct mips_rtx_cost_data): Moved to mips.c.
* config/mips/mips-protos.h (mips_register_move_cost): Remove.
* config/mips/mips.c (struct mips_rtx_cost_data): Moved from mips.h.
(mips_cost): Make static.
(mips_canonicalize_move_class): Change argument type to reg_class_t.
Change result type to reg_class_t.
(mips_move_to_gpr_cost, mips_move_from_gpr_cost): Change arguments
type from enum reg_class to reg_class_t.
(mips_register_move_cost): Make static. Change arguments
type from enum reg_class to reg_class_t.
(mips_memory_move_cost): New function.
(TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
From-SVN: r163252
Gerald Pfeifer [Sat, 14 Aug 2010 21:42:16 +0000 (21:42 +0000)]
gcc_release (snapshot_print): Include md5 hash for every tarball in the README file and notification mail.
* gcc_release (snapshot_print): Include md5 hash for every tarball
in the README file and notification mail.
From-SVN: r163251
Jonathan Wakely [Sat, 14 Aug 2010 20:00:55 +0000 (20:00 +0000)]
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
Richard Sandiford [Sat, 14 Aug 2010 19:59:13 +0000 (19:59 +0000)]
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
Mingjie Xing [Sat, 14 Aug 2010 19:48:21 +0000 (19:48 +0000)]
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
Mingjie Xing [Sat, 14 Aug 2010 19:46:25 +0000 (19:46 +0000)]
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
Mingjie Xing [Sat, 14 Aug 2010 19:42:04 +0000 (19:42 +0000)]
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
Jerry DeLisle [Sat, 14 Aug 2010 18:59:18 +0000 (18:59 +0000)]
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
Uros Bizjak [Sat, 14 Aug 2010 12:32:14 +0000 (14:32 +0200)]
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
Paolo Carlini [Sat, 14 Aug 2010 01:00:23 +0000 (01:00 +0000)]
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
GCC Administrator [Sat, 14 Aug 2010 00:17:06 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163235
Paolo Carlini [Sat, 14 Aug 2010 00:09:21 +0000 (00:09 +0000)]
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
Jack Howarth [Fri, 13 Aug 2010 17:06:42 +0000 (17:06 +0000)]
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
Paolo Carlini [Fri, 13 Aug 2010 13:08:09 +0000 (13:08 +0000)]
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
Paolo Carlini [Fri, 13 Aug 2010 11:48:34 +0000 (11:48 +0000)]
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
Nick Clifton [Fri, 13 Aug 2010 11:36:38 +0000 (11:36 +0000)]
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
Daniel Kraft [Fri, 13 Aug 2010 07:26:05 +0000 (09:26 +0200)]
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
Jerry DeLisle [Fri, 13 Aug 2010 05:14:18 +0000 (05:14 +0000)]
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
Jie Zhang [Fri, 13 Aug 2010 01:43:43 +0000 (01:43 +0000)]
arm.md (cstoredf4): Only valid when !TARGET_VFP_SINGLE.
* config/arm/arm.md (cstoredf4): Only valid when
!TARGET_VFP_SINGLE.
From-SVN: r163219
GCC Administrator [Fri, 13 Aug 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r163218
Kostya Serebryany [Thu, 12 Aug 2010 22:56:59 +0000 (22:56 +0000)]
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
Joseph Myers [Thu, 12 Aug 2010 22:52:49 +0000 (23:52 +0100)]
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
Changpeng Fang [Thu, 12 Aug 2010 22:18:32 +0000 (22:18 +0000)]
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
Tom Tromey [Thu, 12 Aug 2010 18:23:32 +0000 (18:23 +0000)]
* gnu/java/security/jce/prng/natVMSecureRandomWin32.cc
(natGenerateSeed): Add missing "::".
From-SVN: r163199
Uros Bizjak [Thu, 12 Aug 2010 18:20:44 +0000 (20:20 +0200)]
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
H.J. Lu [Thu, 12 Aug 2010 16:39:37 +0000 (16:39 +0000)]
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
Jakub Jelinek [Thu, 12 Aug 2010 15:21:34 +0000 (17:21 +0200)]
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
Jakub Jelinek [Thu, 12 Aug 2010 14:32:25 +0000 (16:32 +0200)]
builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare warning.
* builtins.c (fold_builtin_memory_op): Avoid -Wsign-compare
warning.
From-SVN: r163192
Uros Bizjak [Thu, 12 Aug 2010 10:42:59 +0000 (12:42 +0200)]
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
Richard Guenther [Thu, 12 Aug 2010 10:38:05 +0000 (10:38 +0000)]
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
Richard Guenther [Thu, 12 Aug 2010 10:36:08 +0000 (10:36 +0000)]
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
Uros Bizjak [Thu, 12 Aug 2010 10:12:32 +0000 (12:12 +0200)]
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
Jakub Jelinek [Thu, 12 Aug 2010 09:04:48 +0000 (11:04 +0200)]
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
Wei Guozhi [Thu, 12 Aug 2010 02:03:59 +0000 (02:03 +0000)]
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
GCC Administrator [Thu, 12 Aug 2010 00:18:50 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r163182
Paolo Carlini [Wed, 11 Aug 2010 23:59:35 +0000 (23:59 +0000)]
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
Jie Zhang [Wed, 11 Aug 2010 23:38:53 +0000 (23:38 +0000)]
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
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